Voilà je vais être clair ! je suis dans la merde !
je m'explique.
j'ai accepté un petit boulot pour une agence immobilière qui voulait une petite anime, mais en temps réel. j'ai fait quelques recherches rapides je suis tombé sur Unity (qui m'a l'air mortel au passage : geek): ) j'ai fait un ou deux test avec les scripts ci-dessus que j'ai appliqués facilement à mon perso(merci formation facile) et j'ai accepté ce petit boulot .Étant infographiste 3d pas de problème pour la partie graphique etc. Mais voilà je me suis surestimé grave de grave! Ce n'est pas si simple que ça houla : oops:
donc voilà il me reste 4 jours pour finir ce boulot et je vais être honnête je suis a la ramasse grave, je n'y comprends rien (enfin pas aussi vite que je pensais) !
Donc voilà au risque de prendre des tomates dans la figure : Lol:
Je cherche un crack de la prog qui a un petit peu de temps à consacré à ce script (je sais honte à moi) qui je pense ne doit pas être bien sorcier,mais encore une fois je me suis pris les pieds dans le tapis sur le coup !
À savoir de mon coter je peux aider au niveau de la 3D anim etc. avec plaisir !
Je résume ce que je cherche a faire :
(Point A avec perso et anim idle)-->(pression sur F1)-->(le perso ce deplace vers le point B avec anim marche)-->(au point B déclenchement auto de l'Anim idle2 et une fois l'Anim idle2 finit le perso revient au point A avec anim marche pour se remettre en place pret pour une nouvelle pression sur la touche F1)
vous penser que ce sera gros comme script ?
merci de votre aide
cordialement
Coup de main urgent !
Re: Coup de main urgent !
Bonjour l'ami en détresse !
Je vais te poser une simple question qui va peut-être te faire avancer :
Ne serai-ce pas une plus-value pour ton projet si le client avait le choix de se déplacer exactement comme il le souhaite à l'intérieur ( ou autour ) du projet architectural plutôt que de simplement faire un chemin A-> B ?
Car dans ce cas là, tu pourrais simplement utiliser deux scripts qui sont offert de base avec Unity à savoir le "3rd person controller" et le "Mouse orbit" ! Tu n'aurais plus qu'à faire un mini script qui lance l'animation du personnage quand il avance et à régler la vitesse de déplacement pour correspondre à l'animation...
Si malgré tout tu tiens à l'idée du chemin A -> B, je te conseil d'aller voir dans l'Asset Store de Unity dans lequel tu trouveras des éditeurs de séquences d'animation peu chère pour creer le chemin dont tu as besoin avec des courbes de bézier.
N'hésites pas à poser d'autres questions si tu as besoin.
Je vais te poser une simple question qui va peut-être te faire avancer :
Ne serai-ce pas une plus-value pour ton projet si le client avait le choix de se déplacer exactement comme il le souhaite à l'intérieur ( ou autour ) du projet architectural plutôt que de simplement faire un chemin A-> B ?
Car dans ce cas là, tu pourrais simplement utiliser deux scripts qui sont offert de base avec Unity à savoir le "3rd person controller" et le "Mouse orbit" ! Tu n'aurais plus qu'à faire un mini script qui lance l'animation du personnage quand il avance et à régler la vitesse de déplacement pour correspondre à l'animation...
Si malgré tout tu tiens à l'idée du chemin A -> B, je te conseil d'aller voir dans l'Asset Store de Unity dans lequel tu trouveras des éditeurs de séquences d'animation peu chère pour creer le chemin dont tu as besoin avec des courbes de bézier.
N'hésites pas à poser d'autres questions si tu as besoin.
Re: Coup de main urgent !
Voici un début de piste fait rapidement, à adapter ensuite à ce dont tu as besoin. Tu peux également regarder du côté du plugin iTween (http://itween.pixelplacement.com/).
private var allowedToWalk : boolean ;
var speed : float;
function Start(){
allowedToWalk = true;
animation.Play("idle1");
}
function Update(){
if(allowedToWalk){
//Détecter l'appuie sur F1 et si on autorise le déplacement du personnage
if (Input.GetKeyDown (KeyCode.F1)){
//Lancer une anim et stopper les autres.
animation.Play("Marche", PlayMode.StopAll);
//Faire avancer son personage sur l'axe z à une vitesse speed en ayant comme repère le Monde.
gameObject.transform.Translate(Vector3(0,0,1) * speed * Time.deltaTime, Space.World);
}
//Détecter lorsque le joueur relève son doigt de la touche F1
else if(Input.GetKeyUp (KeyCode.F1)){
animation.Play("idle1", PlayMode.StopAll);
}
}
//Dans le cas où l'on atteint le point B (je te conseille de mettre un Trigger), on interdit au joueur de se déplacer et on lance l'animation "idle2"
if (pointBatteint){
allowedToWalk = false;
animation.Play("idle2", PlayMode.StopAll);
}
}
//Detection de la collision avec le trigger de la zone à atteindre
function OnTriggerEnter(other : Collider){
if(other.collider.name == "PointB"){
pointBatteint = true;
}
}