Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 Kosbot · May 04, 2019 at 09:03 PM · c#scripting problem3d

CharacterController.isGrounded not working,CharacterController.isGrounded Not Working

My problem is simply that the CharacterController.isGrounded function does not return anything. Here is my code:

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class PlayerController : MonoBehaviour { public Animator anim; public CharacterController controller; public float speed;

 void Update()
 {
 if(controller.isGrounded) {
     if(Input.GetAxis("Horizontal") > 0) 
     {
         anim.SetInteger("condition", 1);
         transform.Translate(speed - speed - speed, 0, 0);
     } 
     
     if(Input.GetAxis("Horizontal") < 0) 
     {
         anim.SetInteger("condition", 1);
         transform.Translate(speed, 0, 0);
     }
     
     if(Input.GetAxis("Vertical") > 0) 
     {
         anim.SetInteger("condition", 1);
         transform.Translate(0, 0, speed - speed - speed);
     } 
     
     if(Input.GetAxis("Vertical") < 0) 
     {
         anim.SetInteger("condition", 1);
         transform.Translate(0, 0, speed);
     }
 } else {
     
     anim.SetInteger("condition", 2);
 }
 }

 

}

Here are my object components:

image?![Transform, Rigidbody (Use Gravity is on, Is Kinematic off), Box Collider (Is Not Trigger), CharacterController (Slope Limit: 0, Step Offset: 0, Skin Width: 0.08, Min Move Distance: 0.001) , Script(above)] (/Y:Kostya/Image.jpg

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

4 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by KevRev · May 04, 2019 at 09:40 PM

You don't seem to have set the controller variable to reference the component. You'll need the following in the Start() section:

 controller = GetComponent<CharacterController>();
Comment
Add comment · Show 9 · 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 Kosbot · May 04, 2019 at 09:48 PM 0
Share

I have added the component in the public area. Is that alright?

avatar image KevRev Kosbot · May 04, 2019 at 09:53 PM 0
Share

What you have done is created a publicly accessible variable named controller, with a type of CharacterController.

Until you set that variable, it's empty. To make sure it's referencing the Component that's sitting on the same GameObject as this script, you need the above GetComponent command.

avatar image Kosbot · May 04, 2019 at 09:51 PM 0
Share

@$$anonymous$$evRev, I changed my code to what you suggested. Unfortunately, it still didn't work.

avatar image KevRev Kosbot · May 04, 2019 at 09:57 PM 0
Share

Can you update the code in your first post, and include any errors from the console?

avatar image KevRev Kosbot · May 04, 2019 at 10:00 PM 0
Share

Also add the following line straight after the controller= and provide the console output.

 Debug.Log(controller);
avatar image KevRev KevRev · May 05, 2019 at 07:33 AM 0
Share

Looks like you have captured the component now. Do you have a collider on whatever object you are using as the ground?

Show more comments
avatar image KevRev · May 05, 2019 at 07:51 AM 0
Share

Also, I've noticed people struggling with similar issues that have been resolved by adding a small amount of downward force, to avoid the character running in parallel to the ground. So include this in your Update() function:

   // apply gentle downward force
     controller.$$anonymous$$ove( new Vector3(0,0.01,0) * Time.deltaTime);        
 

avatar image Kosbot KevRev · May 05, 2019 at 05:13 PM 0
Share

I added the code. Again, it did not work. I looked at the y axis and it was not changing. I may have not put the code in the correct spot. Here is where I put it:

... void Update() { controller.$$anonymous$$ove(new Vector3(0,0.01f,0) * Time.deltaTime); if(controller.isGrounded) { if(Input.GetAxis("Horizontal") > 0) ...

avatar image
0

Answer by Kosbot · May 04, 2019 at 11:49 PM

@KevRev, this is my updated code:

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class PlayerController : MonoBehaviour { public Animator anim; public float speed;

 CharacterController controller;

 void Start() {
     controller = GetComponent<CharacterController>();
     Debug.Log(controller);
 }
 void Update()
 {
 if(controller.isGrounded) {
     if(Input.GetAxis("Horizontal") > 0) 
     {
         anim.SetInteger("condition", 1);
         transform.Translate(speed - speed - speed, 0, 0);
     } 
     
     if(Input.GetAxis("Horizontal") < 0) 
     {
         anim.SetInteger("condition", 1);
         transform.Translate(speed, 0, 0);
     }
     
     if(Input.GetAxis("Vertical") > 0) 
     {
         anim.SetInteger("condition", 1);
         transform.Translate(0, 0, speed - speed - speed);
     } 
     
     if(Input.GetAxis("Vertical") < 0) 
     {
         anim.SetInteger("condition", 1);
         transform.Translate(0, 0, speed);
     }
 } else {
     
     anim.SetInteger("condition", 2);
 }
 }

 

}

This is the output in the console:

slime (UnityEngine.CharacterController) UnityEngine.Debug:Log(Object) PlayerController:Start() (at Assets/Scripts/PlayerController.cs:14)

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 Kim-Nobre · May 06, 2019 at 03:24 PM

I think there is a conflict happening because you are using CharacterController, Rigidbody, and BoxCollider together. I suggest you remove the Rigidbody and the BoxCollider components and implement gravity by script, or remove the CharacterController and use Raycast to check if you are grounded.

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 EpicAsMe · May 11, 2019 at 03:50 PM

I think it's because you use Transform.Translate() to move your player. Try to use controller.Move() instead, and let me know if it's work.

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

645 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 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 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 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 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

Movement Code not working 2 Answers

When I enable certain scripts on my player, the transform falls through the map. 0 Answers

How to move player or character Left right by 14 unit every at button click on mobile 0 Answers

How do I make a spotlight make a model play an animation? 2 Answers

How do you turn an empty game object into a NavMeshAgent target? 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