Unity basic parts (2) – 3D 총알피하기 게임 만들기(1)

강의가 이론 위주로 진행되는게 아니라 실습위주로 진행되다보니, 내가 별도로 정리가 힘들다.
실습하면서 메모했던 내용을 기반으로 노트형태로 정리해야 겠다.

오늘은 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

 

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다