我使用舊模型(姜演示)構建了THREE.JS程序。在從r44升級到r58之後,我不再能夠使用使用基於python的OBJ - > Three.js轉換器的版本2創建的模型。我想這個問題是由於文件的格式造成的。three.js如何使用r58導入舊的JSON模型
我沒有原始的.OBJ模型,所以我想弄清楚如何將較舊的json格式升級到較新的json格式,以便解析器可以讀取它。我考慮將其導入到THREEJS編輯器中,然後再次導出,但模型具有變形目標,並且這些模型未使用該技術保存。
Here is an example我試圖升級JSON文件。
以下是我的進步迄今:當使用JSONLoader進口,最初的錯誤,我得到的是:
Uncaught SyntaxError: Unexpected token/
這是由於元數據的評論,所以我加了註釋的元數據元數據字段以匹配在this converter file的第160行附近看到的格式。我還刪除了所有其他非JSON代碼(變量等)。我也擺脫了「邊緣」字段,因爲它是空的,我沒有在.py代碼中找到字符串。
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,...]
}
什麼是我的手動轉換錯誤?甚至有可能使用不同轉換器版本的相同數據?有一個更好的方法嗎?
我想知道同樣的事情。有沒有實用的方法來添加UVs? – electronixG
變形目標怎麼樣,他們可以轉換?這是模型的關鍵部分(在我的例子中沒有描述)。當我嘗試時,他們沒有轉移到新模型。 – Blake
啊啊......變形目標也不支持:/ – mrdoob