개요

Return Nomalized Exec index 를 활용하여
리본 렌더러를 스프라이트처럼 활용해봅시다.
그리고 커브값에도 활용하여
꿈틀거리는 형태를 만들어 봅시다
( Breath FX 에 활용가능 )
리본 렌더러를 스프라이트처럼 사용하기

*보기 편하도록 (스프라이트 렌더러) 와 (리본 렌더러)를 같이 넣었습니다.
1. Spawn Burst (2개 이상 -> 리본 렌더러 때문에)
2. Position을 넣고 Conver Vector to Position 으로 연결해줍니다
( 벡터를 위치로 변환하는 노드 )
3. X 값만 사용해야하니, 벡터를 분리
4. X값에 Return Normalized Exec Index 연결
( 범위 값을 늘릴수록 리본의 길이가 결정됨 )
( 위 사진같은 경우 0~1000 -> 길이가 1000 )

먼저 태어난 곳이 1
나중에 태어난 곳이 0
(파티클의 Age 순서대로)
그래서 리본렌더러를 사용하면
Material 에서 보이는 것과 반대로 보입니다.

먼저 태어난 곳을 0으로
나중에 태어난 곳을 1로
정규화(0~1) 시킵니다.
리본 렌더러의 방향을 바꿔주기 위해서 사용하는 노드입니다.
텍스쳐의 방향이 반대로 되어있다면 사용하지 않아도 됩니다.
리본 렌더러를 꿈틀거리게 만드는 방법

위 방법으로 만든 리본입니다.
꿈틀거리게 하려면 현재보다는 더 많은 버텍스가 필요합니다.


1. Spawn Burst 를 늘려줍니다
(처음에 Position 설정했던 Normalized index 때문에
일정 간격으로 파티클이 생겨서 리본의 가로 세그먼트 수가 늘어납니다.)
2. 리본 렌더러에서 (너비 세그멘테이션 수)를 늘려줍니다.
( 현재는 10×10으로 했는데, 꽤 높은 수치입니다 )

(이해를 돕기 위해 텍스쳐를 변경했습니다)
꿈틀거리게 하려면, 너비를 제어해야하기 때문에
Particle Update 에 Ribbon Width 어트리뷰트를 넣어줍니다.
A는 리본의 넓이값
B는 꿈틀거리에 하는 값
이렇게 만들어서 Multiply를 해줍니다.

Curce index에 Normalize Exec Index
(0~1 정규화)를 연결해주면
그래프에 따라 리본의 모양이 바뀝니다.

Normalize Exec Index (0~1 정규화) 된 커브값에
1을 더해줬더니 사라졌습니다.
이유는
그래프에서 보면 1~2는 값이 0 이기 때문입니다.
이를 해결하기 위해서
Modulo Float 을 사용할겁니다.
Modulo Float 은
나머지 연산이라는 뜻으로
나누고 난 후 나머지를 구하는 식입니다.
(1로 나눈다고 가정)
1.4 / “1” => 몫은 1이고 나머지는 0.4
1.7 / “1” => 몫은 1이고 나머지는 0.7
2.1 / “1” => 몫은 1이고 나머지는 0.1
5.6 / “1” => 몫은 1이고 나머지는 0.6
8.1 / “1” => 몫은 1이고 나머지는 0.1

그럼 다음과 같은 결과가 나옵니다.
그래프가 0~1, 0~1, 0~1 … 이렇게 반복되고 있는겁니다.
Modulo를 사용하지 않았더라면
0~1, 1~2 , 2~3 … 이렇게 1이 넘어가는 순간 0이되어 보이지 않았을 겁니다.
그리고 위 영상에서 현재 올리고 있는 값은
이미터가 끝날 때까지 계속 되어야하므로
(Emmiter) Age 로 설정하고
그 속도는 Float값으로 제어합니다. (Multiply해서)

앞으로 꿈틀거리는 모양을 만들고 싶어서
Age에 -1을 곱해줬더니
리본이 사라졌습니다.
이유는
0~1 (Nomalize index) 에 -1을 더하면
-1 ~ 0 이 되는데
이걸 1로 나누면 (Modulo)
-1 ~ 0 이 됩니다.
그래프에서 -1~0 을 보면 값이 0으로 되어있습니다.
그래서 위 영상처럼 -값을 더해주면 사라지게 됩니다.

해결방법으로 Abs (절댓값) 을 넣어줍니다.
이러면 -값이 되어도 다시 양수가 되어
그래프대로 출력이 됩니다.

보기 좋게 그래프/세그먼트 수를 설정해서 조정해줍니다.
그리고 A에 있던 리본의 너비값은 (초기)Ribbon Width 를 연결해서
Initialize Particle 에 있는 리본 너비 값으로 조절할 수 있게 변경합니다. (번거로우므로)
Frac

Modulo 대신에 Frac을 써도 됩니다.
Moudol는 나눈 나머지만 사용
Frac은 소수점만 사용
(역할이 같습니다)
끝
이렇게 하면 리본을 스프라이트처럼 사용하고,
세그먼트수도 마음대로 늘려서 입맛대로 제어할 수 있습니다.