Tôi đang cố gắng vẽ đường bằng cách sử dụng tính năng truyền tia. Về cơ bản, tôi muốn thiết lập một số dòng đến từ đối tượng "người chơi" của tôi theo mọi hướng.Truyền phát Three.js cho phát hiện va chạm
Tôi muốn điều này vì vậy tôi sau đó có thể sử dụng Tôi có thể thấy phát hiện va chạm trực quan của tôi.
Tôi biết tôi có thể sử dụng các cách khác nhau để phát hiện va chạm, nhưng tôi đang sử dụng cách này như là một phát hiện học tập.
Vấn đề của tôi là mã bên dưới vẽ một đường nhưng dường như thay đổi độ dài một cách ngẫu nhiên và không phải lúc nào cũng trỏ cùng một góc.
var ray = new THREE.Ray(player.model.objects.position, new THREE.Vector3(1, 1, 1));
var geometry = new THREE.Geometry();
// my issue is here. I don't think this is the right way use a ray to workout the second vector?
// EDIT: Realized this should be set at player position and outwards.
//var newx = 300 * ray.direction.x;
//var newz = 300 * ray.direction.z;
// EDIT CODE UPDATE
var newx = (player.model.objects.position.x) + (60 * ray.direction.x);
var newz = (player.model.objects.position.z) + (60 * ray.direction.z);
// THREE.Vector3 {x: 1310.1526178356803, y: 0, z: 1290.8237947033065}
console.log(player.model.objects.position);
geometry.vertices.push(player.model.objects.position);
geometry.vertices.push(new THREE.Vector3(newx, player.model.objects.position.y, newz));
var line = new THREE.Line(geometry, material);
scene.add(line);
Mọi trợ giúp đều được đánh giá cao.