GameObjects
는 모든 다른Components를 위한 컨테이너입니다. 사용자 게임의 모든 오브젝트들은 본질적으로 GameObjects입니다.
GameObjects는 그들 스스로 게임에 어떠한 캐릭터도 추가하지 않습니다. 오히려 그들은 실제 기능들을 구현한 컴포넌트들을 가지고 있는 컨테이너입니다. 예를 들어 Light 는 GameObject에 부착된 하나의 컴포넌트 입니다.
사용자가 스크립트로부터 하나의 컴포넌트를 생성하고 싶다면 사용자는 빈 GameObject를 생성한 후 gameObject.AddComponent(ClassName)함수를 사용해서 필요한 컴포넌트들을 추가해야 합니다. 사용자는 컴포넌트를 생성할 수 없고 오브젝트로부터 그것으로 하나의 레퍼런스(참조)를 만들 수 없습니다.
스크립트로부터 컴포넌트는 GetComponent(TypeName)함수나 메세지 보내기를 통해서 서로가 쉽게 소통할 수 있습니다. 이것은 사용자가 다수의 GameObjets에 부착될 수 있고 다른 목적을 위해서 재사용될 수 있는 작고 재사용 가능한 스크립트를 쓰는 것을 허락합니다.
컴포넌트를 위한 컨테이너가 되는 것 외에도 GameObjects는 한 개의 Tag
, Layer
그리고 Name
을 가집니다.
태그는 태그 이름을 사용해서 오브젝트를 빠르게 찾기 위해 사용됩니다. 레이어는 광선을 캐스팅하고 오브젝트의 특정 그룹으로만 빛을 그리거나 적용하기 위해 사용될 수 있습니다. 태그와 레이어는 Edit→Project Settings→Tags에서 Tag Manager으로 세팅될 수 있습니다.
Unity에는 Static이라 불리는GameObject에서 새로운 체크박스가 있습니다. 이 체크박스는 다음을 위해서 사용됩니다:
체크박스는Occlusion 데이터를 생성할 때 사용됩니다
Occlusion data를 생성할 때 Static으로 하나의 GameObject를 표시하는 것은 그것이 정적 오브젝트 뒤에서 보여질 수 없는 메쉬 오브젝트를 비활성화합니다. 그러므로 사용자의 씬에서 움직이고 있는 어떠한 환경적인 오브젝트는 Static으로 표시되어져야 합니다..
Unity에서Occlusion Culling works가 어떻게 작동하는지에 대한 정보는 Occlusion Culling페이지에 있습니다.