Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • 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
2
Question by Joshua · Mar 23, 2011 at 01:36 AM · collisionphysicsraycast

AddForce to a point of a GameObject, not the center

I have an object, for simplicitaction call it a line, moving from A to B on high speed. It seems the Unitys build in physics don't work when you're directly altering the transform of the colliding body. To work around this I have the line save the position of where it starts to shoot and where it'll be at the end of the shot. Then it casts a ray, and if it collided I get all the collision data.

Now I'm stuck with two questions: how do I find what body is collided with? I tried

var hitBody = hit.rigidbody;
var hitObject = GameObject.Find("hitBody");
Debug.Log(""+hitObject);

But this just displays null. How would I, from the information returned by the Raycast, find the GameObject that this rigidbody or collider belongs to?

Secondly, and party following from the first, how would I add a force at the point the ray hit the GameObject? Adding this force from the center would be easy, but I have no idea how to add it at a certain point. Any help would be much appreciated! I try to return the favor by answering questions of people who know even less of unity than I do. :)

Comment
Add comment · Show 2
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 dissidently · Mar 23, 2011 at 02:16 AM 1
Share

On the second part of your question, which might deserve it's own question, is this what you're asking:

how to add force to that point of the object the rayhits in such a way that it creates torque (twist) upon the GameObject based on that point and the direction of force as it applies to both the center of the GameObject's mass and it's current rotational rate and inertia?

avatar image Joshua · Mar 23, 2011 at 02:23 AM 0
Share

Yes, exactly. I'm now going to play around with what Peter G suggested and see if that does what I hope it to do! :)

1 Reply

· Add your reply
  • Sort: 
avatar image
1
Best Answer

Answer by Peter G · Mar 23, 2011 at 02:19 AM

You aren't using GameObject.Find() correctly. And you really shouldn't use it in this case anyway.

var hitGameObject = hit.rigidbody.gameObject;
//That should do it.

As for your second question. RigidBody.AddForceAtPosition()

Comment
Add comment · Show 1 · 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 Joshua · Mar 23, 2011 at 02:21 AM 0
Share

Thanks, as you can probably tell I'm an absolute newby to both scripting and unity. I'm learning pretty fast, but I still make a lot of rookie mistakes. But thanks for the help! :D

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.

Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

AI Players Movement for Rolling Ball Game 0 Answers

Physics.Raycast doesn't work with all collidables 1 Answer

Bounce not always triggering 0 Answers

RayCast Nearest Character 0 Answers

Can't Make Raycast Target Nearest Character 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges