Unity/내가 배운것들

디렉셔널 라이트를 Mixed로 놓고 베이크를 하게 되면 라이팅이 다 완료되었는데도 위 그림처럼 얼룩진 부분이 생긴다. UV가 겹쳤나.. 하고 확인해보아도 겹친 부분은 보이지 않는다면, 해결방법은 다음과 같다. 이 부분이 원래는 Adavanced로 되어있을텐데, Auto로 바꾸어주자. 그러면 다시 깔끔하게 나오는 라이팅을 볼 수 있을 것이다. 찾아내느라 상당히 고생을 했다 휴~. 부가 설명을 덧붙이자면 저 필터링 부분은 라이트맵의 노이즈를 감소시키는 역할을 하는데 Advanced는 항목이 너무 많고 일일이 다 베이킹해서 확인하기도 귀찮기 때문에.. 또 저 필터를 설정을 안하게 되면 다음과 같이 노이즈가 엄청 낀다. 그냥 편하게 Auto 해주자.
유니티의 Character Controller는 여러 용도로 많이 쓰인다. 리지드바디를 사용할 수 없다는 단점이 있긴 하지만... 그래서 프로젝트에 적용하던 중, 캐릭터 컨트롤러의 Move 메서드를 사용하면 바라보는 방향과 다르게 움직이는 것을 발견. 공식 문서를 보니 절대값 이동이네요. 즉 월드좌표로만 이동한다는 것... 즉, 움직일 벡터를 월드 좌표로 변환해서 써야 된다는 소리다. 다음 코드와 같이 transform.TransformDirection(Vector3 direction) 을 이용하면 쉽게 해결된다. controller.Move(Time.deltaTime * speed * transform.TransformDirection(moveDir.normalized));
OSOR2
'Unity/내가 배운것들' 카테고리의 글 목록