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



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

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


번호 포토 분류 제목 글쓴이 날짜 조회
495 언리얼4 언리얼5 - 레벨에서 나이아가라 이펙트가 보이지 않을때 해결방법 금별 2023.05.15 3542
494 언리얼4 이펙터의 모든것! 게임이펙터 O/X 인터뷰 [신입~3년차] new 금별 2023.05.15 3625
493 언리얼4 Parallax Frost Material in UE5.2 Tutorial | Download Files ashif 2023.05.10 2234
492 언리얼4 언리얼 - 노출 변화화에 상관업이 이미시브 색상을 유지하는 방법 금별 2023.05.10 3474
491 유니티 유니티 쉐이더 팁 - 스텐실 버퍼를 활용한 카드형 포털 효과 금별 2023.05.10 3084
490 유니티 유니티 URP/HDRP - 스크린 공간·렌즈 플레어로 편하게 반짝 반짝 표현하기 금별 2023.05.08 4815
489 유니티 유니티 앰플리 - 웨이브 디폼 형태의 옷가락 날리는 효과 구현 예제 금별 2023.05.08 3262
488 유니티 유니티 앰플리 - 붕괴 스타레일류 빨려들어가는 트랜지션효과 간단구현 금별 2023.05.08 5372
487 유니티 유니티 - 불,얼음,전기 속성 텍스쳐 구성 팁 금별 2023.05.08 4251
486 유니티 유니티 VFX 그래프 - Six-way lighting workflow new 금별 2023.05.04 3019
485 언리얼4 언리얼5 퀵팁 - VFX 아티스트들이 가장 많이 사용하는 5가지 UV 트릭 금별 2023.05.04 2881
484 언리얼4 언리얼5 퀵팁 - 텍스쳐를 나선형으로 만들기(polar coordinates) 금별 2023.05.04 3440
483 언리얼4 언리얼 - Drawing Locations to a Render Target 금별 2023.05.04 1972
482 2D 포토샵 - 간단한 노이즈 3종 제작방법 금별 2023.05.02 4650
481 2D 포토샵 - 간단한 플레어 텍스쳐 제작방법 금별 2023.05.02 2292
480 2D 포토샵 - 간단한 빔텍스쳐 제작방법 금별 2023.05.02 2368
479 2D 포토샵 - 간단한 소용돌이 형태 텍스쳐 제작방법 금별 2023.05.02 3124
478 2D 포토샵 - 플레임 히트 텍스쳐 제작방법 금별 2023.05.02 2419
477 유니티 유니티 - 패럴랙스 맵핑을 활용한 데칼제작 예제 금별 2023.05.02 3047
476 유니티 유니티 - 간단 번개 제작방법 금별 2023.04.30 3855
475 언리얼4 언리얼 - 수중 커스틱스 효과 제작방법 금별 2023.04.25 2360
474 언리얼4 언리얼5 - 나이아가라 활용 캐릭에 라이트닝 효과 제작방법 금별 2023.04.25 1926

 

Banner
 
Facebook Twitter GooglePlus KakaoStory NaverBand