JSFiddle - React, Tailwind, and code Playground
by Michael Prosser
HTML
<script src="https://cdn.babylonjs.com/babylon.js"></script>
JavaScript
var predictObject = function(position, rotation, d) {
var r = rotation;
var p = new BABYLON.Vector3(position.x, position.y, position.z);
console.log("d",d);
p.z += Math.cos(r.y) * d;
p.x += Math.sin(r.y) * d;
p.y += Math.tan(r.x) * d;
// get distance. between
var dis = distance(p, position)/d;
d = d/dis;
console.log("d",d);
position.z += Math.cos(r.y) * d;
position.x += Math.sin(r.y) * d;
position.y += Math.tan(r.x) * d;
return new BABYLON.Vector3(position.x, position.y, position.z);
}
var distance = function(player1, player2) {
return Math.sqrt(Math.pow(player2.x - player1.x, 2) + Math.pow(player2.y - player1.y, 2) + Math.pow(player2.z - player1.z, 2));
}
console.log(predictObject({
x: 0,
y: 0,
z: 0
}, {
x: (Math.PI/42)+0.0000000000001,
y: 0,
z: 0
}, 10));