본문 바로가기
3Dsoftware/Unity 3D

Unity3D SetParent

by wonilmax 2020. 9. 14.

 

GameObject Clone = Instantiate(CubePrefabtransform.position, Quaternion.identity);

                  Clone.transform.SetParent(SphereParent.transformtrue);

 

2가지 주의 깊게 봐야할 것은.

CubePrefabLocal position이 중요한 것이 아니라 현재 스크립트가 가지고 있는 transform.position에 복제를 해주는 형태이다. 

예)

현재 스크립트:  transform.position (0,0,0)

SphereParent: transform.position (1,1,1)

1. transform.position (0,0,0) <-현재 스크립트 위치에 큐브 복제

2. false: 자식의 로컬좌표값은 최초 복제시 (0,0,0)이고 그대로 유지되기 때문에 SetParent를 하게되면 Heirachy상에 SphereParent의 자식으로 위치되게 되고 결론적으로 아래 그림과 같이 이동하게 된다.

3. true: SetParent한 오브젝트의 World좌표는 변경되지 않고  Heirachy상에 Sphere(부모)의 자식으로 위치하게 된다. (따라서 Cube의 Local 좌표는 (-1,-1,-1)이 된다.

 

 

그림1:false                                                                               그림2::true

http://play.google.com/store/apps/details?id=com.wonilmax.bonyonline

 

러브썸 보니 - Google Play 앱

오픈월드형 3D RPG 게임

play.google.com