我正在尝试配置一个THREE.plane的位置进行localClipping,我发现它有点不直观。我有一个想法,是否有可能创建一些planeGeometry,操纵它,并将其位置和方向转换为创建一个THREE.plane在它的位置?
这对于配置剪裁平面的位置很有用。
你想从一个有THREE.Plane
的Mesh
设置一个PlaneGeometry
,你想要考虑网格的position
和quaternion
(或rotation
)。换句话说,你希望THREE.Plane
与平面Mesh
对齐。
最简单的方法是使用plane.setFromNormalAndCoplanarPoint()
。
法线是旋转后平面网格的法线。共面点是平面网格中的任何点; position
会这样做。
var plane = new THREE.Plane();
var normal = new THREE.Vector3();
var point = new THREE.Vector3();
normal.set( 0, 0, 1 ).applyQuaternion( planeMesh.quaternion );
point.copy( planeMesh.position );
plane.setFromNormalAndCoplanarPoint( normal, point );
three.js r.96