ShaderFX 소개 샘플 작업 흐름

이 예에서는 두 개의 텍스처 노드를 만들고 혼합하는 방법에 대해 설명합니다.

다음 방법을 보여줍니다.

예: ShaderFX 셰이더 만들기 및 ShaderFX 편집기 열기

  1. 투시 뷰포트에서 평면 오브젝트를 만듭니다.
  2. 재질 편집기를 열고 DirectX 셰이더 재질을 평면에 적용합니다.

    슬레이트 재질 편집기를 사용하는 경우 해당 매개변수를 표시하려면 DirectX 셰이더 노드를 두 번 클릭합니다.

  3. DirectX 셰이더 롤아웃의 드롭다운 리스트에서 ShaderFX를 선택한 다음 ShaderFX 열기를 클릭합니다.

    3ds Max에 ShaderFX 편집기가 열립니다.

예(계속): 두 개의 텍스처를 만들고 부동 노드를 사용하여 혼합

  1. ShaderFX 작업 영역을 마우스 오른쪽 버튼으로 클릭합니다. 마우스 오른쪽 버튼 클릭 메뉴에서 하드웨어 셰이더 노드 텍스처 텍스처 맵을 선택합니다.

    ShaderFX가 TextureMap 노드를 그래프에 추가합니다.

  2. TextureMap 노드를 클릭하여 특성 패널의 설정을 작업 영역의 오른쪽에 표시합니다.
  3. 특성 패널에서 MyTexture/경로 옆에 있는 찾아보기 버튼을 클릭합니다.

    파일 대화상자가 열리면 텍스처 파일을 선택합니다. 이 예에서는 콘크리트 텍스처를 사용합니다.

  4. 두 번째 텍스처를 위해 1단계와 2단계를 반복합니다. 이 예에서는 잔디 텍스처를 사용합니다.

    텍스처 제공: www.cgtextures.com

  5. 작업 영역을 마우스 오른쪽 버튼으로 클릭하고 하드웨어 셰이더 노드 수학 선형 보간 혼합을 선택하여 두 텍스처를 결합하기 위한 LerpOp 노드를 만듭니다.
  6. 마우스 오른쪽 버튼을 클릭하고 하드웨어 셰이더 노드 부동을 선택하여 부동 값이 포함된 Val 노드를 만듭니다.
  7. 첫 번째 텍스처 맵의 색상 속성을 LerpOp의 첫 번째 값 속성에 연결합니다.
  8. 두 번째 텍스처 맵의 색상 속성을 LerpOp의 두 번째 값 속성에 연결합니다.
  9. Val 노드의 부동 속성을 LerpOp의 혼합 속성에 연결합니다.

    부동 값은 각 텍스처가 혼합된 결과에 적용되는 정도를 제어합니다. 예를 들어 0.2로 설정되면 결과 텍스처에서 콘크리트 텍스처의 비중이 더 큽니다. 0.8로 설정되면 결과 텍스처에서 잔디 텍스처의 비중이 더 큽니다. 0.5로 설정되면 두 가지가 균등하게 혼합됩니다.

  10. 결과의 견본을 보려면 큰 미리 보기가 표시될 때까지 선형 보간 노드의 상단에서 렌더 견본 아이콘 을 클릭합니다.

    부동이 0.2로 설정된 경우

    .

    선형 보간 혼합 미리 보기 견본에서 콘크리트 텍스처의 비중이 더 큽니다.

    부동이 0.5로 설정된 경우

    .

    콘크리트와 잔디 텍스처가 균등하게 혼합됩니다.

    부동이 0.8로 설정된 경우

    .

    잔디 텍스처의 비중이 더 큽니다.

  11. LerpOp의 결과 속성을 TraditionalGameSurfaceShader 노드의 분산 색상 속성에 연결합니다.

    이제 사실적 뷰포트 또는 음영 처리 뷰포트에서 셰이더를 시각화할 수 있습니다.

