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 Molocai · Jul 23, 2013 at 01:30 PM · c#colliderarc

Detect colliders in an arc

I'd like to achieve the following attack style: http://www.youtube.com/watch?v=AfEcrnhdD08

My solution is to dynamically draw a pie slice in front of my character and detect what colliders are inside, I think it's the way to go. Problem is: i don't have any idea how to do this.

Do you have any ideas?

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
Best Answer

Answer by hatuf · Jul 23, 2013 at 01:59 PM

Do a Physics.SphereCast on the character. This will get all the enemies in a circle around you. You get an array of colliders. Now loop through all those colliders and check the Dot-product between the vector from the main character to the collider and the main characters forward vector (where his face is pointing at).

The Dot-Product will be 1f if the vectors are pointing at exactly the same direction (the enemy is right in front of your face) if the enemy is right next to you on the side (90 degree angle), dot-product will be 0. If the enemy is behind you, dot-product will be -1f. To get a "pie-slice" the cut-off should be about 0.5f I'm guessing.

Pseudo code:

 Vector3 vectorToCollider = (collider.transform.position - player.transform.position).Normalize();

 // 180 degree arc, change 0 to 0.5 for a 90 degree "pie"
 if( Vector3.Dot(vectorToCollider, player.transform.forward) ) > 0)
 {
   //Damage the enemy
 }
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 Molocai · Jul 23, 2013 at 03:03 PM 0
Share

That's exactly what I wanted, thanks a lot.

By the way it's Physics.SphereCastAll to get my array of colliders.

I got it to work in 15$$anonymous$$s after I was on the right trail, thanks again ;)

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

16 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

Related Questions

Distribute terrain in zones 3 Answers

Multiple Cars not working 1 Answer

BoxCollider Overlap OnTriggerEnter Problem 1 Answer

Drag a sprite by its 2D Polygon Collider component 1 Answer

C# Slow Down all Gameobjects Within another Gameobject's Collider 2 Answers


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