오늘은 정신적으로 많이 힘들어서 많은걸 작성하진 못한다.
그래도 한것들이 꽤 있어 일단 작성을 시작한다.
Vector3는 3차원 좌표처럼 쓸수도 있지만, 추가적인 기능들이 여러가지 존재한다. 어찌보면 여러 이동관련을 이어주는 관련된 몇가지 메소드를 보자.
Vector3.Lerp(vector3 a, vector3 b, float t)
Lerp메소드이다. 정확한 로직은 a와 b 사이의 거리에서 float t의 비율에 있는 위치로 반환 이제 이걸 update에 넣고, 변수들로 처리해주면 자연스러운 이동을 처리한다.
이제 Vector3같은 경우도 position뿐 아니라 Color같이 Vector3형식을 쓰는 곳에서도 활용 가능하다.
Mathf.PingPong(t, length)
0에서 Length까지 순환합니다. Sin 그래프 같이 0 length 0 length로 반복하는 느낌이라고 보면 됩니다.
3D오브젝트에 있는 컴포넌트이다. 렌더링 할때 사용하고, 색상같은경우는 color로 추가로 바꿔주면 된다.
PlayerPrefs의 추가인자를 넣울 수 있다.
int t = PlayerPrefs.GetInt(Key, ?value)
여기서 value값은 선택 추가 인자이다. 이 값을 넣을시, Key의 PlayerPref이 없다면, value값을 기본값으로 받는다이다.
포스트 프로세싱이란 : 렌더링 이후 시각적 처리를 하는 작업이다. 물론 부하가 좀 걸리겠지만, 예쁘게 보이기 위해 사용한다. Unity에서 PostProcessing을 사용하려면
Unity Package에서 PostProcessing을 받는다.
PostProcessingVolume이라는 컴포넌트가 있는 객체가 필요하다. 여기서 연출 될 효과들을 설정해준다.
2-1. 이 때 이 포스트 포르세싱을 위한 Layer을 따로 하나 만들어 주어야한다.
사용하는 Camera에 PostProcess Layer이라는 컴포넌트를 넣어준다. 이 후 우리가 작업한 볼륨이 포함된 레이어를 포함시켜주면 된다.
특정 플레이 환경에서 처리를 위한 작업이라고 보면 된다. 플레이 환경에 따라 처리를 다르게 해 줘야 할 수 있으므로 사용한다. 기본적으로 "#"을 붙여 사용하며, 다음과 같은 예시처럼 사용된다.
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlayer = false;
#else
Application.Quit()
#endif
if, else앞에 #이 붙어있고, 마지막은 #endif로 이루어져 있다. 이처럼 전처리기 처리 시 endif를 포함시켜 줘서 사용하자.
위 해당 코드는 유니티 에디터에서 돌아갈시 위를, 그게 아니라면 어플리케이션을 종료하는 코드이다. 즉 각각의 플레폼마다 다르게 동작 가능 하다는 점이다.