Search Unity

Unity 2018.1은 새로운 수준의 관리 기능과 유연함을 제공하며, 특히 셰이더 그래프(Shader Graph)는 2018.1에 도입된 기능 중 가장 두드러지는 기능입니다. 전문가 수준이 아니더라도 흐르는 용암, 끈적거리는 점액질 더미, 아름다운 호수, 점멸하는LED 등 다양한 셰이더를 만들어 유용하게 활용할 수 있습니다.

셰이더 그래프를 사용하면 코드를 직접 작성하지 않고도 노드를 생성하고 그래프 네트워크 형태로 연결하여 셰이더를 시각적으로 구현할 수 있으며, 다음과 같은 다양한 작업이 가능합니다.

  • 표면 형상을 절차적으로 변경
  • UV 워핑 및 애니메이션화
  • 익숙한 이미지 수정 기능을 사용한 오브젝트의 외형 수정
  • 월드공간 내 위치, 노멀, 카메라와의 거리 등 오브젝트의 표면과 관련한 유용한 정보를 기반으로 오브젝트의 표면 변경
  • 머티리얼 인스펙터에 프로퍼티를 노출하여 씬의 컨텍스트에 따라 셰이더의 비주얼을 신속하게 미세 조정
  • 하위 그래프를 생성하여 여러 그래프와 사용자 간 노드 네트워크 공유
  • C# 및 HLSL을 통해 자체적으로 커스텀 셰이더 그래프 노드 생성

그래프 프레임워크를 통해 변경 사항에 대한 피드백을 바로 확인할 수 있으며, 초심자도 셰이더를 작성할 수 있을 만큼 사용이 간편합니다.

셰이더 그래프는 현재 베타 버전을 사용하실 수 있습니다! 샘플 프로젝트를 다운로드하여 Unity 2018.1 베타로 열고 살펴보세요. 셰이더 그래프는 패키지 관리자를 통해서도 다운로드할 수 있습니다.

셰이더 그래프는 Unity 2018.1의 또 다른 기능인 스크립터블 렌더 파이프라인(SRP)에서 작동하며, 내장된 레거시 Unity 렌더러에서는 사용할 수 없습니다. 셰이더 그래프는 기본적으로 다음을 지원합니다.

  • HDRP(High-Definition Render Pipeline; 고해상도 렌더 파이프라인)
  • LWRP(Lightweight Render Pipeline; 경량 렌더 파이프라인)

시스템을 확장하여 직접 작성한 커스텀 SRP용으로 셰이더를 익스포트할 수도 있습니다.

셰이더 그래프 생성 방법

Unity 2018.1에서 셰이더 그래프는 일반적인 셰이더로 표시됩니다. 셰이더 그래프를 만들려면 생성(Create) 메뉴를 클릭한 다음, 드롭다운에서 셰이더 그래프(Shader Graph)를 선택합니다. 그러면 프로젝트에 셰이더 그래프 에셋이 생성됩니다. 에셋을 두 번 클릭하거나 그래프 열기(Open Graph) 버튼을 선택하여 셰이더 그래프 편집(Shader Graph Edit) 창을 불러올 수 있습니다.

셰이더 그래프를 열면 먼저 ‘마스터 노드(Master Node)’가 표시됩니다. 이 마스터 노드에 노드를 연결하여 표면의 모습을 표현하게 됩니다. 기본 머티리얼 모델에 대해 자세히 알아보려면 기존 스탠다드 셰이더 문서를 참고하세요.

이제 기본값을 변경하기만 하면 표면을 간단히 편집할 수 있습니다. 더욱 텍스처를 비롯한 다른 복잡한 인터랙션도 추가할 수 있다는 것입니다. 마우스 오른쪽 버튼을 클릭하고 ‘노드 생성’을 선택하기만 하면 노드를 추가할 수 있습니다.

셰이더 그래프에 포함된 각 노드에는 다양한 입력값이 있으며, 원하는 대로 커스터마이즈할 수 있는 기본값이 포함되어 있습니다.

원하는 에셋 유형의 노드를 만들고 연결하기만 하면 텍스처를 비롯한 다양한 에셋을 손쉽게 추가할 수 있습니다.

Unity에서 셰이더 그래프(Shader Graph) 셰이더는 일반적인 셰이더와 똑같이 표시됩니다. 인스펙터의 오브젝트를 마우스 오른쪽 버튼으로 클릭한 다음 머티리얼 생성(Create Material)을 선택하세요. 하나의 셰이더에서 여러 개의 머티리얼을 만들 수 있습니다.

셰이더의 파라미터를 간편하게 노출시켜 셰이더에서 생성하는 머티리얼에서 덮어쓸 수 있습니다. 셰이더 그래프에서 원하는 파라미터 노드를 마우스 오른쪽 버튼으로 클릭한 다음 ‘프로퍼티로 전환(Convert to Property)’을 선택합니다. 노출된 파라미터가 셰이더에서 생성한 머티리얼의 머티리얼 인스펙터에 표시됩니다.

많은 튜토리얼을 보고 싶어요!

