Work On
https://learn.unity.com/project/make-a-flag-move-with-shadergraph
Make a Flag Wave with Shadergraph - Unity Learn
In this project, you will learn how to create a shader to make a flag wave utilizing the Time, Sine and UV nodes to give the flag a wave effect.
learn.unity.com
Introduction to ShaderGraph
- 버전이 달라서 맞는 결과인지는 모르겠으나, alpha채널이 존재하지 않아, RGB 채널을 더하여 사용하였다. 물론 여기에서는 한 채널만 넣어도 될 것 같으나, 그걸 의도하지는 않았으리라 생각한다.
- 저번에는 mutiple를 사용하여 두 개의 텍스처(?) 를 합쳤지만, blend를 통해서도 가능하다. 특히 블랜드의 경우 Mode를 통해 특수한 혼합을 할 수 있다.
chatgpt에 의하면, mutiple 노드는 색상 및 밝기을 변화시키거나 마스크를 생성하는 게에 사용할 수 있고, Blend 노드 이번사용과 같이 alpha 채널(다르게 활용가능 할테지만, 투명도 채널) 블렌딩에 사용한다
shaderGraph: Vertex Position
- space를 world로 하고 이를 Vertex모드의 position에 연결한다.
- 이에 대해 학습 컨텐츠에서 카메라가 선회할때, 설명하는 객체가 사라졌다가 카메라를 향하도록 다시 나타난다는 게 이해는 않간다.
- space 노드의 역할은 좌표값을 반환하는 것이다. space의 select box에는 object, view, world, tanget, absolute world 가 있다.
- object는 오브젝트의 좌표계(로컬 좌표계) 에서의 좌표를 반환한다. 세이더가 연결된 개체에 대해 유용하다.
- view는 viewer의 좌표계에서 좌표를 반환한다. viewer가 직면할 때의 효과에 유용하다.
- World 씬의 좌표계(절대 좌표계), 전체 장면의 위치데이터가 필요할 때 유용하다.
- tangent ?
- absolute world, 스크립터블 Render pipeline에 따라 world(기본 좌표계)가 달라서 별도로 있는 듯 하다.
- 해당 쉐이더는 절대좌표계만큼, 텍스쳐가 오브젝트에 이동해 있다. 즉 절대좌표계 0,0,0에서 오브젝트가 위치한 만큼, 오브젝트에서 텍스쳐가 이동되어 나타난다.
Shader Graph : Time node, Gradient
- time node와 gradient 노드
Shader Graph : add ,split, sine,combine, one minus node
- 일단 그냥 따라 만들었는데, 간단히 분석하자면, posion 노드가 반환하는게, 오브젝트를 표현하는 정점의 좌표이다. 이를 split node로 분해하고, z 좌표를 변수로 sine 함수에 넣고 나온 값을 y 좌표 값으로 사용한 것
- 이때 그려지는 깃발은 정의역이 z인 sine 그래프를 그린다. 이때 모든 부분이 움직이는데, 움직이지 않는 축을 만들기 위해, 일종의 gradient(Uv에서 가져온)를 사용해, sine에 영향받지 않는 선을 만들어 낸다.
- 여기에 시간에 따른 변화를 주기위해, time node의 sine를 사용하면 펄럭~
Shader Graph : Vertex Displacement
- position과 보르노이?(결과가 왜이럼)를 이용한 간단한 텍스쳐 효과
- 여기에 world 좌표계를 사용하면, 물체가 이동하면서 변형되는 효과를 줄 수 있다.
'Study > Unity learn' 카테고리의 다른 글
Unity / Basic Design Patterns (0) | 2024.05.23 |
---|---|
Unity learn - Creative Core (0) | 2024.04.29 |
Unity learn - Unity Junior Programmer (0) | 2024.04.09 |
Unity learn - Unity Essentials (0) | 2024.04.04 |
Unity learn - FPS Microgame Customize (0) | 2024.04.03 |