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



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

금별 0 7,490 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


번호 포토 분류 제목 글쓴이 날짜 조회
1107 언리얼4 언리얼5/후디니 - 후디니에서 UE5로 ID정보 내보내기(한글자막) 금별 02.15 869
1106 언리얼4 언리얼5 - 로컬스페이스 3D 프로젝션[UV의 공간 텍스쳐 투영](한글자막) 금별 02.15 868
1105 3D 후디니 - 게임을 위한 VDB 압축 | Houdini용 ZibraVDB(알파) 금별 02.15 1047
1104 유니티 유니티 - 역동적인 디졸브활용 세계 변화 효과를 만드는 방법(한글자막) 금별 02.15 1065
1103 언리얼4 Volumetric Smoke in Unreal Engine 5 Material Tutorial ashif 02.14 839
1102 언리얼4 언리얼5+C4d - 나무 줄기 생성 효과 제작팁(한글자막) 금별 02.06 991
1101 언리얼4 언리얼5 - 패럴랙스 형태 카드 효과 제작과정(한글자막) 금별 02.04 974
1100 유니티 유니티 셰이더 그래프 - 오디오 비주얼 스케일 효과 간단제작과정(한글자막) 금별 02.03 1139
1099 언리얼4 언리얼 간단팁 - 웨이브 형태 움직임의 UV 제어방법 금별 02.03 1105
1098 언리얼4 언리얼5 - 사용자 정의 LED 텍스트 제작과정(한글자막) 금별 02.03 956
1097 언리얼4 언리얼 - 플루이드 닌자를 활용한 연기느낌 디졸브 제작 금별 02.03 1042
1096 언리얼4 언리얼5 - 스크래치 모듈이 작동하는 방식(한글자막) 금별 02.03 1028
1095 2D 어도비 애니메이트 - 번개 시퀀스 텍스쳐 제작과정 금별 02.03 1320
1094 언리얼4 언리얼 - 간단한 9분할 느낌의 글리치 효과 제작과정 금별 02.03 1155
1093 유니티 유니티 - 원형 파동 패턴과 애니메이션 폴라코디네이트(한글자막) 금별 02.03 1155
1092 유니티 유니티 셰이더 그래프 - 상호작용 조명 및 fake 볼류메트릭 연기 제작(한글자막) 금별 02.03 1132
1091 유니티 유니티 앰플리파이 셰이더 - 페이크 뎁스를 사용한 VFX_Parallax Shader 활용과정(한글자막) 금별 02.03 1096
1090 유니티 유니티 - 사용자 정의 라이팅 모델1,2 (한글자막) 금별 02.03 1022
1089 언리얼4 언리얼 린반라이브 - 팹 애셋 버전지원 5.5관련/이펙트,캐릭 소팅문제/시퀀서 포스트프로세스 효과 주기 등 금별 02.03 886
1088 언리얼4 언리얼5 - 나이아가라 스타 트레일링 효과 제작과정(한글자막) 금별 02.03 869
1087 언리얼4 언리얼5 - 나이아가라_트레일 컨버전스 효과 제작과정(한글자막) 금별 01.23 1039
1086 유니티 유니티 - 캐릭터 아웃라인 효과 제작예제(한글자막) 금별 01.23 1135

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand