想知道 a-frame 的 gltf 有哪些限制可以從那邊查?
自己有試過一些簡單的cube之類是可以。
最近有拿到一個從 unity 轉出來的 model 在 sketchfab:
https :// sketchfab.com /models/da19c1065baa4655a74ef220e837b9a9
這個在 a-frame 就似乎沒有反應。不太確定是自己哪裡有寫錯,
或是其實是 a-frame 支援度的問題?
有可能是因為 glTF 2.0 還不支援的關係,可以考慮用 A-Frame extras 的 「gltf-model-next」試試看 https://github.com/donmccurdy/aframe-extras/tree/master/src/loaders
glTF 2.0 會在 A-frame 0.7.0 起支援
也有可能只是因為太慢…
無論如何開一下 web console 看看或許 three.js 有發現啥錯誤
試成功的話請分享一下心得唷
問題不少… 除了js裡面的rawgit得加上cdn之外,這個 require 我就不懂了…
ReferenceError: require is not defined
https://cerulean-freon.glitch.me/
我用了目前 aframe master 來放放看,也有問題,不過看起來是解析 glTF 2.0 時發生了什麼狀況 – 不確定是誰的問題就是。但總之這樣好像方便點,你可以先參考看看要不要繼續追問題在哪。
就 “require” 跟 “model” 都未定義,不知道是缺了什麼 lib 之類的?(那個 gltf model loader 居然用相對路徑拉 lib,我也是只能呵呵…)
https://cerulean-freon.glitch.me/
我拿 glTF 2.0 的範例 model 來載入是 ok 的… 不知道那邊缺什麼,我看到的 error 都是寫 JSON parsing error
試著用 Validator 去跑,很多 Unity 轉出來的 glTF 2.0 都有 Error… 但不知道這是否為主因就是(畢竟有其他的線上 Viewer 可以容錯)
試試看:
<html>
<head>
<script src="https://aframe.io/releases/0.7.0/aframe.min.js"></script>
</head>
<body>
<a-scene>
<a-assets>
<a-asset-item id="belleii" src="belleii_vr/scene.gltf"/>
</a-assets>
<a-entity gltf-model="#belleii" position="0 1 -2" scale="0.1 0.1 0.1"></a-entity>
</a-scene>
</body>
</html>
或是:
<html>
<head>
<script src="https://aframe.io/releases/0.7.0/aframe.min.js"></script>
</head>
<body>
<a-scene>
<a-entity gltf-model="src: url(belleii_vr/scene.gltf);" position="0 1 -2" scale="0.1 0.1 0.1"></a-entity>
</a-scene>
</body>
</html>
如果使用 aframe-extras載入 glTF2的模型,可以這樣做:
<a-entity gltf-model-next="src: url(model_path);"/>
之前在aframe 0.6.1 測試載入 glTF 2.0 的模型需要使用 aframe-extras,現在只要 aframe 0.7.0 就可以了。
感謝, aframe 0.7 看起來方便很多。
然後我知道問題出在哪裡了… 這個從 sketchfab 載下來的,其實是個「偽」gltf,後面還跟著一個 ~270MB 的 bin 檔。先前我以為兩個是等價的就沒放上 server,也沒注意到 console 其實有顯示載不到檔案。 XD
Now it’s sort of working!
我自己測到還有另一種可能,是與Server相關,如果檔案是放在IIS上,要多設MIME類型,才能讓IIS支援gltf格式