hey, I have a little problem with Quaternions.
i am shooting a little ball, and when that ball collides with the ground a flat sphere( circle ) should appear. Everything works just fine, but the rotation is wrong. I am using the LookRotation-function of the Quaternion, but it seems i don't fully understand what it does. (for example my level is a completely flat, so it should look exactly 90° upwards. But the rotation of the circle is x 76, y 74, z 1)
ATM my code looks like that:
void OnCollisionEnter(Collision collision)
contact = collision.contacts;
Instantiate(SpinningRange, transform.position, Quaternion.LookRotation(contact.normal) );
i hope someone can help me =)
Answer by Bunny83
Jun 10, 2011 at 12:25 PM
I guess the problem is that you don't set the up-vector explicitly.
Therefore you call Quaternion.LookRotation like this:
The problem is that if contact.normal equals Vector3.up you get in trouble. The second parameter (the up-vector) specifies the rotation around the axis given in the first parameter. If the first parameter is Vector3.up you have to use Vector3.right or .forward as up-vector.
Answer by Anxo
Jun 10, 2011 at 11:47 AM
if you just want it to look up, I think you can use.
Instatiate(SpinningRange, transform.position, Quaternion.SetLookRotation(Vector3.up));
var Clone : GameObject = Instatiate(SpinningRange, transform.position,transform.rotation);
Clone.rotation = (desired rotation);
SetLookRotation is not a static member function. It can only be used on instances of Quaternions
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a site navigation guide.
If you are a new user, check out our FAQ for more information.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
Answers and Comments
3 People are following this question.
Orient a vehicle to the ground and in the direction of its travel.
LookRotation and Raycasting
Quaternion LookRotation/Slerp Axis Lock
Transform Z axis rotation from center of screen toward mouse cursor with Quaternion.LookRotation for a top down game.
Rotate multiple objects around a object, maintaining their own trajectory(not rotating their local forward vector)