0

在 Three.js SceneExporter 中,当我导出整个场景时,在输出的 json 数据中,我意识到纹理没有正确导出。它产生纹理线为

"Texture_3": { "url" : "undefined", .... 

但是有质感。所以我检查了 SceneExporters 代码

var output = [
    '\t' + LabelString( getTextureName( t ) ) + ': {',
'   "url"    : "' + t.sourceFile + '",',
'   "repeat" : ' + Vector2String( t.repeat ) + ',',
'   "offset" : ' + Vector2String( t.offset ) + ',',
'   "magFilter" : ' + NumConstantString( t.magFilter ) + ',',
'   "minFilter" : ' + NumConstantString( t.minFilter ) + ',',
'   "anisotropy" : ' + t.anisotropy,
'}'
];

t 参数是材质的贴图属性,即 THREE.Texture。但是 THREE.Texture 中没有“sourceFile”属性或字段。那么它应该是什么?它是一个错误吗?

4

1 回答 1

1

我自己的答案如下,更改 SceneExporters 代码更正了输出。我不确定这是官方解决方案,但我为我工作。

var output = [
    '\t' + LabelString( getTextureName( t ) ) + ': {',
'   "url"    : "' + t.image.src + '",',
'   "repeat" : ' + Vector2String( t.repeat ) + ',',
'   "offset" : ' + Vector2String( t.offset ) + ',',
'   "magFilter" : ' + NumConstantString( t.magFilter ) + ',',
'   "minFilter" : ' + NumConstantString( t.minFilter ) + ',',
'   "anisotropy" : ' + t.anisotropy,
'}' 
];
于 2013-02-01T15:25:23.573 回答