瀏覽代碼

USDZExporter: Support texture.wrapS and texture.wrapT. (#26012)

mrdoob 2 年之前
父節點
當前提交
e042b9cbad
共有 1 個文件被更改,包括 8 次插入2 次删除
  1. 8 2
      examples/jsm/exporters/USDZExporter.js

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

@@ -465,6 +465,12 @@ function buildMaterial( material, textures ) {
 
 
 		const uv = texture.channel > 0 ? 'st' + texture.channel : 'st';
 		const uv = texture.channel > 0 ? 'st' + texture.channel : 'st';
 
 
+		const WRAPPINGS = {
+			1000: 'repeat', // RepeatWrapping
+			1001: 'clamp', // ClampToEdgeWrapping
+			1002: 'repeat' // MirroredRepeatWrapping
+		};
+
 		return `
 		return `
 		def Shader "PrimvarReader_${ mapType }"
 		def Shader "PrimvarReader_${ mapType }"
 		{
 		{
@@ -489,8 +495,8 @@ function buildMaterial( material, textures ) {
 			asset inputs:file = @textures/Texture_${ id }.${ isRGBA ? 'png' : 'jpg' }@
 			asset inputs:file = @textures/Texture_${ id }.${ isRGBA ? 'png' : 'jpg' }@
 			float2 inputs:st.connect = </Materials/Material_${ material.id }/Transform2d_${ mapType }.outputs:result>
 			float2 inputs:st.connect = </Materials/Material_${ material.id }/Transform2d_${ mapType }.outputs:result>
 			token inputs:sourceColorSpace = "${ texture.colorSpace === THREE.NoColorSpace ? 'raw' : 'sRGB' }"
 			token inputs:sourceColorSpace = "${ texture.colorSpace === THREE.NoColorSpace ? 'raw' : 'sRGB' }"
-            token inputs:wrapS = "repeat"
-            token inputs:wrapT = "repeat"
+            token inputs:wrapS = "${ WRAPPINGS[ texture.wrapS ] }"
+            token inputs:wrapT = "${ WRAPPINGS[ texture.wrapT ] }"
             float outputs:r
             float outputs:r
             float outputs:g
             float outputs:g
             float outputs:b
             float outputs:b