2017-11-04 5 views
0

私は、無効なgameobjectを持っている2Dのシングルスクリーンスタイルのゲームを持っています。この下にはアニメーション化された子供たちがいくつかあります。親オブジェクトは子供のアニメーターを保持します。親を有効にすると、アニメーションは再生されません。アニメーターは、デフォルトの入力状態を処理しようとしているものの、完了していないと考えます。私はこれについていくつかの調査をしましたが、無効にしてから何かを有効にしてもアニメーターが起動しないようです。私は運がないためにいくつかのコードを書こうとしましたが、スプライトレンダラーをfalseに設定すると、スプライトが多すぎるためにも機能しません。ここに私の最後の試みです:どんなアイデア?SetActive(真)の後、ユニティ2Dアニメーションが再生されない

Unityがそのように動作しない
using System.Collections; 
using System.Collections.Generic; 
using UnityEngine; 

public class animationState : MonoBehaviour 
{ 
    public Animator anim; 

    private void OnEnable() 
    { 
     if (anim.gameObject.activeSelf) 
     { 
      anim.Play("pinWheelAnimation"); 
     } 
    } 
} 

答えて

0

、あなたが子供からアニメーションに影響を与えるために起こっている親オブジェクトにアニメーターを設定することはできません、あなたがのためにアニメーターを設定する必要があるとしていますすべての子供。親オブジェクトから子供のアニメーターを変更する場合は、すべての子とそのコンポーネントを検索し、そのパラメーターを変更するスクリプトを使用して、子オブジェクトのアニメーターを変更できます。

はこれを見てください:Animator parameters

+0

多分私はそれを間違って説明しました。基本的に子オブジェクトにキーフレームを適用するアニメータ/アニメーションを持つ親オブジェクトのみが存在します。これは正常に動作します。オブジェクトがアクティブに設定されていて、アニメーションが読み込まれない場合のみです。私がそれをアクティブなままにしておくと、必要に応じて再生し、状態を切り替えるでしょう。問題は、起動時に非アクティブであり、起動時にアニメーションが再生されないことです。他の考え? –

0

なし終了時間なしアニメーションでDefaultStateとしてアイドル状態を設定し、アニメーションの状態にオーバー行くために、トリガ・イベントを定義してください。その後、トリガーを有効にしてください

void Start() 
{ 
} 
+0

私はそれをチェックしてお知らせします!ありがとう!! –

関連する問題