게임 세계의 배경을 둘러싸는 환경 매핑 기술이다. 큐브 맵(Cube Map)과 구체형 스카이박스(Sphere Map) 등이 있다.
- 스카이 박스는 6개의 텍스처로 구성된 큐브 맵 또는 하나의 구체로 텍스처가 매핑된 구체형 스카이박스로 구성된다.
- Unity에서는 씬의 배경으로 사용되며, 게임 환경을 확장시키는 데 활용된다.
- 주로 하늘, 구름, 산 등의 자연적인 배경을 표현하는 데 사용된다.
- 미리 만들어진 스카이박스를 사용하거나 직접 만들어서 Unity에서 적용할 수 있다.
- 게임 중에 스카이박스를 동적으로 변경하여 낮과 밤 등의 시간대나 특정 이벤트에 맞게 배경을 변화시킬 수 있다.
- 성능에 영향을 미치므로 최적화에 주의해야 한다.
Rigidbody 컴포넌트를 사용하여 게임 오브젝트에 물리적인 힘을 가할 때, 이 ForceMode를 사용하여 다양한 힘 적용 방식을 설정할 수 있다.
주로 사용하는 것은 4가지가 존재한다.
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);
이러한 ForceMode를 적절히 활용하면, 게임 오브젝트에 원하는 물리적인 움직임과 효과를 부여할 수 있다.
TryGetComponent는 게임 오브젝트의 컴포넌트를 가져오는 기능인데, 특정 컴포넌트가 게임 오브젝트에 연결되어 있는지 확인하고, 연결되어 있을 경우에만 해당 컴포넌트를 가져온다.
public bool TryGetComponent<T>(out T component) where T : Component;
T : 가져오려는 컴포넌트의 타입. MonoBehaviour를 상속한 컴포넌트는 모두 사용 가능component : 컴포넌트를 가져올 때 사용되는 out 매개변수TryGetComponent는 컴포넌트가 없어도 예외를 발생시키지 않는다. 이를 통해 더 안전하게 컴포넌트를 가져올 수 있다.
Coroutine은 작업을 다수의 프레임에 분산하는 메서드이다. Unity에서 코루틴은 실행을 일시정지하고 제어를 Unity에 반환하지만 중단한 부분에서 다음 프레임을 계속할 수 있는 메서드이다.
주의할 점은 코루틴은 스레드가 아니라는 점이다. 코루틴의 동기 작업은 여전히 메인 스레드에서 실행된다.

Light Source란 게임 또는 3D 렌더링에 광원을 추가하는 데 사용된다. 이것은 특정 위치 또는 방향에서 발생하는 빛을 나타낸다.
AnimationCurve란 애니메이션의 Keyframe을 사용하여 값을 보간(interpolate) 하는 데 사용되는 클래스이다. 이 클래스를 사용하여 시간에 따라 값을 부드럽게 변화시키는 커브를 정의하고, 이를 기반으로 애니메이션을 만들 수 있다.
AnimationCurve는 주로 애니메이션 시간에 따른 값을 정의하는 데 사용되며, 특히 더 복잡한 애니메이션을 제어하기 위해 사용되는 경우가 많다. 예를 들어, 오브젝트의 움직임, 크기 조정, 회전 등에 대한 애니메이션을 정의할 때 사용한다.
<예시> : AnimationCurve 주요 메서드 사용법
using UnityEngine; public class ExampleScript : MonoBehaviour { private AnimationCurve curve; private void Start() { // 새로운 AnimationCurve 생성 curve = new AnimationCurve(); // 키프레임 추가 (시간, 값) curve.AddKey(0f, 0f); curve.AddKey(1f, 1f); } private void Update() { // 시간에 따라 값을 보간하여 출력 float time = Time.time; float value = curve.Evaluate(time); Debug.Log("Time: " + time + ", Value: " + value); } }
Add Key : 새로운 Keyframe 추가 Evaluate : 특정 시간에 해당하는 값을 보간하여 반환keys : Keyframe의 배열을 가져온다. 이를 통해 Keyframe을 추가, 수정, 삭제할 수 있다.