[ GameObject 클래스 ]
Unity Reference - http://docs.unity3d.com/Documentation/ScriptReference/GameObject.html
Constructor(생성자)
GameObject (생성자 Script 예제)
GameObject는 new를 통해 만들어 질 수 있으나, Rigidbody / BoxCollider 등은 new를 통해서 만들 수 없다.
즉, Factory Pattern 처럼 GameObjcet를 통해서 만들어 달라고(AddComponent) 해야 한다.
Variables(맴버 변수들)
transform ~ particleEmitter 영역 : Component를 위한 변수들
networkView : 네트워크와 관련된 것
hingeJoint : 물성과 관련된 것
어떤 Component들은 GameObject 내에 오직 하나만 있을 수 있거나 혹은 중복된 Component들이 있을 수도 있음
Audio Source / Collider 등은 여러 개 있을 수 있음
layer : [0~31]
tag :
activeInHierarchy : GameObject의 상태
참고 : Enabled/Disable : Component의 상태
Functions
GetComponent : Component를 얻어오는 함수
SetActive : 활성화/비활성화 상태를 설정함(비활성화 되게 하면 GameObject가 작동하지 않음)
CompareTag : Tag를 비교함.
AddComponent : Component를 추가하는 함수
SampleAnimation :
SendMessage : 자기 객체에 Event 전달 (자기 객체의 다른 Script에도 전달)
BroadMessage : 자기 객체와 자식 객체들에게 전달
SendMessageUpwards : 자기 객체와 자기 부모 객체들에게 전달
Class Funtion
CreatePrimitive : Unity에서 제공하고 있는 기본 도형(Cube, Sphere 등)을 생성
FindWithTag : Tag를 가지고 GameObject를 찾음
FindGameObjectsWithTag :
Find : name을 가지고 GameObject를 찾음
Inherited Class Functions
Instantiate : 원본을 복제에서 GameObject를 만듬
Destory : GameObject를 삭제
DontDestroyOnLoad : 새로운 씬을 로드(열기)해도 이 GameObject는 사라지지 않음
[ Prefab ]
Unity Reference - http://unitykoreawiki.com/index.php?n=KrMain.Prefabs
Pre + fabricate : 미리 제작물을 만들어 놓은 것?
하나의 애셋(Asset)으로 프로젝트 뷰에 저장되어 있는 재사용 가능한 GameObject
Prefab을 Drag & Drop 으로 GameObject의 생성을 가능하게 해 줌
GameObject의 생성 및 관리를 수월하게 해줌
하나의 Resource로 여러 개의 GameObject를 생성하는 만큼 메모리의 효율도 높일 수 있음
Prefab 생성 방법
Project View >> Create >> Prefab
Hierachy View에 존재하는 GameObject를 Drag하여 Project View로 가지고 오는 방법
Prefab의 특징
Prefab에 있는 속성을 바꾸게 되면, 기존에 이 Prefab을 사용하고 있는 모든 GameObject도 속성이 바뀌게 됨
만약 바뀌게 하고 싶지 않으면, GameObject의 이름을 바꿔 주면 됨
Prefab Menu - GameObject의 Inspector에 위치한 메뉴
Select : GameObject와 연결된 Prefab을 표시해 줌
Apply : 현재 GameObject의 변경 사항을 Prefab에 적용
Revert : Prefab에 설정된 값으로 다시 되돌림