1. Unity3D 에 대한 화면 구성에 대한 공부

2013. 7. 3. 19:17게임 개발/Unity

Unity3D 에 대한 화면 구성에 대한 공부

 

 

1.     Scene View
Object
의 이동, 회전, 확대 등의 작업을 할 수 있습니다.

2.     Game View
설치된 카메라에 보이는 내용이 표시, 따라서 개발자가 게임뷰를 마우스 등으로 직접 조작할 수 없다
.
제작 중인 게임을 실행해 볼 수 있다.

3.     Hierarchy
하이어라키는 계층구조 라고도 하는데, 디자인 창에 설치한 오브젝트에 대한 계

 

층 구조 표시
오브젝트를 삭제할 경우 디자인 창에서 해당 오브젝트를 직접 클릭하거나 하이어라키 창에 표시되어 있는 오브젝트를 선택한 후 [Delete] 클릭 함.

4.     Project
작업 중인 프로젝트에서 사용하고 있는 각종 리소스 등이 계층 구조로 표시되는 영역

프로젝트에서 사용하는 리소스 와 에셋(Asset 리소스 모음), 패키지 (Asset 모음)가 계층적으로 표시

5.     Inspector
오브젝트에 대한 세부 정보를 표시하고 변경할 수 있는 곳

오브젝트는 크기와 위치 정보 뿐만 아니라 물리적 특성, 충돌 계수 , 텍스처 및 색상, 오디오 등의 다양한 부가적인 속성이 있는데 이러한 속성은 모두 인스펙터에 표시되며 개발자가 직접 조작할 수 있습니다.

 

꼴랑 이거만 정리해서 올려 놓기 좀 그래서...
효과적인 메모리 관리 기법 (C#) 에 대한 링크도 걸어 놓는다.

http://www.imaso.co.kr/?doc=bbs/gnuboard.php&bo_table=article&wr_id=40743

핵심정리
1. String 조합이 많다면, StringBuilder 활용(이건 JAVA도 마찬가지 이다.)


2. Immutable 객체의 값 접근시 매번 메모리가 생성될 수 있으므로 주의
  (immutable type : 생성된 이후에는 상수와 같이 변경할 수 없는 타입, 값을 변경하기 위해서는 새로운 객체를 만들어야 함.)

3. 매번 호출되는 메소드 안에서 반복해서 일회성 인스턴스가 생성되지 않도록 주의


4. Boxing / unboxing 이 가능한 일어나지 않도록 주의
  (Boxing 은 값 타입을 참조타입로 변경하는 것이고, 참조타입을 값 타입으로 변경하는 것은 UnBoxing 이라 한다.
   다시 말해 Boxing은 스택에 있는 값을 힙에 새로운 공간을 생성한 후 복사 한다. 이 공간을 Box 라고 부른다. Unboxig은 Boxing 된 참조타입을 이전 값 타입으로 다시 변경하는 것으로 , 해당 참조가 대상으로 지정한 값 타입을 Boxing 한 값인지 확인 한 후 , 힙에 존재하는 객체의 값을 스택에 있는 값으로 복사합니다  결과 적으로 Boxing 과 Unboxing 을 거치면 메모리상에 2개의 메모리가 생성된다..)


5. WeakReference를 사용해서 의도하지 않는 참조 줄이기
(WeakReference : 약한 참조, Map 등이 참조하고 있어서 GC 의 대상이 되지 못하고 메모리에 계속 남아 누수 현상이 생겼을 때, Weak Reference 를 쓰면 GC가 heap을 Trace 할때, 객체에 대한 대표적인 reference 가 Weak Reference 뿐이면 해당 Reference는 GC 의 대상이 된다.


6. IDisposable 인터페이스를 사용해 사용자가 원하는 시점에 객체 삭제하기
(IDisposable 인터페이스 : 이 것의 주된 용도는 관리되지 않는 리소스를 해제 하는 것입니다. GC 수집이 발생하는 시점을 예상할수 없고, 창 핸들, 열린 파일 및 스트림과 같이 관리되지 않는 리소스를 인식하지 못하기 때문에, 이 인터페이스의 Dispose 메서드를 GC와 함께 사용하여 관리되지 않는 리소스를 명시적으로 해제합니다. 개체가 더 이상 필요하지 않을 경우 , 개체의 소비자는 이 메서드를 호출 할수 있습니다.)