THREE.js Превратить THREE.planeGeometry в THREE.plane - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь настроить положение THREE.plane для localClipping, и я нахожу это немного не интуитивным. У меня возникла мысль, можно ли создать плоскость-геометрию, манипулировать ею и преобразовать ее положение и ориентацию, чтобы создать на своем месте ТРИ.плоскости?

Это было бы полезно для настройки положения плоскостей отсечения.

1 Ответ

0 голосов
/ 01 сентября 2018

Вы хотите установить 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

...