반응형
Notice
Recent Posts
Recent Comments
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

Do Something IT

[Unity3D] 미니고어 만들기1 본문

Unity3D

[Unity3D] 미니고어 만들기1

아낙시만더 2011. 7. 13. 14:48
반응형
1. 3D용어 

3D 그래픽스 좌우, 앞뒤, 상하를 표현한 그래픽스 
3D 그래픽스는 삼각형 폴리곤이 기본이고 이를 모아서 만든것이 Mesh라고 하며 모델을 생성한다.
vertex는 두선의 정점 
edge는 모서리
point는 점 
segment
3d오브젝트 좌표계 y,x,z축으로 구성 
world 좌표계

PS) 카메라 셋팅이 중요하다. 건물이 안보일수도 있다.


2. 카메라 

-  카메라 오브젝트와 대상이 되는 오브젝트의 위치를 카메라에 오브젝트가 개발자가 의도한대로 위치 시킨다.
-  카메라 속성

 - 투영법 -> 직교투영 - 원근감이 없는것 3d이지만 2d게임을 만들고 싶을때 쓴다. Orthographic
 -> 원근투영 - 원근감이 있는것 뒤에 있는것은 작아진다.  Perspective
     - frustum : 절두체 피라미드 머리를 날린다. Far와 Near를 이용하여 화면을 비율적으로 본다.
                     near이 0.3으로 되어 있는 이유 보이는 것이 있어야 하긴 때문에 0이 될수 없다.
         Far을 잡아 랜더링 할 부분까지 정해준다. 즉 최대 시야 범위를 정한다. 이 범위 만큼 리소스를 
         먹기 때문에 잘 정해줘야 한다. Far끝부분은 포그로 막아준다.
     - field of view : 화면의 각도를 늘리고 줄인다.  
 
 - 원근법


3. 화면구성

Scene - 화면 배치
Game - 실제 게임에서 보이는 화면
Project -  는 클래스라고 보면된다
Hierachy - 는 인스턴스라고 보면된다.
Inspector - 구성요소
transform - 객체 크기 위치 기울기 조정
GameObject - 객체
Component - 구성 메서드

PS) 3D는 오브젝트의 크기가 별로 중요하지 않다. 카메라 위치가 중요.


4. Scene 

- 오브젝트를 배치하고 연결하는 것


5. GameObject

plane - 장소 지형 texture(u,v) vertex(x,y,z) normal(x1,y1,z1)
plane의 한 폴리곤의 각점은 normalVector 값을 가지고 있다.
directional light 는 한방향에서만 쏟아지는 빛

-게임 오브젝트는 서로 부모 자식 관계를 가질수 있다. 자식은 부모의 행동을 따라 한다.
 
6. Vector   크기와 + 방향을 가진 
Vector2(x,y)
Vector3(x,y,z)
내적 , 외적? - ㅅ ㅡ ;
벡터를 꼭 마스터 하라!~
normal(x1,y1,x1)는 벡터의 크기를 없애버린다. - 정규화 1로만들어 버린다. 방향만을 알려준다. 바라보고 있는 방향을 나타낸다,

ps. 빛은 최소한으로 사용 하라 !! 리소스를 많이 먹는다.


7. 텍스처를 들고와 material를 이용하여 폴리곤에 표면상 이미지를 셋팅할수 있게 해준다.

8. 스크립트 적용 

  - 메인 카메라에 스크립트 달아 적용하는 방법 : 화면 전체에 일어 나는 변화는 여기에 다는것이 좋고 
 - 오브젝트에 스크립트를 달아 적용하는 방법 : 오브젝트에 일어 나는 변화는 여기에 다는것이 좋다.


9. JavaScript  구조

private var box:GameObject; // 받아올 오브젝트 변수 

function Start(){ // 화면이 처음 만들어 질때 호출 스타트 할때 최대한 변수를 초기화 해주는것이 좋다.
box = GameObject.Find("Cube"); // 받아올 오브젝트의 이름을 찾아 변수에 할당을 해준다.

}

function Update () {// 프래임을 연속 해서 뿌려주는 작업을 하는 함수 
// 백버퍼 플리핑 1프레임은 백버퍼에 잡은 화면 을 프론트 버퍼에 한번 뿌려 줬을때 한번 작업을 나타낸다.
// 모든 단말기의 프레임 속도를 고려 해서 타임을 맞춰 주어야 한다
box.transform.position.x +=1 * Time.deltaTime; 
// transForm 은 게임 오브젝트의 크기, 위치, 기울기를 수정 할 수 있다.
// Time.deltaTime 를 넣어줘야 프렝미 속도 뿌리른 타임이 통일 된다.
}


 오늘의 과제
태양계 시스템 구현  태양을 중심에 두고 궤도를 도는 지구 달 만들기  
반응형
Comments