0
我現在在一個業餘視頻遊戲的3D引擎上工作,我想給他添加噸的功能,以獲得最佳性能&的遊戲玩法。但是我有嚴重的問題要用lod網格來獲得「點擊事件」。可點擊的網格與THREE.lod
對於「LOD」的一部分,沒有任何問題,現在,他的集成,但我沒有發現任何解決方案以應用爲例他:
https://stackoverflow.com/a/12808987/3379444
難道我必須按「LOD」的對象,或每個網格單獨?
我的代碼的一部分:
var i, j, mesh, lod;
for (j = 0; j <= 42; j++) {
lod = new THREE.LOD();
//Here, it's just var for place my mesh into a circle
rayonSysteme = Math.floor(Math.random() * 10000) + 2500;
angleSysteme = Math.random() * 360;
for (i = 0; i < geometry.length; i ++) {
mesh = new THREE.Mesh(geometry[ i ][ 0 ], material);
mesh.scale.set(1.5, 1.5, 1.5);
mesh.updateMatrix();
mesh.matrixAutoUpdate = false;
//Callback here ?
mesh.callback = function() { console.log(this.name); }
lod.addLevel(mesh, geometry[ i ][ 1 ]);
}
lod.position.x = rayonSysteme * Math.cos(angleSysteme);
lod.position.y = Math.floor(Math.random() * 1000)-500;
lod.position.z = rayonSysteme * Math.sin(angleSysteme);
//Or here ?
lod.updateMatrix();
lod.matrixAutoUpdate = false;
gravity = drawCircle("XZ", 64, 500, 360);
gravity.position.x = lod.position.x;
gravity.position.y = lod.position.y;
gravity.position.z = lod.position.z;
scene.add(lod);
//objects.push(lod);
scene.add(gravity);
};
你能告訴一個非常簡單的活生生的例子來說明問題? – WestLangley
我的主要工作區在這裏:http://lesfougeresdelulu.com/Moteur3D/這是我儘可能讓我的引擎更乾淨的地方(但現在仍然是菜鳥的巫術)。 在這裏,我嘗試使用mrdoob建議:http://lesfougeresdelulu.com/Moteur3D/save2.html(球在左側和右側,我不更改génération代碼,所以它是隨機的) 我的目標是在主代碼上獲得此功能,但目前它仍在工作。 –