Unity Hub & Unity Editor의 개념
Unity Hub : Unity 프로젝트 및 설치를 관리하도록 해주는 관리 툴
Unity Editor :개발 환경을 제공하는 게임 엔진이자, 다양한 개발, 제작을 위한 통합 제작 도구
게임엔진이란?
-> 게임 엔진은 종합적인 컴퓨터 소프트웨어 시스템을 보다 손쉽게 개발할 수 있도록 도와주는 개발 툴이다.
a. 게임엔진의 특징
b. 게임엔진이 가지고 있어야 할 기능
렌더링
가시성 관리
실세계 시뮬레이션 - 충돌처리, 물리
캐릭터 지원 - 모습, 움직임, 행위 및 의사 결정
가시성이란?
모든 객체들을 계층 구조로 나열한다.
계층구조로 객체들을 구성하면 그룹화하여 다른 객체의 하위 객체로 드래그 앤 드롭 가능
(Parent - Child 기능)
-> Crate Empty(이름 : parent)로 만들어 놓고 parent 오브젝트 밑에 다른 오브젝드들을 드래그 드롭이나 코드로 생성 or 복붙을 하게되면
parent오브젝트만 움직여도 하위 자식 오브젝트들이 움직이게된다.
해당 오브젝트의 이동 속도 변수(값) (전후진 값)
해당 오브젝트의 회전 속도 변수(값) (회전 값)
해당 오브젝트의 이동할 거리를 입력할 변수 = 속도 * 시간
거리입력을 어떤방식으로 할지 ex) Laycast/KeyBoard의 Input/etc...
미리 만들어진 Object를 재활용 가능한 형태로 만들어 두는 것을 의미
Resource.Instantiate 로 가져올 수 있다.
AddForce()
물리 오브젝트를 이동하거나, 이동 속도 또는 방향을 변경할 때 사용
Rigidbody.AddForce(방향 * 힘에 대한 백터, 가해지는 힘);
Instantiate()
인스턴스화, 유니티에서의 인스턴스(instance)는 이미 만들어진 게임 오브젝트를 필요할 때마다 실시간으로 만든다는 의미 Resource.Instantiate 로 가져올 수 있다.
Destroy()
Destroy(삭제할 GameObject, 몇초뒤에 사라지게 할것인가)
Destroy 함수는 게임 오브젝트 자체에 영향을 주지 않고 개별 컴포넌트를 제거한다.
Lerp()
a, b값이 주어졌을 때 그 사이에 위치한 값을 추정하기 위하여 직선 거리에 따라 선형적으로 계산하는 방법
충돌 이벤트
Collider 컴포넌트를 포함한 게임오브젝트간의 충돌이 발생하면 Conllision 또는 Ontrigger 이벤트가 발생
충돌 체크
함수명 : OnTriggerEnter
호출조건 : 두 물체간의 충돌이 일어나기 시작했을 때, is Trigger 옵션:체크
충돌관련 함수 6개 있다.
1. OnCollisionEnter() ]
2. OnCollsionStay ] => 물리적인 현상 일어남.
3. OnCollisionExit ]
4. OnTriggerEnter ]
5. OnTriggerStay ] => 물리적인 현상 없다.
6. OnTriggerExit ]
여기에 IsTriiger라는 특성이 있다.
Istrigger 체크 하는 경우
물리적인 현상이 안 일어나는것
IsTrigger 체크 하지 않는 경우
물리적인 현상이 일어나는 것
둘다 RigidBody, colliderBox 있어야됨
target을 지정하고 적탱크 변수를 생성, 초기화
Nav Mesh Agent 컴포넌트를 이용
충돌 체크 Nav Mesh Agent 컴포넌트
Stopping Distance 지정
nvAgent = this.gameObject.GetComponent();
nvAgent.destination = target.position;
다른 scene 생성
사용할 Scene을 Build Settings에 삽입
File -> BuildSetting
씬을 BuildSetting에 드래그 드롭
스크립트에 using UnityEngine.SceneManagement; 선언 후 SceneManager.LoadScene()함수 사용
Vertex
3D 공간에서 위치를 가지는 정점 → Vector라고 함
Vertex Buffer
매 프레임마다, Vertex Buffer라는 Buffer 리스트 안에 Vertex들을 다 밀어 넣는다.
점들의 위치(Vertext)를 저장한 배열, Vertex들을 Buffer List에 저장하여 일괄적으로 GPU(Graphics)에게 보내는 매개체
삼각형 정보를 가지고 있는게 Mesh Filter이고 Mesh Render가 이것을 렌더링 해주는 것이다.
이것을 통째로 -> T & R기능 이라고한다.
그래서 그래픽카드 안에서 T & R 기능을 구현을 했다.
트랜잭션 갯수가 많다 -> T & R 기능 좋다.( 기하학적인 움직임, 색깔을 어떻게 표현을 하는가?에 대한 것 )
노멀맵 Or 하이트맵이 배틀 그라운드의 좌측하단의 미니맵 같은 거라고 보면 된다.
음영처리로 색이 진하면 고지대, 색이 연하면 저지대 이런식으로 구현한것임.