-
[TIL] 유니티 숙련주차 1TIL 2024. 5. 24. 21:03
스카이박스(Skybox)
게임 세계를 둘러싸는 환경 매핑 기술. 큐브 맵과 구체형 스카이박스 등이 있으며 다음과 같은 특징을 가진다.
스카이 박스는 6개의 텍스처로 구성된 큐브 맵 또는 하나의 구체로 텍스처가 매핑된 구체형 스카이 박스로 구성된다.
- Unity에서는 씬의 배경으로 사용되며 게임 환경을 확장시키는데 활용
- 주로 자연적인 배경을 표현하는데 사용
- 게임 중에 스카이 박스를ㄹ 동적으로 변경하여 낮과 밤 등의 시간대나 특정 이벤트에 맞게 배경을 변화시킬 수 있다.
- 성능에 영향을 미치므로 최적화에 주의
Material 생성 후 Shader에 Skybox / Provedural 로 변경
Window- Rendering- Lighting - Environment 에서 Skybox Material을 변경
- Sky Tint : 하늘의 색깔을 바꿔줄 수 있다.
- ground : 지평선 아래쪽의 색깔을 변경
- Exposure : 밝고 어두움을 조절한다
Rigidbody - Forcemde
Rigidbody를 사용하여 오브젝트에 물리적인 힘을 가할 때 Force를 사용하여 다양한 힘 적용방식을 설정할 수 있다.
1.Force : 힘을 지속적으로 적용
Rigidbody.AddForce(Vector3 force, ForceMode.Force);
2. Acceleration : 가속도를 적용하여 이전 힘의 누적에 따라 점점 더 빠르게 움직인다.
Rigidbody.AddForce(Vector3 force, ForceMode.Acceleration);
3.Impulse : 순간적인 힘을 적용한다. 짧은 시간에 갑작스러운 움직임이 발생
Rigidbody.AddForce(Vector3 force, ForceMode.Impulse);
4.VelocityChange : 변화하는 속도를 적용한다. 물체의 현재 속도를 변경하며 움직인다.
Rigidbody.AddForce(Vector3 force, ForceMode.VelocityChange);
Raycast
Ray
직선의 시작점(origin)과 방향(direction)
Ray ray = new Ray(transform.position, transform.forward); // 오브젝트 Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0)); // 카메라 중심 Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); // 마우스
Raycast
눈에 보이지 않은 광선(Ray)에 맞은 물체가 무엇인지 판단한 뒤 여러 처리를 하는 방식
Ray, RaycastHit, MaxDistance, LayerMask 등
RaycastHit
Raycast에 의해 판단된 객체의 정보
- RaycastHit.point : 레이캐스팅이 감지된 위치
- RaycastHit.distance : Ray의 원점에서 충돌 지점까지의 거리
- RaycastHit.transform : 충돌 객체의 transform에 대한 참조
InputSystem
SendMessage vs InvokeEvent
1. SendMessage (그동안 프로젝트에서 썼던 방법)
- "On + Action name" 인 함수를 찾아서 호출
private void Start() { controller.OnMoveEvent += Move; controller.OnDashEvent += Dash; } private void Dash(bool push) { if(push)//대시 키를 누르고 있다면 { speed = characterStatHandler.characterInfo.runSpeed; } else { speed = characterStatHandler.characterInfo.moveSpeed; } } private void Move(Vector2 direaction) { moveDireaction=direaction; }
2. InvokeEvent (버튼에다가 함수 집어넣던 것 처럼 사용)
- Inspector 상에서 Action에 함수를 설정하고 키 입력이 들어 왔을 때 호출
3. Invoke C sharp Events (나중에 써 볼 방법)
- C# 스크립트에서 InvokeEvent 과정을 수행
- 세부적으로 이벤트를 등록할 수 있다.
'TIL' 카테고리의 다른 글
[TIL] 유니티 숙련주차 3 (0) 2024.05.28 [TIL] 유니티 숙련주차 2 (0) 2024.05.27 [TIL] 객체지향 코드 설계 2 (0) 2024.05.23 [TIL] 유니티 문법활용 (0) 2024.05.22 [TIL] VS Code / VisualStudio (0) 2024.05.21