본문 바로가기

Unity/제로부터 시작하는 Graph

제로부터 시작하는 Unity Shader Graph (1) 용어'만' 알아보기

728x90

혹시라도 틀린 부분이 있을시 언제든 지적해주시면 감사하겠습니다😢

  1. Active Targets
  2. Material
  3. Allow Material override
  4. Workflow Mode
  5. Surface Type
  6. Blending Mode
  7. Render Face
  8. Depth Write
  9. Depth Test
  10. Alpha Clipping
  11. Cast Shadows
  12. Receive Shadows
  13. Supports Lod Cross Fade
  14. Fragment Normal Space
  15. Clear Coat
  16. Preserve Specular Lighting
  17. Custom Editor GUI
  18. Support VFX Graph

 

  1. Active Targets
    • Universal:
      • "Universal"은 Unity의 Universal Render Pipeline (URP)을 대상으로 하는 옵션.
      • URP는 경량화된 셰이더 기반의 렌더링 파이프라인으로, 크로스 플랫폼에서 사용되는 셰이더 그래프를 지원.
      • Shader Graph에서 셰이더를 URP에 최적화하여 개발하고자 할 때 "Universal"을 선택
    • Visual Effect:
      • "Visual Effect"는 Unity의 Visual Effect Graph를 대상으로 하는 옵션
      • Visual Effect Graph는 파티클 시스템과 특수 효과를 제작하는 데 사용되는 도구
      • Shader Graph에서 Visual Effect Graph와 함께 사용되는 셰이더를 개발하고자 할 때 "Visual Effect"를 선택
    • Custom Render Texture:
      • "Custom Render Texture"는 사용자 정의 렌더 텍스처를 대상으로 하는 옵션
      • Custom Render Texture는 사용자가 정의한 렌더링 작업을 수행하고 결과를 텍스처로 저장할 수 있는 기능
      • Shader Graph에서 Custom Render Texture에 사용될 셰이더를 개발하고자 할 때 "Custom Render Texture"를 선택
    • Built-in:
      • "Built-in"은 Unity의 Built-in Render Pipeline을 대상으로 하는 옵션
      • Built-in Render Pipeline은 Unity의 기본적인 렌더링 파이프라인으로, Shader Graph의 이전 버전에서 사용되던 기본 파이프라인
      • Shader Graph에서 Built-in Render Pipeline에 최적화된 셰이더를 개발하고자 할 때 "Built-in"을 선택합니다. (Unity 2021.1부터는 Universal Render Pipeline이 권장)
  2. Material
    • Lit
      • PBR(Physically Based Rendering) 머티리얼을 생성하는 데 사용
      • Unity의 Standard Shader와 유사한 방식으로 빛과 그림자를 처리
      • 빛의 반사, 반사율(Metallic), 매끄러움(Smoothness) 등을 설정할 수 있다.
      • Lit 속성을 사용하면 현실적인 재질을 시뮬레이션할 수 있다.
    • UnLit
      •  조명과 그림자를 고려하지 않고 물체를 그대로 표현하는 머티리얼을 생성하는 데 사용
      • 조명 정보 없이 알베도(Albedo) 컬러와 텍스처를 직접 사용하여 물체를 표현
      • 빛의 반사나 그림자 효과가 없으므로 물체를 단색 또는 텍스처만으로 표현할 때 유용
    • Sprite Lit
      • Sprite Lit 속성은 스프라이트(Sprite) 머티리얼을 생성하는 데 사용
      • 스프라이트를 조명과 그림자 효과를 고려하여 그리는 데 사용
      • 스프라이트의 알파 채널을 사용하여 불투명도를 결정하거나 알파 컷아웃(Alpha Cutout)을 사용하여 텍스처를 자를 수 있다
      • 스프라이트 애니메이션과 같은 효과를 적용할 수도 있다.
    • Sprite Unlit
      • Sprite 의 Unlit
    •  FullScreen 
      • 속성은 전체 화면을 채우는 머티리얼을 생성하는 데 사용
      • 전체 화면에 특정 효과를 적용할 때 사용. 예를 들어, 전체 화면에 블러 효과를 적용하거나, 색상 보정을 할 수 있다.
    • Decal
      • Decal 속성은 데칼(Decal) 효과를 생성하는 데 사용.
      • 물체의 표면 위에 다른 이미지를 적용하여 표면에 추가적인 디테일을 부여하는 데 사용.
      • 데칼은 주로 벽, 바닥 또는 다른 물체의 표면에 부착되어 표면에 그림자, 텍스처 등을 추가
    • Sprite Custom Lit
      • 사용자 정의된 스프라이트 머티리얼을 생성하는 데 사용
      • 사용자가 직접 셰이더 그래프를 구성하여 스프라이트에 원하는 시각적 효과를 적용할 수 있는 유연성을 제공
  3. Allow Material override
    • 물체의 머티리얼(Material)을 런타임 중에 다른 머티리얼로 대체(오버라이드)할 수 있됨.
  4. Workflow Mode
    • Metallic:
          - Metallic은 물체의 금속성을 나타내는 속성
          - Metallic 값이 0에 가까울수록 물체는 비금속적인 표면을 가지며, 1에 가까울수록 완전한 금속적인 표면을 가짐
          - Metallic 값이 높을수록 물체는 주변의 환경을 반사하여 금속적인 빛깔을 갖게됨
          - Shader Graph에서는 Metallic 속성을 사용하여 물체의 금속성을 제어하고, 물체의 외관을 조절할 수 있음.
    • Specular:
          - Specular은 물체의 광택을 나타내는 속성
          - Specular 값이 높을수록 물체는 주변의 광원에서 직접 반사되는 표면을 갖게 됨
          - Shader Graph에서는 Specular 속성을 사용하여 물체의 광택을 제어하고, 물체의 외관을 조절할 수 있음
          - 주로 물체의 표면이 유리, 금속 등 광택이 있는 재질을 나타내는 데 사용됨.
  5. Surface Type : 물체의 표면 유형을 정의하는 데 사용
    • Opaque - 불투명
    • Transparent - 투명
    • Translucent - 반투명
  6. Blending Mode : 물체를 렌더링할 때 픽셀의 색상을 결합하는 방식을 정의하는 데 사용되는 속성
    • Alpha:
      • 픽셀의 색상을 배경과 혼합할 때, 픽셀의 알파 값에 따라 배경과의 혼합 비율이 결정됩니다.
      • 알파 값이 1에 가까울수록 픽셀은 완전히 불투명해지고, 0에 가까울수록 투명해집니다.
      • 주로 투명한 물체를 표현하거나 부드럽게 혼합되는 효과를 구현하는 데 사용됩니다.
    • Premultiply:
      • 픽셀의 색상을 배경과 혼합하기 전에, 픽셀의 색상 값에 알파 값을 곱한 후 배경과 혼합합니다.
      • 이 방식은 알파 값에 의한 불투명도와 색상 값의 관계를 미리 계산하여 혼합하는 것으로, 일반적으로 알파 블렌딩보다 정확한 결과를 얻을 수 있습니다.
      • 주로 투명한 물체나 그림자 효과를 구현하는 데 사용됩니다.
    • Additive:
      • 픽셀의 색상을 배경과 합하여 밝은 빛 효과를 만들어냅니다.
      • 픽셀의 색상 값이 배경과의 합으로 계산되며, 결과적으로 색상 값이 더 밝아지는 효과를 줍니다.
      • 주로 빛이나 입자 효과를 표현하는 데 사용됩니다.
    • Multiply:
      • 픽셀의 색상을 배경과 곱하여 어두운 그림자 효과를 만들어냅니다.
      • 픽셀의 색상 값이 배경과의 곱으로 계산되며, 결과적으로 색상 값이 더 어두워지는 효과를 줍니다.
      • 주로 그림자 효과나 텍스처 강조 효과를 구현하는 데 사용됩니다.
  7. Render Face: 3D 그래픽에서 개별적인 면을 어떻게 렌더링할지를 지정하는 옵션
    • Front:
      • "Front" 옵션은 개체의 앞면 면만 렌더링하는 설정입니다.
      • 개체의 앞면 면은 보통 시야에 가시적으로 보이는 면으로, 사용자가 개체를 바라보는 방향에서 보이는 면입니다.
      • 이 설정을 사용하면 뒷면 면은 렌더링되지 않으며, 개체의 내부는 시야 밖으로 가려져 보이지 않습니다.
      • 주로 불필요한 렌더링을 줄이고 성능을 향상시키기 위해 사용됩니다.
    • Back:
      • "Back" 옵션은 개체의 뒷면 면만 렌더링하는 설정입니다.
      • 개체의 뒷면 면은 개체를 바라보는 방향에서 보이지 않는 면으로, 시야 밖에 위치하는 면입니다.
      • 이 설정을 사용하면 개체의 앞면 면은 렌더링되지 않으며, 개체의 뒷면 면만 렌더링됩니다.
      • 주로 특정 시각적 효과를 구현하거나, 개체의 내부를 표현하기 위해 사용됩니다.
    • Both:
      • "Both" 옵션은 개체의 앞면과 뒷면 모두를 렌더링하는 설정입니다.
      • 개체의 앞면 면과 뒷면 면이 모두 렌더링되어, 개체의 내부와 외부가 모두 시각적으로 표현됩니다.
      • 이 설정을 사용하면 개체가 양면으로 렌더링되므로, 개체가 시야를 통과하는 경우에도 양면이 모두 보입니다.
      • 주로 투명한 물체나 양면을 필요로 하는 물체를 표현하기 위해 사용됩니다.
  8. Depth Write : 깊이 버퍼(Depth Buffer)에 대한 쓰기 동작을 제어하는 옵션
    • Auto:
      • "Auto" 옵션은 Depth Write 동작을 자동으로 결정하는 설정입니다.
      • 이 옵션이 선택되면 Unity는 머티리얼(Material)의 설정과 렌더링 파이프라인(Render Pipeline)에 따라 Depth Write 동작을 자동으로 처리합니다.
      • 일반적으로 대부분의 경우에서 "Auto" 옵션이 권장되는 설정입니다.
    • Force Enabled:
      • "Force Enabled" 옵션은 Depth Write를 강제로 활성화하는 설정입니다.
      • 이 옵션이 선택되면 머티리얼의 Depth Write 속성이 무시되고, 모든 픽셀의 깊이 값을 깊이 버퍼에 쓰도록 합니다.
      • 이 설정은 일부 특수한 경우에 사용되며, 일반적으로는 깊이 값을 쓰는 것이 필요한 경우에만 사용되어야 합니다.
    • Force Disabled:
      • "Force Disabled" 옵션은 Depth Write를 강제로 비활성화하는 설정입니다.
      • 이 옵션이 선택되면 머티리얼의 Depth Write 속성이 무시되고, 픽셀의 깊이 값을 깊이 버퍼에 쓰지 않도록 합니다.
      • 이 설정은 깊이 값을 쓰지 않는 것이 필요한 경우에 사용될 수 있습니다. 예를 들어, 투명한 물체나 뒷면의 그림자 효과를 구현할 때 사용될 수 있습니다.
    • "Depth Write" 옵션은 깊이 버퍼에 대한 쓰기 동작을 제어하여 렌더링의 깊이 정렬과 시각적 효과를 조절하는 데 사용됩니다. "Auto" 옵션은 일반적으로 권장되며, 특정 경우에는 "Force Enabled" 또는 "Force Disabled" 옵션을 사용하여 명시적으로 Depth Write 동작을 지정할 수 있습니다.
  9. Depth Test
    • LEqual (Less or Equal):
      • "LEqual" 옵션은 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값보다 작거나 같을 때 해당 픽셀을 렌더링하는 설정입니다.
      • 이 옵션이 선택되면 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값보다 작거나 같을 때만 해당 픽셀을 렌더링합니다.
      • 이 설정은 깊이 값을 고려하여 가장 가까운 픽셀만 렌더링하는 데 사용됩니다.
    • Never:
      • "Never" 옵션은 깊이 값을 비교하지 않고 항상 픽셀을 렌더링하는 설정입니다.
      • 이 옵션이 선택되면 다른 개체의 깊이 값과 상관없이 항상 해당 머티리얼(Material)이 적용된 개체를 렌더링합니다.
      • 이 설정은 일부 특수한 경우에 사용되며, 일반적으로는 깊이 값을 비교하여 가장 가까운 픽셀만 렌더링하는 것이 일반적입니다.
    • Less:
      • "Less" 옵션은 깊이 값을 비교하여 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값보다 작을 때만 렌더링하는 설정입니다.
      • 이 옵션이 선택되면 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값보다 작을 때만 해당 픽셀을 렌더링합니다.
      • 이 설정은 일반적으로 깊이 값을 고려하여 가장 가까운 픽셀만 렌더링하는 데 사용됩니다.
    • Equal:
      • "Equal" 옵션은 깊이 값을 비교하여 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값과 동일할 때 렌더링하는 설정입니다.
      • 이 옵션이 선택되면 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값과 동일할 때 해당 픽셀을 렌더링합니다.
      • 이 설정은 특정 깊이 값과 정확히 일치하는 픽셀만 렌더링하는 데 사용됩니다.
    • Greater:
      • "Greater" 옵션은 깊이 값을 비교하여 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값보다 큰 경우에만 렌더링하는 설정입니다.
      • 이 옵션이 선택되면 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값보다 큰 경우에만 해당 픽셀을 렌더링합니다.
      • 이 설정은 깊이 값을 고려하여 가장 먼 픽셀만 렌더링하는 데 사용됩니다.
    • NotEqual:
      • "NotEqual" 옵션은 깊이 값을 비교하여 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값과 다를 때 렌더링하는 설정입니다.
      • 이 옵션이 선택되면 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값과 다를 때 해당 픽셀을 렌더링합니다.
      • 이 설정은 특정 깊이 값과 다른 픽셀만 렌더링하는 데 사용됩니다.
    • GEqual (Greater or Equal):
      • "GEqual" 옵션은 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값보다 크거나 같을 때 해당 픽셀을 렌더링하는 설정입니다.
      • 이 옵션이 선택되면 현재 픽셀의 깊이 값이 이전에 렌더링된 픽셀의 깊이 값보다 크거나 같을 때만 해당 픽셀을 렌더링합니다.
      • 이 설정은 깊이 값을 고려하여 가장 먼 픽셀부터 렌더링하는 데 사용됩니다.
    • Always:
      • "Always" 옵션은 깊이 값을 비교하지 않고 항상 픽셀을 렌더링하는 설정입니다.
      • 이 옵션이 선택되면 다른 개체의 깊이 값과 상관없이 항상 해당 머티리얼(Material)이 적용된 개체를 렌더링합니다.
      • 이 설정은 일부 특수한 경우에 사용되며, 일반적으로는 깊이 값을 비교하여 가장 가까운 픽셀만 렌더링하는 것이 일반적입니다.
  10. Alpha Clipping : 투명도 값을 사용하여 특정 알파 값 이상인 픽셀만을 렌더링하는 것을 의미합니다.
  11. Cast Shadows : 개체의 렌더링 동안 그림자를 생성하도록 설정하거나 그림자를 생성하지 않도록 설정할 수 있습니다.
  12. Receive Shadows : 3D 그래픽에서 객체가 다른 객체로부터 그림자를 받을지 여부를 나타내는 속성입니다. 이 속성은 개체가 그림자를 받도록 설정하거나 그림자를 받지 않도록 설정할 수 있습니다.
  13. Supports Lod Cross Fade : 3D 그래픽에서 LOD(Level of Detail) 간의 부드러운 전환(Cross Fade)을 지원하는지 여부를 나타내는 속성입니다. 이 속성은 객체의 LOD 전환 시 부드러운 효과를 제공하기 위해 사용, 렌더링 거리가 멀어질수록 객체의 세부 수준을 줄여 성능을 향상시키는 것이 일반적인데 LOD 전환 시에는 객체가 급격하게 변화되는 것을 막기 위해 객체의 LOD 간에 부드러운 전환을 지원해 줍니다.
  14. Fragment Normal Space : 3D 그래픽에서 프래그먼트의 법선(normal)을 표현하는 좌표 공간입니다. 이 공간은 프래그먼트(화면에 그려지는 픽셀)의 법선을 기준으로 한 특정 좌표 시스템* Normal Mapping : 은 텍스처를 이용하여 표면의 디테일한 법선 정보를 시뮬레이션하여 조명 효과를 현실적으로 표현하는 기법
    1. Tangent Space (탄젠트 공간):
      • Tangent Space는 Fragment Normal을 텍스처 좌표에 상대적으로 표현하는 좌표 공간입니다. 텍스처의 U, V 축과 프래그먼트의 법선 사이의 관계를 이용하여 계산됩니다. Tangent Space는 주로 조명 계산에 사용되며, Normal Mapping과 같은 기술에서 유용하게 활용됩니다. Normal Mapping은 텍스처를 사용하여 표면의 디테일한 법선 정보를 시뮬레이션하는 기법으로, 조명 효과를 더욱 현실적으로 만들어줍니다.
    2. Object Space (오브젝트 공간):
      • Object Space는 프래그먼트의 법선을 개체의 로컬 좌표 공간에서 표현합니다. 이 공간은 개체의 지역적인 좌표 시스템을 기준으로 합니다. Object Space에서의 법선은 개체의 로컬 변환 (위치, 회전, 크기 등)을 고려하여 계산됩니다. Object Space는 개체의 내부 계산이나 조명 계산에 활용될 수 있습니다.
    3. World Space (월드 공간):
      • World Space는 프래그먼트의 법선을 전역적인 3D 공간인 월드 좌표 공간에서 표현합니다. 월드 좌표 공간은 모든 개체의 위치, 회전 및 크기를 기준으로 합니다. 프래그먼트의 법선은 개체의 Object Space에서 World Space로 변환하여 계산됩니다. World Space는 조명, 그림자, 반사 등 다양한 시각적 효과에 활용됩니다.
  15. Clear Coat : 물체 표면에 코팅된 반사 레이어를 시뮬레이션하는 데 사용되며 일반적으로 광택이 있는 표면을 나타내는 데 사용 됩니다. 
  16.  Preserve Specular Lighting :물체의 표면에 적용되는 반사광(스펙큘러) 조명을 보존하는 옵션입니다. 물체의 표면에 반사되는 빛이 머티리얼의 스펙큘러 색상에 영향을 받아 현실적인 반사 효과를 얻을 수 있습니다.
    • Preserve Specular Lighting 옵션을 사용하면, 머티리얼에 설정된 스펙큘러 색상이 반사광 조명에 영향을 받게 됩니다. 이를 통해 머티리얼의 스펙큘러 색상이 반사되는 빛에 따라 변화하며, 물체의 외관이 보다 현실적으로 표현될 수 있습니다.
  17. Custom Editor GUI :Inspector 창에서 커스텀한 에디터 인터페이스를 만들 수 있는 기능입니다.
  18. Support VFX Graph : Shader Graph에서 작성한 셰이더를 VFX Graph에서 사용할 수 있도록 지원하는 옵션입니다.
728x90