Aframe 单击并拖动父图元的A形框架组件
我已经从六个平面实体创建了一个骰子实体。但是,当我单击并拖动骰子实体时,不会移动该骰子,只会拖动单面。Aframe 单击并拖动父图元的A形框架组件,aframe,Aframe,我已经从六个平面实体创建了一个骰子实体。但是,当我单击并拖动骰子实体时,不会移动该骰子,只会拖动单面。 这可以在link上亲自尝试,而不是从六个平面创建一个长方体,您应该创建一个长方体并使用一种材质为您渲染骰子面。您可以使用: AFRAME.registerComponent('dice-texture'{ init:函数(){ var box=this.el.getOrCreateObject3D('mesh'); var loader=new THREE.cubeTextReloader()
这可以在link上亲自尝试,而不是从六个平面创建一个长方体,您应该创建一个长方体并使用一种材质为您渲染骰子面。您可以使用:
AFRAME.registerComponent('dice-texture'{
init:函数(){
var box=this.el.getOrCreateObject3D('mesh');
var loader=new THREE.cubeTextReloader();
setPath('/images/diceTextures/');
var textureCube=loader.load([
“1.png”、“2.png”,
‘3.png’、‘4.png’,
“5.png”、“6.png”
]);
box.material=新的三个.MeshStandardMaterial({envMap:textureCube);
}
});
然后,您可以进一步优化,使每个长方体共享相同的材质,这样您就不会每次都创建新材质。纹理不会出现。源代码位于
AFRAME.registerComponent('dice-texture', {
init: function () {
var box = this.el.getOrCreateObject3D('mesh');
var loader = new THREE.CubeTextureLoader();
loader.setPath('/images/diceTextures/');
var textureCube = loader.load([
'1.png', '2.png',
'3.png', '4.png',
'5.png', '6.png'
]);
box.material = new THREE.MeshStandardMaterial({envMap: textureCube);
}
});
<a-entity geometry="primitive: box" dice-texture></a-entity>