UnityKorea 강좌 중에 몇가지 정리

2011. 7. 1. 17:48게임 개발/OpenGL

해리포터와 스타워즈... 정말.. 비슷하다.. ~
.. 팁에 있는 내용들을 보면서 대충 정리 한건데.. 곧 책이 온다... ^^ 좋았어!!!

1. Rendering Components
This group contains all Components that have to do with rendering in-game and user interface elements. Lighting and special effects are also included in this group. 


  1) Camera  :
http://unity3d.com/support/documentation/Components/class-Camera.html
 **
새로운 프로젝트를 만들 때 포함된 기본 asset 패키지에 도움이 될만한 카메라 스크립트들(메뉴의 Components->Camera-Control)

  2) Flare Layer(Camera
연계
) : http://unity3d.com/support/documentation/Components/class-FlareLayer.html
  3) GUILayer (Camera
연계): http://unity3d.com/support/documentation/Components/class-GUILayer.html
  4) GUI Text : http://unity3d.com/support/documentation/Components/class-GuiText.html
  5) GUI Texture : http://unity3d.com/support/documentation/Components/class-GuiTexture.html
  6) Halo (
후광) : http://unity3d.com/support/documentation/Components/class-Halo.html
  7) Halo Layer(Camera
연계) : http://unity3d.com/support/documentation/Components/class-HaloLayer.html
  8) Lens Flare : http://unity3d.com/support/documentation/Components/class-LensFlare.html
  9) Light : http://unity3d.com/support/documentation/Components/class-Light.html
  10) Projector : http://unity3d.com/support/documentation/Components/class-Projector.html
  11) Sky box  : http://unity3d.com/support/documentation/Components/class-Skybox.html


2. Movie Texture ( tex·ture
미국
영국 [|tekstʃə(직물의) 감촉[질감])
 http://unity3d.com/support/documentation/Components/class-MovieTexture.html
 ==>
요건 지난번에 설명을 한것 같기도 하고.. Pro 버전에서만 지원을 한다...
texture
를 사용해서 적용하면 되는 것 뭐 어려운것 없다.. play  stop 정도만
^^;; 

3. Game Object

 http://unity3d.com/support/documentation/Components/class-GameObject.html
게임 오브젝트들은 하나의 저장고 !!
라이트 매핑된 섬이라든가 물리적인 효과가 적용된 자동차와 같은 여러 다른 조각들을 담을 수 있는 빈 박스와 같습니다.
이 각각의 조각들은 구성요소(Componets)라 불립니다. (cf..스크립트도 구성요소로 볼수 있다는 점도 기억하시길 바랍니다. 스크립트 내에 모든 가변요소들은 게임 오브젝트의 인스펙터상에 편집이나 링크가 가능하구요
....)

어떤 오브젝트를 만들고 싶은가에 따라 서로 다른 구성요소의 조합을 게임 오브젝트에 더 해 주게 됩니다.
게임 오브젝트를 하나의 빈 과자틀이라 가정하고 구성요소들을 게임이라는 과자를 굽는데 필요한 다양한 재료라고 생각하면 됩니다
.

모든 게임 Object에는 Object Name, Tag, Layer, Transform Component의 구성요소를 가지고 있다
.
이중에 Transform Component는 게임 오브젝트의 Position, Rotation , Scale ...필수적인 성질을 정의
Transform Compoonet는 유니티의 편집기능에 이용되는 페어런팅(Parenting - 상하위 관계를 형성하는 것을 의미)도 가능하게 합니다.

 * Transform Component
 
http://unity3d.com/support/documentation/Components/class-Transform.html

** shift + Ctrl + N : Game Object
생성 단축키

 
4. Prefabs   ( pre·fab
미국
영국 [|pri:fӕb] 조립식 건물 )
http://unity3d.com/support/documentation/Manual/Prefabs.html

Prefabs
은 씬에서 재사용될 수 있는 게임오브젝트와 구성요소의 집합체입니다.
몇 개의 동일한 오브젝트들이 하나의 Prefab에서 만들어질 수 있습니다. (이를 instancing이라 합니다.)

나무로 예를 들어 보겠습니다.
나무 Prefab을 만든다면 몇 개의 동일한 나무들을 복사하여(instance) 당신의 씬에 넣는 것입니다
.
모든 나무들은 Prefab에 링크되어 있기 때문에 Prefab에 적용되는 모든 변화들은 자동적으로 모든 복사된 나무들에게도(tree instance) 적용이 됩니다
.
그렇기 때문에 매시나 재질이나 기타 다른 사항들을 변경하기 원한다면 Prefab만 한 번 바꿔주면 됩니다
.
반대로 복사된 오브젝트를 수정한 뒤 메인메뉴의 GameObject->Apply Changes to Prefab을 통해서도 가능합니다. 이 작업은 asset을 설정해주고 업데이트 하는데 많은 시간을 절약할 수 있게 해줍니다.

다수의 구성요소들과 하위게임오브젝트를 포함하는 게임오브젝트가 있다면 최상위의 게임오브젝트의 Prefab을 만들고 그 모든 집합체를 재사용할 수도 있습니다.

Prefab
을 게임오브젝트의 구조에 대한 청사진으로 생각하십시오. 모든 Prefab의 복제는 청사진과 동일합니다. 그렇기 때문에 청사진이 업데이트 되면 Prefab의 복제도 마찬가지로 업데이트 됩니다. Prefab의 복제 중 하나를 변경하고 그 변경사항을 청사진에 적용함으로써 Prefab자체를 업데이트 할 수 있는 다양한 방법들이 있습니다
.


5. Scene
게임의 오브젝트들을 포함배경,장애물 , 장식들) 배치

메인 메뉴를 만들거나, 개별 레벨을 만드는데 사용

6. Asset ( asset
미국·영국 [|
ӕset] : [명사]~ (to sb/sth)자산(이 되는 사람물건) )


7. Asset
작업 과정
 1) 3D
모델링 프로그램을 이용해서 asset 의 러프 버전(초기 모델의 의미) 제작
 2) import : Unity Asset
폴더에 저장을 하면, 자동으로 임포트
 3) import Setting
 4) Scene
Asset 추가 : Mesh 를 프로젝트 뷰에서 클릭하여 Hierarchy Scene 뷰에 드래그 추가

 5)
다른 Asset 함께 위치
 - texture
material에 적용
 - material
Game Object에 적용 (with an Mesh Render Component) 
- Animation
Game Object에 적용
(with an Animation Component)
 - A sound file is applied to a Game Object (with an Audio Source Component)
6) Prefab
만들기

7) Assets Update

* Mesh Render
구성요소를 지닌 게임오브젝트를 만들고 있음을 의미
텍스쳐 나 사운드 파일로 작업 중이라면, 이미 씬이나 프로젝트에 존재하는 게임오브젝트에 그것을 추가해 줘야 함.


8. Script
호출 순서

http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.html

Assets->Create->JavaScript
의 순서로 제작을 하며...

Awake => Start => Update

Awake :
이 스크립트를 사용하는 인스턴스들이 Start하기전에 무조건 딱한번 실행됩니다.
Start : 
현재 인스턴스가 활성화될때 Update 바로 직전 딱한번 호출됩니다
.

스크립트를 사용하는 인스턴스가 1,2 가 있다면

Awake1 - Awake2 - Start1 - Start2  (0)
Awake1 - Start1 - Awake2 - Start2  (x)



오늘은 여기까지