[내배캠] 유니티 숙련 강의 정리

Sungchan Ahn(안성찬)·2024년 10월 24일

내일배움캠프

목록 보기
50/104

스카이박스

게임의 배경을 둘러싸는 환경 매핑 기술

  • 6개의 텍스처로 구성된 큐브 맵 or 하나의 구체로 텍스처가 매핑된 구체형
  • 유니티 게임 씬의 배경으로 사용됨
  • 주로 하늘, 구름, 산 등 먼 자연 배경을 표현하는 데 사용
  • 스카이박스를 동적으로 변경하여 낮과 밤 등의 시간대나 상황에 맞는 배경으로 변화를 줄 수 있음
  • 성능에 영향을 줌

Rigidbody - ForceMode

Rigidbody의 ForceMode로 게임 오브젝트에 물리적인 힘을 가할 수 있다.

ForceMode의 종류

  1. Force : Rigidbody의 질량을 적용한 지속적인 힘 작용
    rb.AddForce(Vector3 force(방향, 크기), ForceMode.Force);
  2. Acceleration: 질량을 무시한 가속도 작용
    rb.AddForce(Vector3 force, ForceMode.Acceleration);
  3. Impulse : 질량을 적용한 순간적인 힘 작용
    rb.AddForce(Vector3 force, ForceMode.Impulse);
  4. VelocityChange : 질량을 무시한 순간적인 속도 변화
    rb.AddForce(Vector3 force, ForceMode.VelocityChange);

1 and 2 / 3 and 4는 서로 비슷한 움직임을 보이지만 질량 적용 여부에 차이가 있다.

Raycast

Ray

직선 origin - direction의 광선을 쏜다.

Raycast

Ray에 맞은 물체를 판별하여 여러가지 후처리를 하는 방식

RaycastHit

Raycast에 의해 검출된 오브젝트

  • RaycastHit.point - 레이캐스팅이 감지된 위치
  • RaycastHit.distance - Ray의 원점에서 충돌 지점까지의 거리
  • RaycastHit.transform - 충돌 객체의 transform에 대한 참조

AnimationCurve

유니티에서 애니메이션의 Keyframe을 사용하여 값을 보간(interpolate)하는데 사용하는 클래스
시간에 따라 값을 부드럽게 변화시킬 수 있다. 애니메이션 시간에 따른 값을 정의하는데 사용된다.

  • Keyframe : 시간에 따른 값을 정의하는 점. 시간 - 값 대응
  • Interpolation Mode : 인접한 두 Keyframe 사이의 값을 보간하는 방법 지정

AI Navigation

주로 3D게임의 캐릭터나 NPC 등을 인공지능이 적절한 경로를 설정하여 이동하도록 한다.

AI Navigation의 주요 기술과 개념

  1. Navigation Mesh
  • 3D 공간을 그리드로 나누어 이동 가능 지역과 장애물 등에 의한 이동 불가능한 지역을 구분하는 Mesh
  • 이동 가능 / 불가능 영역을 정의하고 이를 기반으로 경로를 설정한다.
  1. Pathfinding
  • 이동하고자 하는 오브젝트의 현재 위치에서 목표한 위치까지 최적화 경로를 찾는 알고리즘
  • 주로 A*알고리즘 등이 사용되며, 목표 위치까지 최단 경로를 탐색한다.
  1. Steering Behavior
  • 오브젝트가 경로를 따라 이동할 때, 보다 자연스러운 동작을 구현하는데 사용
  • 동적으로 오브젝트의 속도를 조정하여 자연스러운 이동을 구현한다.
  1. Obstacle Avoidance
  • 이동 중 장애물을 피하는 기술
  • 각종 센서나 알고리즘을 사용하여 장애물을 감지하고 피한다.
  1. Local Avoidance
  • 오브젝트끼리 충돌하지 않도록 하는 기술
  • 오브젝트 사이의 거리를 유지하거나 회피 동작을 수행
profile
게임 개발 기록

0개의 댓글