새 그룹을 만듭니다.
- 그룹 뷰를 입력하려면 그룹 노드에서 을 클릭합니다.
- 하드웨어 셰이더 노드 수학 추가 및 하드웨어 셰이더 노드 값 색상을 선택하여 추가 노드 및 색상 노드를 각각 만듭니다.
- 노드를 다음과 같이 연결합니다.
- 색상의 RGB 속성을 추가의 첫 번째 값 속성에 연결합니다.
- 곱하기의 결과 속성을 추가의 두 번째 값 속성에 연결합니다.
- 추가의 결과 속성을 그룹 노드의 분산 색상 속성에 연결합니다.
- 새로 만든 색상 노드를 선택합니다. 특성 패널에서 OffsetColor 이름을 입력하고 UI 순서 값을 3으로 변경합니다.
이제 OffsetColor가 재질 편집기 매개변수 롤아웃에 표시됩니다.
매개변수 롤아웃의 OffsetColor 속성
그룹을 함수로 변환합니다.
- 곱하기 및 추가 노드를 선택하고 그룹 메뉴 그룹 만들기를 선택합니다.
- 새로 만들어진 그룹에서 을 클릭합니다. 그룹 뷰에서 그룹 노드를 선택하고 특성 패널에서 이름 필드를 MyColorFunction으로 변경합니다.
- 또한 특성 패널에서 그룹이 함수임을 켭니다. 이 옵션을 사용하면 이러한 노드의 출력이 셰이더 코드의 함수로 캡슐화됩니다.
- 그룹 노드 포트에 고유한 이름을 지정합니다. 현재 모든 포트가 값으로 명명되어 있기 때문에 셰이더가 올바르지 않습니다. (재질 편집기를 보면 매개변수 롤아웃에 오류 메시지가 표시됩니다.)
특성 패널에서 다음과 같이 변경합니다.
- 활성 소켓: 0
활성 소켓 레이블: ColorA
- 활성 소켓: 1
활성 소켓 레이블: Multiplier
- 활성 소켓: 2
활성 소켓 레이블: ColorB
주: 그룹을 함수로 변환할 때 모든 그룹 노드 포트에 고유한 이름이 있어야 합니다. 그렇지 않으면 셰이더가 유효하지 않습니다.
- 그룹 뷰를 종료하고 도구 메뉴 그래프 계산을 선택합니다.
이제 셰이더가 다시 유효합니다.
재질 편집기에서 이 셰이더에 대한 매개변수 롤아웃이 다시 나타납니다.
셰이더 파일을 저장하고 셰이더 코드를 검사합니다.
- 그룹 뷰를 종료합니다.
- 재질 노드를 선택합니다. 특성 패널에서 HwShader/파일 이름 필드에 셰이더 파일에 대한 파일 이름을 입력한 다음 Enter 키를 누릅니다.
- HwShader/디스크에 저장을 클릭합니다.
셰이더 파일이 저장된 경로가 작업 영역의 맨 아래에 툴팁으로 나타납니다.
주: ShaderFX가 그룹을
/users/<사용자 이름>/my documents/3dsmax/shaderfx/shaders/
폴더의 파일로 저장합니다.
셰이더를 FX 파일로 저장하면 이제 ShaderFX를 사용하지 않아도 FX 셰이더를 DirectX 셰이더로 로드할 수 있습니다.
몇 가지 다른 셰이더 형식을 저장할 수 있습니다. HLSL, CgFX 및 GLSL로 내보내기를 참조하십시오.
셰이더 코드를 검사한 다음 간소화합니다.
- 텍스트 편집기를 사용하여 셰이더 파일을 검사합니다. "MyColorFunction"을 검색합니다.
MyColorFunction은 셰이더 파일의 함수로 정의됩니다. SHADERDATA 구조가 입력으로 나열됩니다. 기본 설정입니다.
- 더 깨끗한 코드를 위해 이 설정을 비활성화하려면 MyColorFunction의 그룹 뷰를 입력하고 그룹 노드를 선택하고 특성 패널에서 데이터 구조를 함수 입력으로 추가하지 않음을 설정합니다.
SHADERDATA 구조가 더 이상 입력 매개변수로 나열되지 않도록 셰이더 파일을 다시 저장합니다.