2014-06-24 3 views
1

J'essaie de tirer des cubes à partir de l'origine de la caméra, en utilisant la direction des caméras comme ligne de tir. Je voudrais être capable de modifier la quantité de puissance délivrée dans le coup avec un int. Après avoir regardé les différents bits de code trouvés sur le web, ce qui suit semble être ce que je recherche.appliquer une force à un objet dans la direction spécifique avec la physique de la balle

obj.body.applyCentralImpulse(Vector3);  

Où Vector3 donner les forces en X, Y, Z

Ce qui suit donne la direction de la caméra regarde

Vector3 dir = cam.direction; 

comment puis-je combiner le répertoire et la force nécessaire ?

merci beaucoup.

+0

https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/ bullet/BaseBulletTest.java # L218 – Xoppa

+1

J'ai regardé cela avant, mais je cherchais autre chose. merci pour votre aide, \t \t 'Ray rayon = cam.getPickRay (Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2); \t \t \t ((btRigidBody) obj.body) .applyCentralImpulse (rayon.direction.scl (100f)); 'travaillé un régal – Spriggsy

Répondre

0

Voilà comment cela fonctionne pour moi:

float force = 10.0f; //but any value that works for you 
Vector3 dir = normalize(cam.origin + cam.direction) * force; //suppose your camera moves around 
body->applyCentralImpulse(dir); 
Questions connexes