+ Multilingual/Unity

[유니티] 스크립트로 생성된 오브젝트가 플레이 시 움직이지 않을 때

ᕕ(ᐛ)ᕗ 2024. 12. 9. 04:19

 
스크립트로 오브젝트를 생성하기 위해서, 상단 이미지와 같이 public으로 선언하고 인스펙터 내부에서 해당되는 오브젝트를 대응시켰다. 오브젝트를 움직이기 위해 Update() 내부에서 handCursor.transform.position을 바꾸고, 정상 반영된 사실을 Debug.Log()로도 확인할 수 있었다. 그러나 실제 생성된 오브젝트가 씬 내부에서는 전혀 움직이지 않았다. 이걸로 2시간 삽질했다...
 
 
 
 
 
이러한 경우 우선 씬을 실행시킨 후, 인스펙터로 들어가 오브젝트를 소환한 스크립트의 아이콘 변화를 확인해보자.

 
Update()를 통해 정상적으로 움직이는 오브젝트라면 상단 이미지와 같이 (Clone) 표시가 뜨면서 아이콘이 투명한 큐브로 바뀌어야 한다. 그러나 내 상황에서는 파란색 큐브에서 변화하지 않았다.
 
 
 
 
 

잘못된 코드

 
이 경우에는 Start() 함수에서 생성을 위해 사용한 Instatiate를 확인해보자.
움직임을 반영하려면 코드를 다음과 같이 수정해야 한다.