강의가 이론 위주로 진행되는게 아니라 실습위주로 진행되다보니, 내가 별도로 정리가 힘들다.
실습하면서 메모했던 내용을 기반으로 노트형태로 정리해야 겠다.
오늘은 2일째. 3D 총알피하기 게임 만들기 이다.
[Material].Albedo : 빛에 반사되는 색깔을 설정한다. 반사율-Albedo이라고도 하며, 자세한 설명은 위키참조.
[Camera].Clear Flags
Skybox : 가상의 하늘을 그린다.
Solid Color : 단색으로 채운다.
Depth Only : ??
Don’t Clear : ??
[Rigidbody] : 실제 물리적인 모든 기능을 담당하는 컴포넌트. 2D에 대해서는 Rigidbody 2D 컴포넌트를 사용한다.
[Input]
Input.GetKey(KeyCode); // 키를 누르고 있다면 true, 아니면 false를 리턴 // W 키를 눌렀을때 speed 만큼 Z 축으로 이동시킨다. if (Input.GetKey(KeyCode.W) == true) { playerRigibody.AddForce(0,0,speed); } // 축 기준 입력값을 가져온다. // A <- D -> // -1.0 0.0 +1.0 float xInput = Input.GetAxis("Horizontal"); // S v W ^ // -1.0 0.0 +1.0 float zInput = Input.GetAxis("Vertical"); // 실제 이동 속도를 입력값과 이동 속력을 통해 결정 float xSpeed = xInput * speed; float zSpeed = zInput * speed; // 리지드바디의 속도에 newVelocity 할당 Vector3 newVelocity = new Vector3(xSpeed, 0f, zSpeed); playerRigibody.velocity = newVelocity;
수평축과 수직축의 입력값을 감지하여 저장
GetAxis는 입력축의 음의 방향의 키 : -1.0
아무것도 누르지 않으면 : 0.0
양의 방향의 키 : +1.0
이러한 방식을 쓰는 이유
– 사용자가 키 변경을 할수 있게 하기 위해.
– 코드가 하드웨어에 대한 종속성을 가지지 않기 위해.
– 키보드 커스터마이징을 편하게 할 수 있다.
– 코드랑 입력의 이름이 연결되어있고, 입력이 하드웨어로 연결되어 있다.
– 조이스틱에 대응 : Axis, 입력을 숫자로 받는 이유는 조이스틱은 약간만 누른다던지, 그러한 컨트롤이 가능하기 때문
프로젝트 세팅 메뉴에서 Input에 관한 설정이 가능
[Menu] – [Edit] – [Project Settings] – [Input]
InputManager : Axes,Horizontal,Vertical
가속도 : 힘을 질량으로 나눈값. 역시나 자세한 설명은 위키참조.
F = ma