3월 7일에 셰이더 그래프에 관한 라이브 교육 세션이 개최됩니다! 유니티 이벤트 페이지에서 교육 세션에 등록하세요. 세션의 녹화본을 시청하려면 TwitterYouTube에서 유니티를 팔로우하세요. GDC에서도 셰이더 그래프에 관한 여러 대담이 진행됩니다. 새로운 소식을 받아보려면 여기에서 등록하세요.

앤디 터치(Andy Touch)의 GitHub의 셰이더 그래프 예시 라이브러리에서도 유용한 지식을 얻을 수 있습니다!

질문이 있어요!

언제든지 물어보세요. 성심성의껏 답변해 드리겠습니다. 유니티 포럼에서 궁금하신 점을 문의해 주세요.

33 코멘트

코멘트 구독

코멘트를 달 수 없습니다.

  1. Correction. It works with sprites. You need to use AlphaClipThreshold.

  2. Will Shader Graph allow you to create shaders for sprites? The current beta doesn’t allow it, it seems.

    1. I was wrong. It can be used to create shader sprites.

  3. The Unity 2018.1 Beta 13 doesn’t have Shader Graph. Why?

    1. You have to install it along with the Lightweight Render Pipeline from the package manager.

  4. when is unity 2018 coming out its April

  5. Unity, please allow users to create and use Unreal asset at runtime.

    1. Sorry, I meant Unity assets at runtime. It would be really unreal and epic to have such a feature :).

  6. Yasemin turan

    4월 4, 2018 3:43 오후

    Alsa

  7. I love the new concepts introduced, but I can’t help but worry that this new split is going to create problems to the platform flexibility of Unity. It sounds like publishing everywhere from a single source won’t be the case anymore.

    At the same time, something that may or may not be Unity’s decision, the lack of native support for Substance sounds like a mistake. Many if not most modern High End projects depend heavily on Substance and the lack of a way to use these materials before the new release goes public is problematic for those starting a new project today with the latest Unity.

    Lack of concrete plans from Alegorithmic for the release of the new plugin for Unity and lack of information about how much production ready this will be, may push a lot of those people who had started thinking of giving Unity a try now that the HD pipeline was announced, to go with Unreal instead.

  8. 我想会高变

  9. I’m a 13 year old artist and want to get into making 3 dimensional video games. I want to know what software I can use to make the models and animate them. And (if possible) be able to have a good game people would want to play.

    1. you should start with “BLENDER” to make and animate models. its free to use.

  10. Can we already develop shader which deform vertex, like waves and other deformations?

  11. i love this app its…the best

  12. Hello Unity.
    Just want to ask – why do you just don’t buy Amplify Shader Editor instead of developing your own bicycle like Shader Graph?
    Peace.

  13. I want to share a short blog about my Experiments with Shader Graph. In my blog, I’ve drescribed step by step to set up Shader Graph and also include 2 graph version of my shader which may be useful for you guys.
    https://killertee.wordpress.com/2018/02/28/experiments-with-unity-shader-graph-and-scriptable-render-pipeline/

  14. Hi! Just wanted to share a compilation made of the readily available Shader Graphs, and I added a couple of my own:
    https://github.com/RubenCUR/ShaderGraph-Examples

  15. “Therefore, you can’t use it with the Built-In Unity Renderer”

    I guess there are sound reasons for this decision, but Shader Graph not working with Built-In Unity Renderer sounds like strange design decision. I don’t know much about scriptable render pipeline yet, but I guess many users will still be using Built-In Renderer…

  16. The HD pipeline doesn’t support the shader graph? When I install it I cannot find shader graph under create menu like I do in the lightweight

    1. At least in 0b12 it does. But the editor is a bit slow compared to creating a classic material or an HD pipeline material. Feels similar to how Unreal material editor is where for every change you need to wait a couple of seconds until the shader is built. It is in early stages yet so I suppose it will be optimized in the future.

  17. This is such great news! Really looking forward to it!

  18. Very cool new feature! Nodes and all the settings saving possibilities make working with Shaders and Materials very easy. Thanks a lot!

  19. That’s great! Native shader editor is one of the most desired feature in Unity 2018. Thank you!

  20. I’ve been using Shader Forge for years. It’s really great and easy to use and all but even its creator admits that the shaders it generates are not the most optimized, especially if they are going to be used on lower end hardware. Is this likely to be an issue with the Unity Shader Graph shaders as well?

  21. Awesome to see Tim! Didn’t you write the Strumpy Shader Editor back in the day? I’m glad to see you’re talents are being used in this area again. :)

  22. este modo sera compatible con los shaders de blender ?

  23. I am using beta 8, but i cannot get the shader graph via the package manager… should i download the sample project first, or this is not related ?

  24. Great! Particularly like: “Create your own custom shader graph nodes through C# and HLSL”

    Is that node graph zoomable?
    Might be useful to have a standard node graph for editor scripts to use for other things – a node graph GUI system.

    1. Ciro Continisio

      2월 28, 2018 9:54 오전

      Yes, it is zoomable!

  25. Amazing! Please add surface shader style abstraction if possible?