TIL(Today I Learned)

3D Survival 게임 만들기 - TIL#30

Najdorf 2024. 2. 2. 21:44
728x90

 

(나머지 내용 보충 후 정리 예정)


Directional Light : Light 컴포넌트가 들어있음. 빛을 쏴주고 계산하는 것
Light 자체가 연산 자체가 비싸기 때문에 적절한 장소에서만 사용하자

폴더 Materials 생성 -> Material(오브젝트의 재질) 생성
Skybox 라고 명명, 구체 아니면 큐브 형태로 주로 사용함
Shader Standard -> Skybox/Procedual
이걸 적용하려면...
우측 하단 Auto Lighting 버튼
Environment -> Skybox Material -> Skybox 적용

Empty -> Player -> CameraContainer(플레이어의 눈 역할)
MainCamera를 CameraContainer의 자식으로 세팅, 그리고 Transform Reset

Player -> Capsule Collider, Rigidbody, PlayerController.cs -> Tag, Layer 모두 Player로 변경

Scripts -> Player -> PlayerController.cs 생성

Window -> Package Manager -> Input System

Input Actions -> 'Player Controls' Input Action 생성
Schema 없이 Player -> New action -> Vector2, wasd 방향 설정
Attack(Button) -> Left Button ...
Look(Value) -> Mouse delta(마우스가 움직인 만큼의 값)

Player Input -> Player에 넣기, Behavior 'Invoke Unity Events' (Unity에서 사용하겠다)

[HideInInspector] = Public인데 Inspector에서 가림

Start()에 Cursor.lockState = CursorLockMode.Locked; 커서 잠그겠다
FixedUpdate 물리적인 작업
LateUpdate 주로 카메라 작업

마우스 감도 설정
void CameraLook()
{
camCurXRot =+ mouseDelta.y * lookSensitivity;
camCurXRot = Mathf.Clamp(camCurXRot, minXLook, maxXLook);
cameraContainer.localEulerAngles = new Vector3(-camCurXRot, 0, 0);

tran ...
}

InputActionPhase의 기능
started = 눌렀을 때
performed = 누르고 있을 때
cancled = 뗐을 때

Impulse 질량을 가지고서 함

Ray 레이저 쏴서 충돌 체크

OnDrawGizmos Gizmos 그리기, Gizmos.DrawRay로 레이 그리기

728x90