Posts (Amplify) World Position Offset(Black Hole) Shaders
Post
Cancel

(Amplify) World Position Offset(Black Hole) Shaders

Summary


  • 특정 월드 좌표로 빨려 들어가는 효과


1. Simple Move


  • 현재 좌표로부터 타겟 위치까지 T(0 ~ 1) 값에 따라 선형 보간하여 단순 이동

2021_0704_WPO_01

ScreenshotASE


2. Procedural Move


  • 현재 좌표로부터 타겟 위치까지 T(0 ~ 1) 값에 따라 선형 보간하여 빨려 들어가는 효과

  • (버텍스 -> 타겟 위치) 방향 벡터와 노멀 벡터의 내적 결과값을 마스크로 사용한다.

2021_0704_WPO_02

ScreenshotASE


3. Dramatic Move


  • 현재 좌표로부터 타겟 위치까지 T(0 ~ 1) 값에 따라 선형 보간하여 빨려 들어가는 효과

  • (버텍스 -> 타겟 위치) 방향 벡터와 노멀 벡터의 내적 결과값을 마스크로 사용한다.

  • Lerp에 들어갈 0 ~ 1 범위 값을 Step 노드를 통해 0, 1 값으로 이분하여 극적인 효과를 준다.

2021_0704_WPO_03

ScreenshotASE


4. Range


  • T(0 ~ 1) 값 대신, 효과가 미칠 범위 값(Range)을 기준값으로 사용한다.

  • Smoothness 값을 조정하여 다양한 효과를 연출할 수 있다.

2021_0704_WPO_04

2021_0704_WPO_04_02

ScreenshotASE


image

계산을 시각화하면 위와 같다.


[1] 정점이 움직이지 않는 경우

image

  • DistanceRange보다 큰(멀리 있는) 정점들은 LerpValue 값이 0이 되어 모두 원래 위치에 존재한다.


[2] 정점이 이동 중인 경우

image

  • Distance(Range - Smoothness) ~ Range 내에 있는 정점들은 LerpValue 값이 0 ~ 1 값을 가지며, 그 값에 따라 이동 거리가 결정된다.


[3] 정점이 타겟 위치로 완전히 이동한 경우

image

  • Distance(Range - Smoothness)보다 작은 범위에 있는 정점들은 LerpValue 값이 1이 되어 모두 타겟 위치에 존재한다.


5. Twirl


  • Vertex -> Target 방향 벡터와 Object View Dir 벡터를 외적하여 진행 방향에 수직인 벡터를 계산한다.

  • Target Position과 위의 벡터를 서로 더한 위치를 계산한다.

  • 현재 정점 위치로부터 위에서 얻은 위치 벡터를 Lerp를 통해 보간하여 중간 위치를 얻고, 그 결과를 다시 Target Position과 보간하여, 결과적으로 진행방향이 둥글게 왜곡된다.

2021_0704_WPO_05

ScreenshotASE


Download


This post is licensed under CC BY 4.0 by the author.