|
Hello, I am trying to write a function which will create a visual vector on a rigidbody. Then this vector can be rotated with mouse. When vecotr rotation is finished a force is added to that rigidbody. My code is not working and I'd like to hear tips and suggestions. Thanks in advance for your answers.
(comments are locked)
|
|
If your problem is the force direction (forceVector is pointing to the middle of the 3 axes), you can use arrowInstance.transform.forward:
if (Input.GetMouseButtonUp(1)) {
if (arrowInstance != null) {
rigidbody.AddForce(arrowInstance.transform.forward * forceMultiplyer);
Destroy(arrowInstance);
}
}
Yes, the problem is the force direction. If I use your code the force is applied wrong. I want the force vector direction to be the same with my arrowInstance direction. As I said before, arrowInstance can be rotated in 3 axes. Thanks.
Oct 18 '11 at 07:14 PM
kernel_mode
And to which direction the arrow model tip is pointing to? Z, Y or X? I assumed the model tip points to Z, and thus used transform.forward. If the model tip points to Y, you must use transform.up; if points to X, transform.right. Notice that I'm talking about the arrow model: when you drag it to the scene, it comes with null rotation, and you can see to which axis the arrow tip initially points.
Oct 18 '11 at 07:44 PM
aldonaletto
Oh, thanks. It was transform.up.
Oct 19 '11 at 05:43 PM
kernel_mode
(comments are locked)
|
