소스 검색

Update USDZExporter.js (#22591)

sunag 3 년 전
부모
커밋
061ac286ba
1개의 변경된 파일19개의 추가작업 그리고 2개의 파일을 삭제
  1. 19 2
      examples/jsm/exporters/USDZExporter.js

+ 19 - 2
examples/jsm/exporters/USDZExporter.js

@@ -380,7 +380,8 @@ function buildMaterial( material, textures ) {
             float outputs:r
             float outputs:g
             float outputs:b
-            float3 outputs:rgb
+            float outputs:a
+            float3 outputs:rgba
         }`;
 
 	}
@@ -449,7 +450,23 @@ function buildMaterial( material, textures ) {
 
 	}
 
-	inputs.push( `${ pad }float inputs:opacity = ${ material.opacity }` );
+	if ( material.alphaMap !== null ) {
+
+		inputs.push( `${pad}float inputs:opacity.connect = </Materials/Material_${material.id}/Texture_${material.alphaMap.id}_opacity.outputs:r>` );
+		inputs.push( `${pad}float inputs:opacityThreshold = 0.0001` );
+
+		samplers.push( buildTexture( material.alphaMap, 'opacity' ) );
+
+	} else if ( material.map !== null && material.map.format === 1023 ) {
+
+		inputs.push( `${pad}float inputs:opacity.connect = </Materials/Material_${material.id}/Texture_${material.map.id}_diffuse.outputs:a>` );
+		inputs.push( `${pad}float inputs:opacityThreshold = 0.0001` );
+
+	} else {
+
+		inputs.push( `${pad}float inputs:opacity = ${material.opacity}` );
+
+	}
 
 	if ( material.isMeshPhysicalMaterial ) {