我使用较旧的模型(姜演示)构建了一个THREE.JS程序。从r44升级到r58后,我再也无法使用基于python的OBJ版本2创建的模型 - > Three.js转换器。我假设的问题是由于文件的格式化。
我没有原始的.OBJ模型,所以我正在尝试弄清楚如何将较旧的json格式升级到较新的格式,以便解析器可以读取它。我考虑将其导入THREEJS编辑器,然后再次导出,但模型具有变形目标,并且使用该技术不会保留这些目标。
Here is an example我正在尝试升级的JSON文件。
以下是我目前的进展:使用JSONLoader导入时,我得到的初始错误是:
Uncaught SyntaxError: Unexpected token /
这是由于元数据的评论,所以我将评论的元数据添加到元数据字段以匹配this converter file的第160行附近看到的格式。我还删除了所有其他非JSON代码(变量等)。我也摆脱了“边缘”字段,因为它是空的,我没有在.py代码中找到taht字符串。
json文件已成功加载,但在使用时出现以下错误:
Uncaught TypeError: Cannot read property 'map' of undefined
Uncaught TypeError: Cannot read property 'attributes' of undefined
“属性”错误无限期重复。
json文件如下所示:
{
"metadata": {
"formatVersion" : 2,
"generatedBy" : "OBJConverter",
"vertices" : 168,
"faces" : 144,
"normals" : 576,
"colors" : 0,
"uvs" : 175,
"materials" : 1
},
"scale" : 1000.000000,
"materials": [ {
"DbgColor" : 15658734,
"DbgIndex" : 0,
"DbgName" : "phong1SG",
"colorAmbient" : [0.0, 0.0, 0.0],
"colorDiffuse" : [0.8, 0.8, 0.8],
"colorSpecular" : [1.0, 1.0, 1.0],
"illumination" : 4,
"mapDiffuse" : "ginger_color.jpg",
"opticalDensity" : 1.0,
"specularCoef" : 98.0
}],
"vertices": [1900,6776,...],
"morphTargets": [],
"morphColors": [],
"normals": [-0.024569,-0.94821,...],
"colors": [],
"uvs": [[0.37164,0.65357,...]],
"faces": [43,1,...]
}
我的手动转换有什么错误?是否可以使用来自不同转换器版本的相同数据?有一个更好的方法吗?