2013年7月3日 星期三

只學一天的three.js(三) : 我會把sketchup檔案匯入load到畫面上了

Demo 網址:
    http://yiying2.ueuo.com/three/work2.html
  
*3D檔案圖檔較大,凡請耐心等候。(我再來想一下怎麼解決.dea檔案大小的問題)
*請使用google chrome為最保險



這個3D的素材是拿我大四的sketchup的半成品
轉出成.dae檔,才能拿來載入。


(一)先決條件是什麼?
第一件事是一定要匯入three.js
第二件事情是要匯入ColladaLoader.js,但ColladaLoader.js要另外下載,依我看好像沒有在three.js下載下來的那包裡面
第三件事,匯TrackballControls.js,因為有了這個,才能讓你用滑鼠控制3D模型轉動



(二)在哪裡載入.dae檔?
要載入您的.dea檔是依靠loader的load函式:

loader.load('http://localhost/three/0033.dae', function (result) {
     //一些設定
});

*記住,.dae的路徑,一定要符合同源策略(以chrome來說,除非你願意設定chrome --allow-file-access-from-files),最好的方法是將這個練習檔放在www目錄下,用localhost的方式去看。

如果你跑在local,而且不是在localhost的環境下,你很有可能出現這樣的錯誤:
XMLHttpRequest cannot load file:///D:/three.js/models/test.dae. Cross origin requests are only supported for HTTP.
如果你有更多的問題,或是不解,可以參考
https://github.com/mrdoob/three.js/wiki/How-to-run-things-locally




(三)Source code參考:




補充1: 如何從sketchup將檔案轉存成.dae檔?

另外您也可以參考 : https://github.com/mrdoob/three.js/wiki/Using-SketchUp-Models


沒有留言:

張貼留言

若你看的文章,時間太久遠的問題就別問了,因為我應該也忘了... XD

Vue multiselect set autofocus and tinymce set autofocus

要在畫面一進來 focus multiselect 的方式: 參考: https://jsfiddle.net/shentao/mnphdt2g/ 主要就是在 multiselect 的 tag 加上 ref (例如: my_multiselect), 另外在 mounted...