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 jzapper · Dec 25, 2013 at 01:37 AM · raycastraycastingraycasthitraycastallraycasts

[help]RayCast check [SOLVED]

Solved - I found out that I had the Layermask set up wrong i had it set to ignore everything but the player i just switched it around and now it is working thanks for the help.

I have this java-script which shoots a raycast from the camera in the direction it faces. The raycast checks to hit any rigid-body then extra work which is pointless to this question. The camera is inside the default First Person Controller. Scripts is functioning until I try to raycast downward. The raycast debug line that is drawn shows that the raycast is hitting the player collider. I know how to code C++ pretty well so don't try to answer this like I'm a complete idiot who thinks I can jump into the action.

How would I be able to check the tag of the rigidbody I hit in this script.

 Physics.Raycast(transform.position, transform.forward, hit, RayDistance, layerMask.value);
 Debug.DrawLine (transform.position, hit.point, Color.green);
     if(RaycastHit){
         if(hit.rigidbody){ //I want to check if the rigid body is NOT the player.
             Here's where the crap happens.             
         }
     }
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

2 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by robertbu · Dec 25, 2013 at 02:15 AM

A raycast (3D version) returns a boolean indication whether it hit something. You can structure the cast and the check to make sure it's not the player this way:

 if (Physics.Raycast(transform.position, transform.forward, hit, RayDistance, layerMask.value)) {
        if(hit.collider.name != "Player") { 
        // Do stuff here
        }
 }

You can check the tag rather than the name if you have your player tagged:

 if (hit.collider.tag != "Player") {
 
 }
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
avatar image
0

Answer by jzapper · Dec 25, 2013 at 08:41 PM

[Edit] I found out that the raycast only grabs rigidbodies that are in sight and stuff. When I look down at the object and try to pick it up the character controller collider cylinder gets in the way of the object so it can't pick up the cube or whatever object in its sight so my question is, **

Is there a way to change the collider of the character controller to a different collider such as a mesh where there is a line of nothing down the middle of it? if so how can i do that?


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

18 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

Related Questions

ScreenPointToRay ray not coming through from camera 0 Answers

Raycast returns null for no apparent reason 0 Answers

Raycast not working 2 Answers

Can you figure out raycast origin position from RacyastHit? 2 Answers

Raycast detects box collider, but not capsule collider 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