Three.JS UTF8加载器
我试图在Three.JS中显示一个3D模型,该模型已使用Won的WebGL Loader()转换为UTF8格式。我不知道如何将WebGL Loader输出的元数据转换为Three.JS所期望的元数据,而谷歌搜索和通读源代码并没有带来任何洞察。WebGLLoader的输出和Three.JS的输入要求如下所示 WebGL加载程序输出:Three.JS UTF8加载器,three.js,Three.js,我试图在Three.JS中显示一个3D模型,该模型已使用Won的WebGL Loader()转换为UTF8格式。我不知道如何将WebGL Loader输出的元数据转换为Three.JS所期望的元数据,而谷歌搜索和通读源代码并没有带来任何洞察。WebGLLoader的输出和Three.JS的输入要求如下所示 WebGL加载程序输出: MODELS['abc_normals.obj'] = { materials: { }, decodeParams: { decodeOffse
MODELS['abc_normals.obj'] = {
materials: {
},
decodeParams: {
decodeOffsets: [-8192,-88,-2278,0,0,-511,-511,-511],
decodeScales: [0.012115,0.012115,0.012115,0.000978,0.000978,0.001957,0.001957,0.001957],
},
urls: {
'abc_normals.utf8': [
{ material: '',
attribRange: [0, 8288],
indexRange: [66304, 14914],
bboxes: 111046,
names: ['default', ],
lengths: [44742, ],
},
],
}
};
3.JS要求:
{ scale: 0.815141, offsetX: -0.371823, offsetY: -0.011920, offsetZ: -0.416061 }
您是否像webgl loader的首页所推荐的那样使用r50?我认为之后的输出与three.js加载程序不兼容。您列出的输出是javascript数据结构,但three.js需要JSON。要使此json有效,需要如下所示:
{
"materials": {
},
"decodeParams": {
"decodeOffsets": [-8192,-88,-2278,0,0,-511,-511,-511],
"decodeScales": [0.012115,0.012115,0.012115,0.000978,0.000978,0.001957,0.001957,0.001957],
},
"urls": {
"abc_normals.utf8": [
{ "material": "",
"attribRange": [0, 8288],
"indexRange": [66304, 14914],
"bboxes": 111046,
"names": ["default", ],
"lengths": [44742, ],
},
],
}
};
自动转换可以通过加载JS然后将模型保存为JSON来实现。您可以在Chrome或Firef中尝试此功能
MODELS={}
(insert your .js here)
JSON.stringify(MODELS)
我尝试了那个版本,得到了如下输出,但它的形式与Three.js所期望的不太一样-偏移量:[77.663857,0.552530,27.608030,-0.000000,-0.000000,-0.000000,-1.000000,1.000000,1.000000,1.000000,1.000000,1.000000,1.000000],比例:[.835129182.835129,1.000000,2.000000,2.000000],位:[,14,14,10,10,10]我还想补充一点,当您下载threejs时,有一个转换器目录,其中有一个webgl loader版本,可以正常工作。