[英]A-Frame: Geometry Caching / Registering new Geometry from GLTF
我希望通過A-Frame使用幾何實例化獲得一些幫助。 我試圖弄清楚我的Web應用程序的瓶頸,在實現了對場景中創建的物理對象的池化之后,看到每個新對象的繪制調用數量都在增加-我以為是通過利用資產管理系統在A-Frame中,我的模型被自動緩存,但是我認為我弄錯了。
我想知道,如果我使用AFRAME.registerGeometry
注冊模型的AFRAME.registerGeometry
,是否可以利用幾何圖形實例化? 我看到使用A-Frame幾何圖元從對象池中創建並不會增加每個實體的場景幾何數。 我拍攝了一個加載GLTF並從網格中注冊幾何形狀的鏡頭,但是我從一個我不理解的節點收到了一個錯誤:
<script>
AFRAME.registerGeometry('ramshorn', {
schema: {
depth: {default: 1, min: 0},
height: {default: 1, min: 0},
width: {default: 1, min: 0},
},
init: function(data) {
var model = null;
var geometry = null;
var manager = new THREE.LoadingManager();
manager.onLoad = function () {
console.log(geometry);
this.geometry = geometry;
console.log(this.geometry);
}
var gltfLoader = new THREE.GLTFLoader(manager);
gltfLoader.setCrossOrigin('anonymous');
const src = "./assets/ramsHorn/Ram's Horn 2.gltf";
gltfLoader.load(src, function ( gltf ) {
console.log("Gltf: " + gltf);
model = gltf.scene;
console.log("Model: " + model)
model.children.forEach((child) => {
console.log(child);
});
gltf.scene.traverse(function (o) {
if (o.isMesh) {
geometry = o.geometry;
//console.log(geometry);
//tried assigning "this.geometry" here
}
});
}, undefined, function ( error ) {
console.error(error);
});
//tried assigning "this.geometry" here
}
});
</script>
錯誤:
core:a-node:error Failure loading node: TypeError: "t is undefined"
aframe-master.min.js:19:658
任何幫助,將不勝感激! 謝謝
aframe-master.min.js
中19:658處的代碼試圖運行帶有變量t
但尚未聲明。
通過使用aframe-master.js
,可能會得到更有意義的錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.