[UE4] 오브젝트 포지션 함정

머티리얼에서 각각의 오브젝트의 위치를 ​​잡고 싶다! 라고 할 때
액터 포지션 노드나 오브젝트 포지션 노드를 사용하는 것이 있겠지요.

htps : // / cs. 그래, 응. 코 m/쟈/엔기네/렌데린 g/마테리아 ls/에 xp 레시 온레후에렌세/코오 rぢ 어서 s/어서 x. HTML

이 중 액터 포지션은 피벗 위치를.
객체 위치는 바운딩 박스의 중심 위치를 반환합니다.

이쪽이 액터 포지션을 중심으로 돌린 경우.


여기가 오브젝트 포지션을 중심으로 돌린 경우.


위와 같이 이 두 노드는 이름이 비슷한 것에 비해 상당히 거동이 다르므로 조심해야 합니다만,
특히 오브젝트 포지션의 바운딩 박스의 중심 위치라고 하는 곳,
이것이 때때로 지뢰가 될 수 있습니다.

예를 들어, 똑같은 메쉬라도,
바운딩 박스를 조정하는 경우 객체 위치가 반환하는 위치가 다릅니다.


또, 똑같은 메쉬라도,
스켈레탈 메시와 스태틱 메쉬로 만들어지는 바운딩 박스가 다르기도 하기 때문에,

그러면 스켈레탈 메시를 스태틱 메쉬로 다시 가져오면 거동이 바뀌어 버리기도 합니다.


덧붙여서 왜 다른가 하면, 실은 스켈레탈 메시는 바운딩 박스 작성시 발밑에서 위쪽으로 확장하게 되어 있거나 하는군요.


그리고 심지어 객체 위치가 인스턴스화되었는지 여부에 따라 동작이 변경됩니다.

오브젝트 포지션은 고맙게도, 인스턴스에 대해서 사용하면 인스턴스 각각 개별의 위치를 ​​돌려줍니다만,
위의 코드를 보면 알 수 있듯이
인스턴스의 때는 바운딩 박스의 중심 위치가 아니고, 각각의 로컬 위치를 돌려줍니다.

즉,
스태틱 메쉬 액터로 나란히 있는 경우.


인스턴스에 정렬된 경우.

이렇게 거동이 달라집니다.
최적화를 위해 인스턴싱하면 거동이 바뀌었다는 것이 일어날 수 있다는 것입니다.

매우 편리한 객체 위치 노드이지만,
상기와 같은 약간의 함정이 있으므로, 여러분 사용시에는 주의해 주시면 다행입니다.
(물론 나는 훌륭하게 쌓인 경험이 있습니다.)

좋은 웹페이지 즐겨찾기