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
0
Question by Guy Mograbi · Aug 04, 2013 at 08:03 AM · collisionraycastraycastingcollisionsraycasts

Use RayCasting and simulate collision physics

Hi,

I want to write a First Person shooting game. I want all elements of the same to collide with my shots.

I want to use raycasting, but it will not make the box move.

What is the proper way to implement what I want?

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
0

Answer by fafase · Aug 04, 2013 at 08:43 AM

Raycasting is just a geometrical calculation to report information. It will only tell you if there is a collision and provide information about it like the position of the hit, how far from the starting point, the normal of the triangle on which the raycast hit.

It is now up to you to develop a method to make things move on impact.

For instance is you want a blood splatter on hit:

  void BloodSplaatter(RaycastHit hit){
        Quaternion rot = Quaternion.LookRotation(hit.normal);
        Instantiate(bloodParticle,hit.position, rot)
    } 

That will take the normal of the triangle to spurt the blood from the impact position. You can also use decal to place a texture on a wall to show an impact instead of blood.

Finally, if you need object to fly around on hit, it is a little more complicated. You would have to use the distance traveled to define the velocity of the object, not so hard though, but then you need the mass of the other object, its own velocity and using some Newton's formula, you can get the velocity of the two objects...it is not impossible.

http://www.physicsclassroom.com/class/momentum/u4l2a.cfm

Or you can use a rigidbody instead and Unity does it for you. In this case, instead of projecting the raycast ahead of your gun, you throw the rigidbody with addforce, but because of the velocity you may miss collision, the frame miss principle.

To avoid this, you can linecast between the previous position of the projectile and its actual position, that will report if the projectile should have hit something. Then you are back to the top of that answer.

Comment
Add comment · 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

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

14 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

Related Questions

Raycast object as far as possible? 1 Answer

What's a reliable way to detect if an object is no longer being hit by a ray? 1 Answer

Raycast detects box collider, but not capsule collider 0 Answers

Want ray cast to be true when intersecting any object 1 Answer

raycast not colliding 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