내일배움캠프 29일차 5/27 TIL + Unity공부
스카이박스
Window - Rendering - Lighting - Environment 에 Skybox Material에 만든 Material을 설정하면 되고, 그 후 Material을 변경하면 하늘과 배경이 바뀐다.
Sun 에는 Light 개체를 넣어주면 태양을 조절할 수 있다.
AnimationCurve
애니메이션의 변화를 조절할 수 있는 기능
AnimationCurve animationCurve
float intensity = animationCurve.Evaluate(time);
이런 식으로 시간에 따라 변화를 줄 때 time을 0~1까지 소수 값으로 0퍼센트에서 100퍼센트까지 조절하여 값을 넣어주면 이를 기준으로 해당 시간에 곡선 값을 반환한다.
그러면 해당 값으로 애니메이션을 적용하려는 물체의 색, 위치, 회전 등등을 조절할 수 있다.
이 때 곡선을 구성하는 주요 구성요소는 keyframe으로
curve = new AnimationCurve();
// 키프레임 추가
curve.AddKey(0f, 0f);
curve.AddKey(1f, 2f);
curve.AddKey(2f, 0f);
// 특정 시간에서 곡선의 값을 평가
float valueAtTime1 = curve.Evaluate(1f);
이런식으로 시간, 값을 key로 해당 시간에 해당 값을 추가하면 이를 기준으로 곡선이 만들어진다.
Gradient
추가로
Gradient gradient;
lightSource.color = gradient.Evaluate(time);
이런식으로 Gradient를 쓰면 똑같은 time을 사용해서 시간에 따른 색 변화를 줄 수도 있다.
RayCast
방향을 정하여 그 방향에 존재하는 물체들을 정해둔 거리 내에서는 모두 확인하는 기능
LayerMask로 무시할 물체를 정할 수 있다.
뷰 절두체
출처 : https://docs.unity3d.com/kr/2020.3/Manual/UnderstandingFrustum.html 유니티 공식문서
카메라는 위에 사진에 보이는 Near clipping plane부터 Far clipping plane 내에 있는 오브젝트만 원근법을 적용하여 렌더링하며, 이보다 가깝거나 멀리있는 물체는 렌더링 되지 않는다.
InvokeRepeating
InvokeRepeating("MethodName", startTime, callRate);
MethodName에 함수 이름을 string으로 입력하면 startTime 초 뒤에 시작해서 callRate 초마다 해당 함수를 시행하는 방법