Coup de main urgent !

mrbigbang
Messages : 14
Inscription : 04 Oct 2012 22:39

Coup de main urgent !

Message par mrbigbang » 26 Oct 2012 13:22

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

kuroi93
Messages : 20
Inscription : 15 Mai 2011 13:24

Re: Coup de main urgent !

Message par kuroi93 » 28 Oct 2012 04:43

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.

Tbaggi
Messages : 57
Inscription : 10 Avr 2011 17:27

Re: Coup de main urgent !

Message par Tbaggi » 28 Oct 2012 13:47

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;
}
}

Répondre

Revenir vers « Collaboration pour projets »