我正在使用ThreeJS git repo中的体素画家示例。
我已将其更改为体素比示例大。它们不占用X坐标上的一个网格空间,而是占用2个。
然而,这样做意味着翻转网格没有固定在网格上,而是在一侧超过一半,而在另一侧超过一半。
这是我的代码:
// In the example the geometry is set to (50, 50, 50)
self.rollOverGeo = new THREE.CubeGeometry(100, 50, 50);
self.rollOverMaterial = new THREE.MeshBasicMaterial({
color: 0xff0000,
opacity: 0.5,
transparent: true
});
self.rollOverMesh = new THREE.Mesh(self.rollOverGeo, self.rollOverMaterial);
self.rollOverMesh.position = new THREE.Vector3(0, 25, 0);
有谁知道这是为什么?
答案 0 :(得分:1)
几何体以其局部坐标系中的原点为中心。您需要像这样翻译几何体:
rollOverGeo = new THREE.CubeGeometry( 100, 50, 50 );
rollOverGeo.applyMatrix( new THREE.Matrix4().makeTranslation( 25, 0, 0 ) );
cubeGeo = new THREE.CubeGeometry( 100, 50, 50 );
cubeGeo.applyMatrix( new THREE.Matrix4().makeTranslation( 25, 0, 0 ) );
three.js r.61