Пример в вопросе
Расчет координат «Шар» в примере
Если я использую вышеуказанные координаты и пытаюсь проецировать пространство на экране, как если бы я использовал обычные объекты, я получаю чрезвычайно низкие значения (ниже 0.0001
)
Если я умножу эти значения на 700
effect.scale
( строка ), тогда значения станут более разумными (полный диапазон между 0.0 & 1.0
). Но они кажутся работающими только с одной камеры POV ( просмотр видео ), если я буду следовать коду вроде:
createVector(ballx * 700, bally * 700, ballz * 700, camera, window.innerWidth, window.innerHeight);
...
function createVector(x, y, z, camera, width, height) {
var p = new THREE.Vector3(x, y, z);
var vector = p.project(camera);
vector.x = Math.round( ( vector.x + 1 ) * width / 2 );
vector.y = Math.round( ( - vector.y + 1 ) * height / 2 );
vector.z = 0;
return vector;
}
Может ли кто-нибудь указать мне правильное направление, чтобы обойти это?