2015-05-27 88 views
2

我試圖用JSON路線(動畫)攪拌機2.7X出口到以.json對於three.js所JSONLoader

three.js所版本R71從攪拌機出口到three.js所

攪拌機版2.74

目前攪拌機出口國出口成功的一個以.json文件 .js文件。

r71文件夾中的所有示例僅導入.js文件。

有沒有人有任何關於如何導入從Blender 2.7x導出的.json文件的工作示例?

如果不是,我將不得不回到Blender 2.69並使用通常記錄的.js導入。

回答

1

我可能是錯的,但.json文件只是.js,但具有不同的擴展名。 如果你打開一個.json文件,你可以看到它純粹是一個在變量中聲明的JSON對象,就像你在普通的javascript中做的那樣。

您仍然可以通過JSONLoader對象加載JSON文件,只是聲明瞭一個新的對象變量中:

var jsonLoader = new THREE.JSONLoader(); 

然後用該方法.load您可以加載導出的文件作爲第一個參數和回調功能將導出的網格和導出的材質應用到場景中。

jsonLoader.load('path_to/exported_model.json', function (geometry, materials) { 

    yourModel = new THREE.Mesh(
    geometry, 
    new THREE.MeshFaceMaterial(materials) 
); 

    scene.add(yourModel); 

}); 

Working example with multiple JSON exportsthe running javascript它。

+0

謝謝你。我正在使用的兩個示例文件看起來不同,但如果兩者實際上是相同的,那麼可能是它的幾何格式類型。我已經在mrdoobs博客上看到了關於類型3和4的幾篇文章,但是它並沒有說明Blender製作哪些類型。無論哪種方式,由Blender導出的幾何格式都不會被JSONLoader的當前提交版本接受。說實話,Babylon.js和Blend4Web在這方面都有更好的文檔,所以我可能會朝這個方向前進。 –

+0

是的,我知道three.js在某些領域缺少一些文檔(有些功能仍然是在製品,這就是爲什麼有些東西不夠清晰),但我非常確定mrdoob和這些人正在做他們在旅途中最好的寫作文檔。關於我在上次提交(r71)中看到的jsonloader,更改日誌指出了Blender導出器的更改,儘管我看不到與jsonloader相關的任何更改。我可以建議你嘗試使用r69/r70導出器和加載器,並且一試。如果您有時間,請在其github回購站上舉報此問題。 – MacK

+1

您是否嘗試過使用'THREE.ObjectLoader'來代替?對不起,關於這個主題的例子當前混亂。 – mrdoob