[Resolue] Lié animation et script

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
anonylouis
Messages : 2
Inscription : 30 Juil 2014 18:21

[Resolue] Lié animation et script

Message par anonylouis » 30 Juil 2014 18:40

Bonjours,

j'aimerais que quelqu'un m'explique comment lié script et animation dans unity 3d .

Cela fait 3j que je recherche mais je ne comprend rien sur rien -_-

je voudrais que lorsque ma balle ( au quelle j'ajoute le script suivant) entre en collision avec un objet 3D avec un certain tag ( AscensurV1 ) , lance une certaine animation sur l’objet qui a le tag .

voici un énième test de code :

Code : Tout sélectionner

var object: GameObject; // L'objet à animer
var anim: AnimationClip; // Le fichier d'animation
  
function OnCollisionEnter(object : Collision) {
 
if(object.gameObject.tag == "AscenseurV1") {

    object.animation.Play(anim); // On joue l'animation
}
}
erreur : NullReferenceException: Object reference not set to an instance of an object

merci a tous ;D

( au passage j'ai créer l'animation dans unity mais je ne sais pas comment faire pour désactiver la lecture automatique ? si jamais quelqu'un sait ;) )

(je ne sais pas non plus si il faut que j'associe ou non "object" a l’objet qui a le tag et anim a l'animation que je veux jouer )
Dernière édition par anonylouis le 31 Juil 2014 03:15, édité 1 fois.

Avatar de l’utilisateur
21PhilC1
Messages : 18
Inscription : 01 Juil 2014 18:38
Contact :

Re: Lié animation et script

Message par 21PhilC1 » 30 Juil 2014 22:27

Pour l'animation, peut-être un bout de réponse par là:
http://www.youtube.com/watch?v=xDdTSV_A ... 8&index=21

Et peut-être quelques éléments intéressants:
http://www.youtube.com/watch?v=Lu6u8Q_p ... 0C02CC3CA8

PsyKaw
Messages : 3
Inscription : 19 Déc 2013 01:52

Re: Lié animation et script

Message par PsyKaw » 30 Juil 2014 23:06

Il faut que tu t'assures que ton objet ait un component animation:

Code : Tout sélectionner

var object: GameObject; // L'objet à animer
var anim: AnimationClip; // Le fichier d'animation
  
function OnCollisionEnter(object : Collision) 
{
   if(object.gameObject.tag == "AscenseurV1") 
   {
       [color=#FF0000]if(object.animation != null)[/color]
          object.animation.Play(anim); // On joue l'animation
   }
}

anonylouis
Messages : 2
Inscription : 30 Juil 2014 18:21

Re: Lié animation et script

Message par anonylouis » 31 Juil 2014 03:13

Merci Phil pour tes liens qui sont très intéressant , particulièrement celui des raycast qui pourrait bien me servir par la suite :D

Merci aussi PsyKaw !

J'ai finalement trouvé la solution !!
le problème est que depuis la v 4.3 sur un object 3D créer par unity ( et donc par importer depuis C4D ou Blender ....) , comme un cube pour mon cas, on ne peut pas ajouter une animation sans la lié a un animator !

Apres de multiple tuto anglais et une lecture approfondis de la docs j'ai finalement bien compris les differences et les fonctiions apporter par l'Animator !

voici mon code final :

Code : Tout sélectionner

var object: GameObject;      // object qui va declencher l'anim
var animator : Animator;      // animator

function OnCollisionEnter(object : Collision) {  

if(object.gameObject.tag == "Player") {   // quand l'object qui porte le tag "Player" touche mon cube

animator.SetBool("PlayerCollision", true);   // la variable boolean "PlayerCollision" passe a true (se qui déclenche l'anim)

 }
}
  
kiss et encore merci de m'avoir lue et repondue ;D

Répondre

Revenir vers « Scripting »