レイキャスティングを使って線を引こうとしています。基本的に、「プレーヤー」オブジェクトから全方向に出てくるいくつかの線を設定したいと考えています。
これを使用して、衝突検出を視覚的に確認できるようにしたいです。
衝突検出にはさまざまな方法を使用できることはわかっていますが、この方法を学習検出として使用しています。
私の問題は、以下のコードが線を引くことですが、長さがランダムに変化し、常に同じ角度を指しているとは限りません。
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);
どんな助けでも感謝します。