Tozyref J'ai vu tes autres postes et je pense que tu vas un peu trop vite et vois trop grand.
Ralentissons un peu la cadence.
Tu souhaite créer un personnage je présume.
As-tu déjà réalisé un prototype programmé avec un objet simple comme une capsule de personnage en mouvement ?
Si tu possède ces compétences et a réalisé un tel prototype avant de passer à un aspect graphique, demande toi maintenant si ton projet est déjà assez avancé pour commencer à effectuer ce genre de travail d'ajouts d'assets graphiques.
Si c'est bien le cas et j'insiste sur ce point, et que tu possède des connaissances et compétences en 3D, tu peux réaliser un modèle de personnage sur un logiciel comme Blender ou Maya.
Une fois que ton modèle est créé, il te faudra rigger ton personnage, c'est à dire lui créer un squelette. Il te faudra ensuite créer tes animations à base de keyFrames, travail long et douloureux.
Après tout ça, tu peux exporter ton personnage dans un format supporté par Unity, je te conseille le fbx mais il y en a d'autres.
Importe ce modèle dans Unity et il te faudra le paramétrer selon ce tutorial officiel :
http://unity3d.com/learn/tutorials/modules/intermediate/live-training-archive/setting-up-a-humanoid-avatar?playlist=17099
Désormais tu vas devoir apprendre à utiliser le mecanim http://unity3d.com/learn/tutorials/topics/animation/animator-component?playlist=17099
Et pour finir à travers du code assigner les variables de ton Animator Component pour actionner les animations du personnage.
Félicitation
J'ai beaucoup appuyé la difficulté de la tâche non pas pour te décourager mais pour te faire voir la chose avec plus de réalisme. Il faut commencer petit et je ne le dirais jamais assez, se forcer à apprendre par soit même, sans le support d'un 'tuteur' ou d'un forum (coucou ) pour devenir autodidacte, un aspect qui te sera très utile.
J'ai tout lu et merci pour tout.
Je me suis en effet trop vite concentré sur le coter graphique et je ne sais PAS DU TOUT coder (en plus Unity c'est du javascript je crois et il parait que c'est très dur) je vais donc reprendre calmement a 0 et essayer de faire une capsule de personnage en mouvement
Hum j'ai une NullReferenceException que j'arrive pas à comprendre.
Voici mes scripts :
http://pastebin.com/2UmGQWJJ (classes Node et PathNode)
http://pastebin.com/FBNMUZjY (classe Grid)
http://pastebin.com/Umzq0Df5 (classe UnitUI)
Le problème survient quand j'entre dans la fonction EnableMoveInterface de ma classe UnitUI, qui fait appel à la fonction ShowMoves de la classe Grid.
L'erreur m'envoie sur la ligne 85 du script Grid, dans la méthode GetNeighbours, à la ligne où je définis un entier i.
Pourtant quand je lance en debug toutes les variables utilisées sont bien attribuées. Voici l'état des variables à la ligne qui précède celle où ça plante :
Le message d'erreur exact :NullReferenceException: Object reference not set to an instance of an object
Grid.GetNeighbours (.Node _node) (at Assets/Scripts/Grid.cs:85)
Grid.ShowMoves (.Node _curNode, Int32 _move) (at Assets/Scripts/Grid.cs:111)
UnitUI.EnableMoveInterface () (at Assets/Scripts/UnitUI.cs:74)
UnitUI.Update () (at Assets/Scripts/UnitUI.cs:32)
Personne utilise uNet et pourrait m'aider ?
Je galère par rapport au fait que l'on ne puisse pas envoyer de [Command] en dehors du PlayerObject. J'aimerais pouvoir envoyer des [Command] depuis un GameObject qui n'est pas le Player mais qui aurait l'autorité, hors je ne sais pas si c'est possible et si oui comment donner l'autorité. (j'ai torché le manual uNet sur le site officiel, ça m'a beaucoup éclairé au niveau des [Command] et des [RpcClient] et autre mais ça m'a pas donné ma réponse à mon problème).
Est-ce que je devrais créer un topic à part pour mon problème ?
Je bloque déjà... je suivait un tuto pour qu'une camera suive un personnage, et j'ai reproduit le code exacte et... ça marche pas pour moi alors que dans le tuto ça marche. j'ai suivit toute les expliquation mais je ne trouve pas mon erreur. Voici le code :
private var targetCamera:Transform;
function Start () {
targetCamera = GameObject.Find("Target").transform;
}
function Update () {
transfom.position = Vector3.Lerp(transform.position,targetCamera.position,0.1);
}
et voici le message d'erreur : Assets/Scripts/Camera Mouvment.js(10,9): BCE0005: Unknown identifier: 'transfom'.
et voici le tuto :https://www.youtube.com/watch?v=qnfuvnoGALY
Le 24 juillet 2016 à 17:10:54 Tozyref a écrit :
Je bloque déjà... je suivait un tuto pour qu'une camera suive un personnage, et j'ai reproduit le code exacte et... ça marche pas pour moi alors que dans le tuto ça marche. j'ai suivit toute les expliquation mais je ne trouve pas mon erreur. Voici le code :
- pragma strict
private var targetCamera:Transform;
function Start () {
targetCamera = GameObject.Find("Target").transform;
}function Update () {
transfom.position = Vector3.Lerp(transform.position,targetCamera.position,0.1);
}et voici le message d'erreur : Assets/Scripts/Camera Mouvment.js(10,9): BCE0005: Unknown identifier: 'transfom'.
et voici le tuto :https://www.youtube.com/watch?v=qnfuvnoGALY
J'ai pas regardé le Tutoriel et ça fait un bon moment que je ne code plus en UnityScript, mais même en UnityScript je pense que c'est plutôt
targetCamera = GameObject.Find("Target").GetComponent<Transform>();
Edit : En allant voir la vidéo j'ai vu la date, 2012. Tu seras toujours embêté si tu suis un tuto aussi vieux toutes les méthodes sont deprecated ou ont changé.
a ok merci ^^" c'est parce qu'il me paraissait claire
ça marche pas non plus... En plus je ne trouve aucun tuto récent pour coder la camera a la 3ème personne. Soit il sont vieux de 2 ou 3 ans, soit c'est incompréhensible.
Evite les tutos qui ont plus de 2 ans
Et tu devrais coder en C#.
public class CameraPosition : MonoBehaviour {
[SerializeField] Transform Target; // tu glisse l'objet target sur ce champ dans l'inspecteur
void LateUpdate () {
transform.position = Vector3.Lerp (transform.position, Target.position, 0.1f);
transform.LookAt (Target);
}
}
Essaie ça, tu dois attacher ce script sur la camera bien sur.
MerciATous derien
Plus sérieusement, je n'ai pas utilisé uNet depuis longtemps donc ne peux t'aider.
Toutes les questions relatives à Unity sont posées ici, sinon le forum serais flood. De plus toutes les personnes prêtes à aider les autres sur Unity viennent régulièrement sur ce topique.
J'espère que quelqu'un te répondra
Ok je vais voir ^^
Le 24 juillet 2016 à 18:28:04 -Adridu84- a écrit :
MerciATous derienPlus sérieusement, je n'ai pas utilisé uNet depuis longtemps donc ne peux t'aider.
Toutes les questions relatives à Unity sont posées ici, sinon le forum serais flood. De plus toutes les personnes prêtes à aider les autres sur Unity viennent régulièrement sur ce topique.J'espère que quelqu'un te répondra
Peut-être, j'ai l'impression que uNet est pas très populaire tout de même
Emin3ms Du coup ce que tu ma donner c'est du Java ou du C# ? et je doit collé l'objet target au point virgule ?
Le 24 juillet 2016 à 19:03:38 Tozyref a écrit :
Emin3ms Du coup ce que tu ma donner c'est du Java ou du C# ? et je doit collé l'objet target au point virgule ?
C'est du C# et tu dois mettre l'objet dans ton inspecteur dans Unity.
Tu devrais tenter des petits scripts et autres tests par toi même avec des tutoriels très basiques pour maîtriser Unity avant de tenter d'autres trucs je pense.
Oui MerciAtous à raison, tu n'as pas encore bien compris le système de Component.
Peut-être que GridCorner, ligne 85, n'existe pas?
caelacante Je ne pense pas regarde son screen
Emin3ms Perso je vois pas de problème mais quelque chose m'a peut-être échappé
C'est pour du pathfinding ? Utilise les NavMesh sinon ?
T'es sûr que ton screen est pris quand la valeur est égale à null et que l'exception est levée ?
Essaie de mettre desif (_node.location == null) Debug.Log("J'ai bien une erreur : _node.location");
Avec toutes les valeurs potentiellement null mais si elles ne le devraient pas.
J'ai pas trouvé où était initialisé GridCorner (mais j'ai pas tout lu).
Mais du coup vous me conseiller plutôt d'apprendre le javascripts ou le C ? Quelle est la différence entre les deux ?