2012-03-17 24 views
2

three.js所我想創建導入3D模型使用File API以查看瀏覽器的功能。加載資產注入使用文件API

的three.js所裝載機上,我主持的文件工作的偉大。我的理解是加載器使用ajax來檢索文件。

我希望能夠加載在客戶端上,從磁盤上的文件進行查看。這可以如何實現?

+0

從看看源代碼,AJAX看起來有點硬編碼的...我可能是錯的。 – 2012-06-28 05:32:30

+0

你可以任意加載JSON,只需調用'createModel'而不是'load':'new JSONLoader.createModel(geometry,callback,texturePath);' – Chad 2012-09-25 13:00:16

回答

3

您可以覆蓋或「熱補丁」裝載機load()函數,以滿足您的需求。

把你覆蓋之前的任何其他three.js所 - 相關代碼。例如:

THREE.OBJLoader.prototype.load = function(url) { 
    // copy the function from OBJLoader.js source and change the AJAX calls to File API calls 
} 

似乎不像別人,ColladaLoader沒有使用原型實現,所以它不是那麼簡單。如果您需要Collada支持,則需要在Loader創建後執行此操作,並直接在加載器實例上覆蓋該函數。這種方法也適用於OBJLoader和其他人。但是你不能事先做到這一點,你需要在你的實際模型加載函數/回調中擁有代碼。

var myloader = new THREE.ColladaLoader(); 

myloader.load = function(url) { 
    // copy the function from ColladaLoader.js source and change the AJAX calls to File API calls 
} 

我在ImageLoader中使用類似的方法,使用畫布自動調整非二冪的紋理到適當的尺寸。

相關問題