• 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
0
Question by anthonl00 · Oct 27, 2017 at 09:21 PM · collidercharactercontrollerontriggerenterontriggerexitontriggerstay

I'm trying to make a climbable ladder, but when I climb down, the character controller falls through the ground, Can anybody help me with this?

As mentioned above, once I go down on the ladder my character moves through the ground as if though the trigger on the box collider of the ground object is set to Is Trigger, even though the ladderTrigger script isn't attached to the ground object. It shouldn't be able to move through the ground, so my question is if there is any possible fix to this? here is the code:

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class LadderTrigger : MonoBehaviour {
 
     public float speed = 5.0f;
     public Transform target;
     public PlayerMovement playerMovement;
     public CharacterController controller;
 
     void Start (){
         controller = GetComponent<CharacterController> ();
         playerMovement = GetComponent<PlayerMovement> ();
     }
     void OnTriggerStay (Collider other){
         target = other.transform;
         target.GetComponent<PlayerMovement> ().gravity = 0.0f;
         target.GetComponent<CharacterController> ().slopeLimit = 0.0f;
         target.GetComponent<CharacterController> ().stepOffset = 0.0f;
         if (Input.GetKey ("w") || Input.GetKey (KeyCode.UpArrow)) {
             target.Translate (Vector3.up * Time.deltaTime * speed, Space.World);
         } else if (Input.GetKey ("s") || Input.GetKey (KeyCode.DownArrow)) {
             target.Translate (Vector3.down * Time.deltaTime * speed, Space.World);
         }
     }
 
     void OnTriggerExit (Collider other){
         target = other.transform;
         target.GetComponent<PlayerMovement> ().gravity = 20.0f;
         target.GetComponent<CharacterController> ().slopeLimit = 45.0f;
         target.GetComponent<CharacterController> ().stepOffset = 0.3f;
         target = null;
     }
 }

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

0 Replies

· Add your reply
  • Sort: 

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

144 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 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 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 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 avatar image avatar image avatar image avatar image

Related Questions

OnTriggerExit2D doesn't work when one of gameObject setActive false. 0 Answers

OnTriggerEnter For Parking 1 Answer

Text disappear on OnTriggerExit() 1 Answer

How do I check if an specific object is NOT inside a trigger? 0 Answers

How do I differentiate between the triggers? 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