유니티 - Custom Vertex Stream and Shadergraph/Amplify Shader



유니티 - Custom Vertex Stream and Shadergraph/Amplify Shader

금별 0 5,624 2019.12.29 23:02

 

 

 

Since few weeks, I saw many questions about ’ Custom Vertex Stream ’ (called CVS here) on Shuriken with Shadergraph/Amplify Shader

First, here a really good post about CVS by Mirza Beig where a lot of things are explains : http://www.mirzabeig.com/tutorials/intro-to-custom-particle-vertex-streams/ 102

I will only tacle how to link CVS and Shadergraph/Amplify Shader!

Here the shader we will use for Shadergraph:

 

Base_Shader


And here the shader we will use for Amplify Shader:

 

Base_Amplify

 

1: UV channel selector, the first important part in the shader
2: RGBA split component, the second important part!
The only difference between the two shadernode editors is the uv channel:
Shadergraph starts at 0
Amplify starts at 1

Let’s go to Shuriken now ! We add a new material with the shader we created in Shuriken renderer.
The setup is the simpliest as possible, only one particle and only the one ’ Custom Data ’ in CVS (we can’t delete the Position!)

 

Shuriken

 

1: Enable CVS and add a Custom1.xyzw data

 

Shuriken_1

 

2: Enable ’ Custom Data ’ module, set the Custom1 to Vector and 4 component

Custom1 is setup like that:
X : Start at 1 and decrease to 0 at midlife
Y : Start at 0 and at midlife go to 1
Z : Const 0
W : Const 0

And here the result you should have:

 

Result_1

 

Let’s describe a bit what happens!

 

Liens


CVS and Custom Data :

- It’s simple, the Custom1 in CVS is the Custom1 in Custom data. You can animate here the XYZW component with const, curve or color.
CVS and Shadergraph/Amplify :

- Near Custom1 in CVS, we can see Unity give us a tip on how to link that in Shadergraph/Amplify with (TEXCOORD0.xyzw). TEXCOORD is our UV channel and the 0 say it’s our first UV channel.
We can resume with this array

Array

 


But what if we have more data to send ? Our best friend become the number near TEXCOORD
Here a case :

 

many


In resume we have:

- TEXCOORDX = UV channel X for Shadergraph and UV channel X+1 for Amplify.
- XYZW = RGBA for Shadergraph and UVWT for Amplify
One particular thing we see with StableRandom.xyzw is the TEXCOORD2.yzw**|**x
Unity wants to say us ’ StableRandom.xyzw starts in TEXCOORD2.yzw and finishes in the next one,TEXCOORD3.x ’


And here we go! We can now make crazy SHEBAM ! POW ! BLOP ! WIIIZZ !
I hope this can help, forgive me my language mistakes, don’t hesitate to correct me to make this a bit clearer or add/remove/correct any informations!

 

 

 

 

 

Another User example

 

image

Using this feature you can make texture panning from curve x if you have UV output Z(W in amplify). It will be one curve for your Z value and panning. I don’t know where you can use it, but anyway…

image
or you can make random texture coordinates using StableRandom

image

Tangent need when you use normal map in the shader.
Put like on this comment if you found out about it for the first time

 

 

One simple way is setting your colors as HDR in shadergraph

 

image

 

and use AgePercent to Lerp between the color

 

image


The only counterpart is if you want 4 different colors over the particule life, you will have to declare 4 colors :


 

image

 

Here the result :

 

test

In few words, each smoothstep provide a [0-1] value to lerp between the different colors.
The smoothstep range is define by [1 / 3 (numberOfSmoothstep)]

- for the first one you have [0 => 0.33]
- the seconde one : [0.33 => 0.33 * 2]
- the last one : [0.33 * 2 => 0.33 * 3]

I hope it’s what you’re looking for in a way!
And here the shader for example (you can see the setup for shuriken in the gif). Sorry, i don’t know how to add commentary in shadergraph… and it’s look like it’s impossible for the moment!

 

https://drive.google.com/file/d/19oafzIyZIg3qzvszjFwKc0z7ZHYOiPUZ/view

 

If someone have a simplier solution to have HDR color over lifetime, you must speak! now! 

 

Comments


번호 포토 분류 제목 글쓴이 날짜 조회
775 2D 섭스턴스디자인/언리얼적용 - 분화구형 크랙 텍스쳐 제작과정(한글자막) 금별 03.21 211
774 유니티 유니티/포토샵 - 불속성/물속성 소드 슬래시 간단 제작과정(한글자막) 금별 03.19 267
773 3D 블랜더를 활용한 매직 오브 제작과정(머트리얼메이커) 금별 03.19 149
772 2D 포토샵 - 리얼한 연기 간단 제작과정 금별 03.19 195
771 유니티 유니티 - 2D 형태 충격파 궁극기 제작과정 금별 03.17 276
770 2D 애프터이펙트 - 2D 물속성 원통회전 효과 제작과정 금별 03.17 178
769 2D 애프터이펙트 - 2D 물회오리 형태 아우라 모이는 효과 제작방법(한글자막) 금별 03.14 160
768 언리얼4 언리얼 - Stylized 연기효과 제작과정(한글자막) 금별 03.13 229
767 언리얼4 언리얼 - 워터링 머트리얼 제작노드예제 금별 03.11 217
766 유니티 유니티 셰이더 그래프 - 글리치 효과 제작과정 금별 03.10 238
765 3D 후디니를 사용해서 이펙트 메쉬 제작후 HDA툴 제작하기 금별 03.10 184
764 2D 섭스턴스 디자인 - 물튀김 텍스쳐 제작과정 금별 03.10 215
763 2D 포토샵/맥스 - 연기형태의 메쉬 및 텍스쳐 제작방법 금별 03.10 197
762 2D 포토샵 - 잎파리/눈결정체 시퀀스 제작하기 금별 03.10 230
761 2D 포토샵 - 수박무늬 베이스 롤스타일 바닥크랙 텍스쳐 제작과정 금별 03.10 140
760 언리얼4 메쉬를 활용 페이크 볼류메트릭 스모크 간단제작짤방 금별 03.08 182
759 언리얼4 언리얼/게임이펙트기초 - 린반님의 사소한 라이브1(질답위주 라이브) 금별 03.06 155
758 2D 섭스턴스 디자인 - VFX 해골 네크로 발사체 트레일 텍스처 제작방법 part1(한글자막) 금별 03.06 168
757 언리얼4 언리얼5 - 리마스터 파라곤 FX part1 금별 03.06 175
756 언리얼4 언리얼 - 나이아가라에서 For Loops를 사용해 가장 높은 파티클 찾기(한글자막) 금별 03.05 143
755 언리얼4 언리얼 - 충돌(콜리전) 채널로 충돌 제어(한글자막) 금별 03.05 146
754 언리얼4 언리얼 - 월드포지션옵셋으로 뿌리를 내리는 효과 제작과정(한글자막) 금별 03.05 137

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand