Three. Js kocka forgatása az egér pozíciójába, hogyan?
Nem hiszem tud valaki segíteni, de hátha. Three.js ben mozgatok egy kockát, és azt szeretném ha a kocka mindig arra fordulna ahol az egér van. Az egér pozícióját sikerült beazonosítanom, de a kocka nem jó irányba fordul.
Van egy olyan kódom:
var rotatePlyer = function (mouse) {
var forward = new THREE.Vector3(0,0,-1);
var mousePos = getMousePositionInTheWorld(mouse); // Ez biztos jó
var axis = new THREE.Vector3().crossVectors(forward, mousePos);
var sinAngle = axis.length(); // |u x v| = |u|*|v|*sin(a)
var cosAngle = forward.dot( mousePos ); // u . v = |u|*|v|*cos(a)
var angle = Math.atan2(sinAngle, cosAngle); // atan2(sin(a),cos(a)) = a
axis.normalize();
player_cube.quaternion.setFromAxisAngle(axis, angle);
};
A kód máshonnan származik, félig meddig innen: [link]
Valaki ötlet?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!