메시 디스턴스 필드 노드를 활용하여 각 버텍스를 일정 방향으로 이동시킬 수 있다.
https://www.youtube.com/watch?v=5Lmp1h7cpHQ
https://www.youtube.com/watch?v=EHY_iHpqYkk
Distance Field를 활용해서 메시를 변형한다.
- DistanceFieldGradient : 가장 가까운 표면의 상대적인 방향을 알 수 있다.
- DistanceToNearestSurface : 가장 가까운 표면까지의 거리이다.
DistanceToNearestSurface 를 최대 거리 (Max Distance) 로 나누어 0 ~ 1이상으로 만들고, 이것을 반전시켜 변형 Mask로 사용한다. Max Distance 이상의 거리에서는 값이 0이다.
WPOMask = 1.0 - saturate(DistanceToNearestSurface / MaxDist);
WPO 방향 : DistanceFieldGradient 벡터를 반전시킨다. (가장 가까운 표면방향의 반대 방향으로 버텍스를 당겨야 한다)
Mask 에 Power를 한 이유는, 그라디언트를 선형에서 곡선형으로 만들기 위함이다.
(늘어나는 모양이 좀더 점성이 있는 것 처럼 급격한 곡선 모양이 된다)
시각화
아래 이미지에서 흰색으로 마스킹 된 부분은 Distance Field 를 일정 거리로 나눈 뒤 반전시킨 것으로, 표면에 붙는 듯한 변형이 생기는 부분이다.
메시 표면으로부터 거리가 가까울수록 값이 커진다.
'Unreal Engine' 카테고리의 다른 글
Subsurface Shading Model in Unreal Engine (0) | 2024.06.30 |
---|---|
Subsurface Profile Shading Model in Unreal Engine (1) | 2024.05.12 |
핵이 있는 머터리얼 표현하기 (in UE) (0) | 2023.09.28 |
언리얼 최적화 가이드 (Expert's guide to unreal engine performance) (0) | 2023.09.02 |
Unreal에서의 NaN / Inf 대응 (0) | 2023.07.10 |