admin管理员组

文章数量:1426950

I am trying to configure the position of a THREE.plane for localClipping, and Im finding it a little unintuitive. I had a thought, is it possible to create some planeGeometry, manipulate it, and convert its position and orientation to the create a THREE.plane in its place?

This would be useful for configuring the position of a clipping planes.

I am trying to configure the position of a THREE.plane for localClipping, and Im finding it a little unintuitive. I had a thought, is it possible to create some planeGeometry, manipulate it, and convert its position and orientation to the create a THREE.plane in its place?

This would be useful for configuring the position of a clipping planes.

Share Improve this question asked Sep 1, 2018 at 1:06 8195mike8195mike 901 silver badge8 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 8

You want to set a THREE.Plane from a Mesh having a PlaneGeometry, and you want to take into consideration the mesh's position and quaternion (or rotation). In other words, you want the THREE.Plane to align with the planar Mesh.

The easiest way to do that is to use plane.setFromNormalAndCoplanarPoint().

The normal is the normal to the plane mesh after rotation. The coplanar point is any point in the plane mesh; the position will do.

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

本文标签: javascriptTHREEjs Turn THREEplaneGeometry to THREEplaneStack Overflow