unity api part 1 03 gameObject from Walker Boys on Vimeo.

이번장은 gameObject에 대해서 배워보겠습니다. gameObject를 reference에서 찾아본 결과, "Base class for all entities in Unity scenes"라고 합니다. 즉, Hierarchy창에 있는 모든 Object들의 상위 오브젝트라고 보시면 됩니다.

Hierarchy상에 있는 두가지 오브젝트 -- Cube, Main Camera -- 는 gameObject의 하위 Object라고 생각하시면 되겠습니다.

(0:23)동영상에서와 같이 오브젝트에 스크립트를 적용시키는 것을 배워보겠습니다. 스크립트를 적용 시키는 것은 아주 단순합니다. Project - Create - C#(자기가 하고 싶은걸로 하면 됩니다). (1:06)그리고 그 스크립트 파일을 적용시키고 싶은 오브젝트에 Drag&Drop 하시면 끝! 여기서는 Cube 오브젝트에 Drag&Drop입니다.

Visual Studio와 Unity3D 연동시키기

동영상에서 나오는 소스에 대해서 간단하게 설명을 드리고 마치겠습니다.


void Update ()

    {

        float x = gameObject.transform.position.x;

        float posX = this.transform.position.x;

        float positionX = transform.position.x;


        print(x);

        print(posX);

        print(positionX);

}

동영상과 같이 해보셨으면 아시겠지만 콘솔창에 나오는 결과값이 다 똑같습니다. 그말은 즉, 세개의 접근이 같은 곳으로 향하고 있다는 말인데요.

1.gameObject.transform.position.x :제일 처음에 말씀 드렸드시 gameObject는 Hierarchy에 있는 모든 오브젝트들은 gameObject라고 보시면 됩니다. 다음 행렬변환인 transform 그리고 position -> x입니다.

2.this.transform.position.x : this는 Cube 오브젝트를 가르키고 있다고 생각하시면 됩니다.

3.transform.position.x : 이미 스크립트를 Cube에 적용을 시켰기 때문에 이미 어느 좌표계를 얻어 올지를 알고 있습니다.

한가지 의문이 들 수 있는데, "Hierarchy상에 카메라도 있는데 왜 카메라 좌표값은 안받아오고 Cube의 좌표값을 받아올까?"라고 생각할 수 있습니다. 그 이유인즉슨, 스크립트를 Cube에 적용을 시켰기 때문입니다.


이번 동영상은 이걸로 끝입니다. 


Posted by hp-david
,