예(계속): 정점 색상 노드를 사용하여 텍스처 혼합

  1. 마우스 오른쪽 버튼을 클릭하고 하드웨어 셰이더 노드 입력 공통 정점 색상을 선택합니다.

    부동 노드를 사용하지 않고 정점 색상을 사용하여 텍스처를 혼합합니다.

  2. 선형 보간에서 부동 노드를 연결하는 연결하는 와이어를 클릭하여 강조 표시한 다음 Delete 키를 누릅니다.
  3. VertexColor의 빨간색 속성을 LerpOp의 혼합 속성에 연결합니다. 이렇게 하면 빨간색 채널을 사용하여 텍스처를 혼합합니다.
  4. 뷰포트에서 평면 오브젝트가 선택되어 있는지 확인합니다. 수정 패널에서 길이 세그먼트 및 폭 세그먼트 값을 20으로 늘립니다. 이렇게 하면 더 많은 정점이 평면에 추가되어 정점 페인팅의 정의가 증가합니다.
  5. 또한 수정 패널에서 정점 페인트 수정자를 평면에 적용합니다.

    3ds Max에 정점 페인트 Paintbox가 열립니다.

    이제 일부 정점을 빨간색으로 페인팅합니다. 빨간색으로 페인팅된 정점에 잔디 텍스처가 표시됩니다.

  6. Paintbox에서 (정점 색상 표시 사용 안 함)을 클릭하여 활성화합니다.
  7. 기본 색상 견본이 검은색으로 표시되어야 합니다. 검은색이 아닌 경우 클릭한 다음 색상 선택기를 사용하여 검은색으로 변경합니다. (모두 페인트)를 클릭하여 평면을 검은색으로 만듭니다.

    정점에 검은색 채널을 할당하면 평면에 콘크리트 텍스처가 표시됩니다.

  8. 색상 견본을 클릭하고 색상을 밝은 빨간색으로 변경합니다.
  9. (페인트)를 클릭하고 평면을 페인팅합니다. 빨간색으로 페인팅한 정점은 잔디 텍스처 값을 사용합니다. 이제 정점을 페인팅하여 텍스처를 혼합했습니다.

예(계속): 타일 패턴에서 텍스처를 반복하여 촘촘한 다른 효과를 만들기 위해 텍스처 곱하기

  1. 수정자 스택에서 정점 페인트 수정자를 클릭하여 강조 표시한 다음 (스택에서 수정자 제거)를 클릭합니다.
  2. ShaderFX 편집기에서 해당 와이어를 클릭하고 Delete 키를 눌러 VertexColor 노드의 연결을 끊은 다음 Val 노드의 부동 값을 LerpOp의 혼합 속성에 다시 연결합니다.
  3. VertexColor 노드를 클릭하여 강조 표시한 다음 Delete 키를 누릅니다.
  4. 마우스 오른쪽 버튼을 클릭하고 하드웨어 셰이더 노드 입력 공통 UV 세트를 선택하여 UV 세트 노드를 만듭니다.
  5. 마우스 오른쪽 버튼을 클릭하고 하드웨어 셰이더 노드 수학 곱하기를 선택하여 MulOp 노드를 만듭니다.
  6. 마우스 오른쪽 버튼을 클릭하고 하드웨어 셰이더 노드 부동을 선택하여 또 다른 Val 노드를 만듭니다.
  7. UV 세트 노드의 UV 속성을 MulOp의 첫 번째 값 속성에 연결합니다.
  8. Val 노드의 부동 속성을 MulOp의 두 번째 값 속성에 연결합니다.
  9. MulOp 노드의 결과 속성을 패턴을 타일링하려는 TextureMap의 UV 속성에 연결합니다.
  10. Val 노드를 클릭하여 선택한 다음 특성 패널에서 해당 부동 값을 변경합니다. 패턴을 더 자주 반복하여 촘촘하게 하려면 부동을 높은 값으로 설정하고 패턴을 자주 반복하지 않으려면 부동을 낮은 값으로 설정합니다. TextureMap 노드의 렌더 견본 아이콘을 클릭하여 결과 패턴을 미리 볼 수 있습니다.

    값=0.5

    값=2.0