Unreal/Unreal_Niagara

Unreal Niagara Sword Trail

이족보행달팽이 2024. 12. 20. 13:00

 

Tip)

2&3번에서 2번은 index 0번, 3번은 index 1번이다.

 

4번에서 Vec3으로 변수를 생성해서 subtract velocity를 넣지 않고, subtract position을 넣어야 정상 작동함.

인텔리전스로 2개다 나오는데 velocity가 먼저 마킹되어서 한번 더 확인할 필요가 있다.

 

추가적으로 subtract을 하는 이유는 두 점의 좌표인 A와 B에서 A-B를 할 경우,  B->A로 향하는 벡터를 얻을 수 있음

 

5번에서 리본은 중심점을 기준으로 좌우로 폭를 가지는 오브젝트이기에

두 소켓의 좌표의 거리가 리본의 폭의 길이로 잡았다. 그래서 리본의 좌표는 두 소켓의 사이의 중심점이 된다.

Lerp는 두 지점에서 그 사이의 값을 0~1로 표현하는 방식이기에,

0.5를 넣어서 두 점의 사이의 중심점의 좌표를 얻을 수 있어서 사용한다.

 

 

개량)

조금더 생각해보면 두 소켓을 기준으로 잡은 Ribbon의 폭이 비례식으로 변동된다면

두 소켓의 좌표로 중심점을 잡았기에 검끝으로 위치가 맞지 않을 것이다.

그래서 리본의 폭의 길이와 Lerp의 alpha와의 관계식을 작성했다.

왼쪽 끝이 A이고, 오른쪽 끝을 B로 두었다.

A와 B의 Lerp이므로 0에서부터 길이를 생각해서 그 절반 지점이 Alpha의 좌표이다.

반대로 B를 기준으로 좌표를 구한다면 1-Alpha가 B기준 좌표이다.

 

B와 A의 관계를 바꾼다면 1-Alpha의 과정을 생략하고 B기준 좌표를 구할 수 있다.

 

 

 

자세한 과정은 아래 영상에서 볼 수 있다.

https://youtu.be/LibOjabsOw8?si=i1u3X4rwubmp7KXO