2017-11-04 4 views
0

나는 게임 개체가 비활성화 된 2D 단일 화면 스타일 게임을 사용하고 있습니다. 이것 아래에는 움직이는 여러 어린이들이 있습니다. 부모 객체는 자식에 대한 애니메이터를 보유합니다. 부모를 활성화하면 애니메이션이 재생되지 않습니다. 애니메이터는 기본 입력 상태를 처리하려고하지만 완료되지 않은 것으로 생각합니다. 이 문제에 대해 조사를 해본 결과 무언가를 비활성화하고 활성화하면 애니메이터가 시작되지 않는 것 같습니다. 행운을 빌어 코드를 작성하려고했지만 스프라이트 렌더러를 false로 설정하면 스프라이트가 너무 많아서 작동하지 않습니다. 여기 내 마지막 시도 : 어떤 아이디어?SetActive (사실) 후 Unity 2D 애니메이션이 재생되지 않음

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
유니티 그런 식으로 작동하지 않습니다

는, 당신은 애니메이션 어린이의에 영향을 미칠 것입니다 상위 개체에 애니메이터을 설정할 수 없습니다, 당신은에 대한 애니메이터를 설정해야 할 것 모든 어린이. 부모 객체에서 자식의 애니메이터를 수정하려면 모든 자식 및 해당 구성 요소를 검색하고 매개 변수를 변경하는 스크립트로이를 수행 할 수 있습니다.

이것 좀 봐 : 없음 종료 시간없이 애니메이션 DefaultState 같은 IdleState을 설정하고 애니메이션 상태로 가서하는 트리거 이벤트를 정의하는 Animator parameters

+0

아마도 잘못 설명했을 수 있습니다. 본질적으로 자식 개체를 키 프레임으로 만드는 애니메이터/애니메이션이있는 부모 개체 만 있습니다. 이것은 잘 작동합니다. 애니메이션이로드되지 않는 객체가 활성 상태로 설정된 경우에만 해당됩니다. 내가 활성화 상태로두면 필요에 따라 상태를 전환하고 재생합니다. 문제는 애니메이션이 시작될 때 비활성화되고 활성화 될 때 애니메이션이 재생되지 않는다는 것입니다. 다른 생각? –

0

시도합니다. 그런 다음 트리거를 활성화하십시오.

void Start() 
{ 
} 
+0

나는 그것을 밖으로 확인하고 알려 드리겠습니다! 감사!! –

관련 문제