그룹을 함수로 변환 및 셰이더 코드 검사

새 그룹을 만듭니다.

  1. 그룹 뷰를 입력하려면 그룹 노드에서 을 클릭합니다.
  2. 하드웨어 셰이더 노드 수학 추가 및 하드웨어 셰이더 노드 색상을 선택하여 추가 노드 및 색상 노드를 각각 만듭니다.
  3. 노드를 다음과 같이 연결합니다.
    • 색상의 RGB 속성을 추가의 첫 번째 값 속성에 연결합니다.
    • 곱하기의 결과 속성을 추가의 두 번째 값 속성에 연결합니다.
    • 추가의 결과 속성을 그룹 노드의 분산 색상 속성에 연결합니다.
  4. 새로 만든 색상 노드를 선택합니다. 특성 패널에서 OffsetColor 이름을 입력하고 UI 순서 값을 3으로 변경합니다.

    이제 OffsetColor가 재질 편집기 매개변수 롤아웃에 표시됩니다.

    매개변수 롤아웃의 OffsetColor 속성

그룹을 함수로 변환합니다.

  1. 곱하기 및 추가 노드를 선택하고 그룹 메뉴 그룹 만들기를 선택합니다.
  2. 새로 만들어진 그룹에서 을 클릭합니다. 그룹 뷰에서 그룹 노드를 선택하고 특성 패널에서 이름 필드를 MyColorFunction으로 변경합니다.
  3. 또한 특성 패널에서 그룹이 함수임을 켭니다. 이 옵션을 사용하면 이러한 노드의 출력이 셰이더 코드의 함수로 캡슐화됩니다.
  4. 그룹 노드 포트에 고유한 이름을 지정합니다. 현재 모든 포트가 값으로 명명되어 있기 때문에 셰이더가 올바르지 않습니다. (재질 편집기를 보면 매개변수 롤아웃에 오류 메시지가 표시됩니다.)

    특성 패널에서 다음과 같이 변경합니다.

    • 활성 소켓: 0

      활성 소켓 레이블: ColorA

    • 활성 소켓: 1

      활성 소켓 레이블: Multiplier

    • 활성 소켓: 2

      활성 소켓 레이블: ColorB

    주: 그룹을 함수로 변환할 때 모든 그룹 노드 포트에 고유한 이름이 있어야 합니다. 그렇지 않으면 셰이더가 유효하지 않습니다.
  5. 그룹 뷰를 종료하고 도구 메뉴 그래프 계산을 선택합니다.

    이제 셰이더가 다시 유효합니다.

    재질 편집기에서 이 셰이더에 대한 매개변수 롤아웃이 다시 나타납니다.

셰이더 파일을 저장하고 셰이더 코드를 검사합니다.

  1. 그룹 뷰를 종료합니다.
  2. 재질 노드를 선택합니다. 특성 패널에서 HwShader/파일 이름 필드에 셰이더 파일에 대한 파일 이름을 입력한 다음 Enter 키를 누릅니다.
  3. HwShader/디스크에 저장을 클릭합니다.

    셰이더 파일이 저장된 경로가 작업 영역의 맨 아래에 툴팁으로 나타납니다.

    주: ShaderFX가 그룹을 /users/<사용자 이름>/my documents/3dsmax/shaderfx/shaders/ 폴더의 파일로 저장합니다.

    셰이더를 FX 파일로 저장하면 이제 ShaderFX를 사용하지 않아도 FX 셰이더를 DirectX 셰이더로 로드할 수 있습니다.

    몇 가지 다른 셰이더 형식을 저장할 수 있습니다. HLSL, CgFX 및 GLSL로 내보내기를 참조하십시오.

셰이더 코드를 검사한 다음 간소화합니다.

  1. 텍스트 편집기를 사용하여 셰이더 파일을 검사합니다. "MyColorFunction"을 검색합니다.

    MyColorFunction은 셰이더 파일의 함수로 정의됩니다. SHADERDATA 구조가 입력으로 나열됩니다. 기본 설정입니다.

  2. 더 깨끗한 코드를 위해 이 설정을 비활성화하려면 MyColorFunction의 그룹 뷰를 입력하고 그룹 노드를 선택하고 특성 패널에서 데이터 구조를 함수 입력으로 추가하지 않음을 설정합니다.

    SHADERDATA 구조가 더 이상 입력 매개변수로 나열되지 않도록 셰이더 파일을 다시 저장합니다.