• 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 /
  • Help Room /
avatar image
Question by FlashX · Oct 20, 2015 at 08:47 AM · c#collisionraycast

raycast or collision?

hi dudes!

So I'm new to raycasts so forgive me if I'm barking up the wrong tree here.

My idea is that i want the player NOT to move outside of circular boundary, would i be right in saying that a ray cast could work for this kind of thing? If so would i have the raycast attached to the ground and always looking at my player? A raycast is like a laser beam right? Unless there is some sort of circular version?

My other idea was to have a cylindrical collider that the player cant move out of but I'm thinking a raycast is better?

Any advice would be great :)

Comment

People who like this

0 Show 1
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 Paulo-Henrique025 · Oct 20, 2015 at 10:17 AM 0
Share

You may be looking for the wrong feature to solve your problem. If it is a circular boundary the max distance is the same on all directions, you should check if the player is in between the center of the circular boundary + the maximum distance from the center.

1 Reply

· Add your reply
  • Sort: 
avatar image
Best Answer

Answer by rageingnonsense · Oct 21, 2015 at 11:13 PM

Let's assume your circular boundary's origin is defined by a Vector3 called "origin", and the radius of the boundary is 100 units. You can just do the following test each frame:

 if(Vector3.Distance(player.transform.position, origin) > 100) {
     //out of bounds
 }

You COULD use a ray for this, or colliders; but this will be faster honestly. In fact, you can make it even FASTER if you the circular boundary's origin happens to be the world origin (0,0,0). In that case, it is simply this:

 if(player.transform.position.magnitude > 100) {
     // out of bounds
 }

This is because magnitude is nothing more than the distance from the world origin.

Comment
Paulo-Henrique025

People who like this

1 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 FlashX · Oct 26, 2015 at 09:20 AM 0
Share

thank you so much! I'm sorry its taken so long to get back to you, had a lot on and my internet cable was literally dragged down the street by a truck Lol!

Your above suggestions worked perfectly! 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.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

35 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

Related Questions

Raycast hit or miss in the same situation 1 Answer

create object on raycast collision that follows raycast. 0 Answers

Raycast problem/wall climb system 0 Answers

How can I make a third person camera collision script? 2 Answers

Raycast does not seem to properly detect object it hit 0 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