Выбор Raycasting отлично работает для моего проекта на статических сетках, однако для анимированных сеток выбор луча, похоже, не видит движения сетки и реагирует только на неанимированные сетки (оригинальное) положение.Выбор объекта raycasting Three.js с анимацией
Мой код выбора заключается в следующем:
element.addEventListener('mouseup', function (event)
{
var vector = new THREE.Vector3((event.clientX/window.innerWidth) * 2 - 1, -(event.clientY/window.innerHeight) * 2 + 1, 0.5);
vector = vector.unproject(camera);
var raycaster = new THREE.Raycaster(camera.position, vector.sub(camera.position).normalize());
var intersects = raycaster.intersectObjects(pickable_objects, true);
if (intersects.length > 0)
{
//I change the object's material colour so that I can see the selection
}
}
Где pickable_objects
представляет собой массив объектов three.js сетки, которые выбираются, они не несут в себе информацию анимации, насколько я знаю, так что результат я Жаловаться на них может не удивительно.
Я не включил код изменения цвета или код считывателя JSON здесь, так как я не считаю, что это уместно.
Таким образом, при статических сетках лучевое кастинг очень точен, но для анимированных сеток я должен щелкнуть по самому центру объекта или найти его оригинальное неанимационное положение, чтобы сделать выбор.
Спасибо за ваш ответ, это довольно раздражает, я проверю источник и перейду на страницу git. –