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 Psyco_T · Oct 30, 2012 at 06:50 PM · fpsmovingwalls

Moving through walls

Im working on a game where you play as both an angel and a demon. They each have their own set of powers. The demons power consit of destroying things and phasing through walls. Im not the strongest programmer. This game is completely in First Person. So Im wondering how I would program the phasing through walls.

Comment
Add comment · 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 Fattie · Oct 31, 2012 at 08:46 AM 0
Share

almost certainly you need to learn about the layer-based collision system. it's essential for all non-trivial development in Unity, so go for it! and it is not program$$anonymous$$g-oriented, even, you just click boxes. Enjoy

4 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by DaveA · Oct 30, 2012 at 06:53 PM

Assuming you have colliders and rigidbodies on the players and the walls, just disable the rigidbody collision: http://docs.unity3d.com/Documentation/ScriptReference/Rigidbody-detectCollisions.html (untested)

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 CubePhysics · Oct 30, 2012 at 08:44 PM

you could create new scenes which you play as the angel and demon. For the demon scenes just get rid of the box collider for walls you want the player to go through

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 Noah-1 · Oct 30, 2012 at 07:20 PM

I would create a Boolean, if it equals to true its an angel, else its a demon, if your Boolean equals to true (angel mode), then you just disable the wall colliders.

 //just a simple example
 
 var playerMode: boolean;
 var wallCollider: Collider;
 
 function Update(){
 
 
 if(playerMode == true){ //if angel
 
 wallCollider.enabled = false; //disable wall
 
 }else{wallCollider.enabled = true;}//if demon, enable them
 
 }
 
 Hope it helps, good luck.
 

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 XienDev · Oct 31, 2012 at 07:15 AM

Hope this help Set wall collision layer as wall, flour - flour, and demon - demon.

 if (demon.CanWalkThroughtWalls)
     Physics.IgnoreCollision(demon.collider, wall.collider); 
 else
     Physics.IgnoreCollision(demon.collider, wall.collider, false); 

 

Or something like this. Don't remember now

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

Patching glitches 1 Answer

How to position a gun on a FPS Charater 1 Answer

How to create wall at runtime? 3 Answers

moving gun in first person shooter while walking 8 Answers

RigidbodyFPSWalker climbing walls 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