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 newfinalflashers · Jun 06, 2015 at 05:07 AM · raycastcharactercontrollerlayersikignorecollision

How would I create a raycast that ignores Character Controller

I am currently making an foot IK system right now for my game. But despite all of my dificulties the only problem I have is that whenever I enable my character controller the collider blocks off my raycast for foot IK, so I get this floating effect. Is there any way I can make my raycast ignore my character controller. I know how to utillize layers, but the problem is that the component, character controller collider, cannot have a layer? or can it? How would I make my raycast ignore the character controller?

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

3 Replies

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

Answer by Cherno · Jun 06, 2015 at 11:14 AM

It's true that a component can't have a layer, only a gameObject can. However, this is irrelevant since all components on a gameObject are bound to the gameObject's layer. So just make the RayCast use a layermask that excludes the character's layer, and you should be good.

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
1

Answer by Mouton · Jun 08, 2015 at 07:27 AM

Don't set the layer to the component but to the gameobject.

 GetComponent<CharacterController>().gameobject.layer = LayerMask.NameToLayer("nameOfYourGameObjectLayer")
 
 LayerMask rayMask = 1 << LayerMask.NameToLayer("nameOfYourRayLayer");
 
 if (Physics.Raycast(from, direction, distance, rayMask))
             Debug.Log("Hit something, but not the CharacterController");
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
1

Answer by Pharaoh_ · Jun 06, 2015 at 11:57 AM

Pretty much what @Cherno said, but you can use the inbuilt "Ignore Raycast" layer on the character controller.

Comment
Add comment · Show 3 · 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 newfinalflashers · Jun 06, 2015 at 07:22 PM 0
Share

Thank you, for your quick replies I figured out that the problem was with the height of the character controller and that my feet were not long enough to hit the ground I will change this through some code.

avatar image Cherno · Jun 06, 2015 at 08:30 PM 0
Share

Please only post answers if you have an actual solution, comments or "answers to answers" should be written as comments :) I convertd your answer to a comment.

avatar image newfinalflashers · Jun 07, 2015 at 01:04 AM 0
Share

Thank you.

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

23 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

Related Questions

Raycast Layermask doesn't ignore no layered Parent? 1 Answer

How do i add a layer to a gameobject? 1 Answer

Make Certain Object's Raycasts Ignore Certain Colliders 0 Answers

How to make Ray collide with Character controller ? 1 Answer

How to raycast through friendly objects? 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