Как получить индекс точки на пути TubeBufferGeometry?(Three.js) - PullRequest
0 голосов
/ 21 марта 2019

Я создал TubeBufferGeometry.Код следующий:

var curve = new THREE.CatmullRomCurve3( pointArray, false, "centripetal"); 
var geometry = new THREE.TubeBufferGeometry( curve, pointArray.length, tubeRadius, radiusSegments, closed );  

Чтобы получить интересующую точку, я использовал Raycaster.intersectObject (), я могу получить следующие результаты.

расстояние - расстояние междуначало луча и точка пересечения

точка - точка пересечения, в мировых координатах

face - пересеченное лицо

faceIndex - индекс пересеченного лица

object - пересеченный объект

uv - координаты U, V в точке пересечения

Теперь я могу получить положение пересеченной точки в TubeBufferGeometry при перемещении мыши.

Как мне найти ближайшую точку в PointArray к пересеченной точке?

Должен ли я преобразовать координацию пересеченной точки в мировой вектор?

Большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...