• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by AyeEmTeeBee · Jun 09, 2018 at 09:50 PM · rigidbodyreflect

Reflect a rigid body without rotating it

Imagine a spinning top that moves at a constant speed. It uses rigidbody and addForce to knock other objects over. I want it to reflect its velocity and bounce off when it hits something, and maintain its constant speed. But from other people's answers, it involves rotating the projectile itself, which I don't want. How do I make a rigidbody reflect off without rotating it?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by Captain_Pineapple · Jun 10, 2018 at 10:10 AM

Hey there,

you might just take the rigidbodys velocity and "reflect" it according to the object you hit.

Simply access the velocity vector and use This Function to "invert" the vector. Finding the normal to do so will be your problem though (I think the Collision information provided by OnCollisionEnter might provide it). If you need more specifics on this topic you should post more information about your setup/code/objects, to clarify what you want to achive.

Comment
Add comment · Show 5 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image AyeEmTeeBee · Jun 10, 2018 at 11:01 PM 0
Share

The top should bounce off of whatever it hits, including squares and spheres. Other codes I tried to use makes the top reflect off of things just fine, but it also requires the top itself to be rotated. I have a camera attached to the non-spinning portion of the top, and rotating the top will also rotate the camera, which can be very disorienting. If the top hits a sphere or a capsule, it rotates the top sideways.

avatar image xorap AyeEmTeeBee · Jun 11, 2018 at 01:40 AM 0
Share

why not unparent the camera, quaternion.inverse the top, then relink the camera again?

avatar image Captain_Pineapple AyeEmTeeBee · Jun 11, 2018 at 06:47 AM 0
Share

Well when you just fiddle with the velocity your "top" will not be turned. It simply will move in another direction.

avatar image AyeEmTeeBee Captain_Pineapple · Jun 12, 2018 at 12:19 AM 0
Share

I don't know how to reverse velocity though.

Show more comments

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

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 to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

113 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Weird results when using Vector3.Reflect and RaycastHit.normal? 1 Answer

Reflect a Rigidbody in Javascript 0 Answers

How to calculate a RigidBody2D's bounce from a collider? 1 Answer

Physics.Raycast not working as expected! 1 Answer

My animation is out of sync 0 Answers

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges