요약
텍스처는 셰이더 라이브러리와 스튜디오 파이프라인에 의해 다양한 방식으로 처리되며 Katana 는 몇 가지 일반적인 규칙에 따라 텍스처를 할당하는 유연한 프레임워크를 제공합니다.
3Delight , RenderMan 및 Arnold 렌더러와 함께 작동하는 이러한 옵션 중 일부에 대한 요약입니다. 여기에 설명된 두 가지 접근 방식을 모두 보여주는 첨부된 예제 장면도 참조하십시오.
추가 정보
재질 속성을 사용하여 텍스처 선언
각 개체에 고유한 텍스처를 제공하는 가장 간단한 방법은 개체별로 재질을 만들고 텍스처를 셰이더에서 문자열 매개변수로 명시적으로 선언하는 것입니다. 그런 다음 각 개체에 관련 자료가 할당됩니다.
이 접근 방식은 특히 많은 수의 개체가 포함된 장면에서 작업할 때 가장 노동 집약적이며 재료를 변경해야 하는 경우 유연성이 부족합니다.
많은 개체가 동일한 재질을 공유할 수 있지만 다른 텍스처를 할당해야 하는 경우가 많습니다. 이 경우 각 개체가 고유한 텍스처를 선택하도록 장면을 설정할 수 있습니다.
객체 속성을 사용하여 텍스처 선언
재질에 텍스처를 설정하는 대신 렌더링할 개체가 임의의 속성을 통해 관련 텍스처 파일을 가리킬 수 있습니다.
예제 장면 만들기
다음은 객체 속성을 사용하여 텍스처를 선언하는 방법에 대한 지침입니다. 이 예는 3Delight 렌더러를 사용하고 있습니다.
- Help > I want pony 메뉴에서 CameraCreate, NetworkMaterialCreate 및 두 개의 Pony 노드를 추가 합니다. 각 포니 노드의 이름 매개변수를 고유하게 변경해야 합니다.
- 각 포니의 다운스트림을 만들고 AttributeSet 노드를 만들고 해당 업스트림 포니의 장면 그래프 위치에 대한 경로를 설정합니다.
- 각 AttributeSet 노드를 편집하고 각 attributeName 매개변수를 'geometry.arbitrary.basecolor.value'로 변경하고 유형 매개변수를 'string'으로 변경합니다.
- 고유한 텍스처 파일을 가리키도록 각 AttributeSet의 stringValue를 설정합니다. $KATANA_ROOT/demos/tx_files/에서 Katana 에 포함된 예제 파일을 찾을 수 있습니다.
- NetworkMaterialCreate 노드(단축키: Ctrl+MMB 또는 Ctrl+Enter 선택 시)로 이동하여 dlPrincipled 및 dlTexture 셰이딩 노드를 만듭니다.
- dlTexture 노드를 편집하고 텍스처 파일 매개변수를 '{attr:geometry.arbitrary.basecolor.value}'로 설정합니다. 이것은 이전에 설정한 속성에서 파일 경로를 읽습니다.
- dlTexture의 outputColor 포트를 dlPrincipled 노드의 Base > Color 포트의 입력에 연결하고 NetworkMaterialCreate에서 점프합니다(단축키: Ctrl+Backspace ).
- 포니 노드를 제외한 모든 노드를 선택하고 'M'을 눌러 병합 노드 다운스트림을 만듭니다.
- Merge 아래 MaterialAssign 노드를 생성 및 연결하고 값이 '/root/world/geo//*'인 사용자 지정 CEL 참조를 추가하고 materialAssign 매개변수를 '/root/materials/NetworkMaterial'로 설정합니다. 그러면 장면 그래프의 'geo' 위치 아래의 모든 위치에 재질이 적용됩니다.
- 마지막으로 MaterialAssign의 다운스트림에 GafferThree 노드를 만들고 Add 3Delight 메뉴에서 Environment Light를 추가합니다.
이제 렌더링할 때 단일 재료에서 조랑말에 적용된 두 가지 다른 텍스처를 볼 수 있습니다.
첨부 파일
우리는 문제로 불편을 끼쳐 드려 죄송합니다
이유를 알려주세요