2017-11-04 116 views
0

我有一個2D單屏風格的遊戲,我有一個禁用的gameobject。在這之下有幾個孩子,這是動畫。父對象持有兒童的動畫師。當我啓用父項時,動畫將無法播放。動畫師認爲它試圖處理默認的輸入狀態,但沒有完成。我已經對此進行了一些研究,似乎禁用並啓用某些內容不會啓動動畫製作者。我已經嘗試爲它寫一些代碼而沒有運氣,並且將sprite渲染器設置爲false將不起作用,因爲只有太多的sprite。這是我的最後一次嘗試:任何想法?Unity 2D動畫無法播放SetActive後(true)

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

嘗試,沒有退出的時間和沒有設置動畫的IdleState爲DefaultState並定義一個觸發事件去到你的動畫狀態。然後激活觸發器

void Start() 
{ 
} 
+0

我會檢查出來,讓你知道!謝謝!! –