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 Mushakushi · Aug 30, 2019 at 12:17 AM · unity 5physicscharactercontrollergravity3d model

Gravity still being applied with unity CharacterController

I am making fairly simple character controller using Unity's built-in CharacterController. It uses a base class, PhysicsObject, for physics handling and a child class, PlayerController, to handle user input and animation. My approach is very similar, in function, to this 2D platformer controller tutorial. Here is my code:
Physics Object

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class PhysicsObject : MonoBehaviour
 {
     [SerializeField] protected PlayerController playerController; 
     [SerializeField] protected CharacterController controller;
 
     [Header("Movement")]
     [SerializeField] protected float moveSpeed;
     [SerializeField] protected Vector3 direction;
 
     [Header("Jumping")]
     [SerializeField] protected float jumpForce;
     [SerializeField] protected float fallMultiplier;
     [SerializeField] protected float lowJumpMultiplier;
 
     [SerializeField] protected bool isGrounded;
     [SerializeField] protected float maxDistance;
 
     [Header("Animation")]
     [SerializeField] protected Animator animator;
 
     private void Awake()
     {
         controller = playerController.GetPlayerController();
         animator = playerController.GetPlayerAnimator();
 
         isGrounded = false; 
     }
     
     void FixedUpdate()
     {
 
         //Check ground
         if (direction.x > controller.minMoveDistance || direction.z > controller.minMoveDistance)
         {
             isGrounded = Physics.Raycast(transform.position, Vector3.down, maxDistance);
         }
 
         //Obtain user input
         MoveDirection();
 
         //Apply user input
         controller.Move(direction * Time.deltaTime);
     }
 
     protected virtual void Animate()
     {
 
     }
 
     protected virtual void MoveDirection()
     {
 
     }
 
 }

Player Controller

 using System.Collections;
 using System.Collections.Generic;
 using UnityEngine;
 
 public class PlayerController : PhysicsObject
 {
 
     public CharacterController GetPlayerController()
     {
         return gameObject.GetComponent<CharacterController>(); 
     }
 
     public Animator GetPlayerAnimator()
     {
         return gameObject.GetComponent<Animator>(); 
     }
     
     protected override void MoveDirection()
     {
         //Jumping
         if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
         {
             direction.y = jumpForce; 
         }
         else
         {
             direction.y = 0f; 
         }
 
         //Movement
         direction = new Vector3(Input.GetAxis("Horizontal") * moveSpeed, direction.y, Input.GetAxis("Vertical") * moveSpeed);
     }
 
     protected override void Animate()
     {
 
     }
 }

I am using the Unity-chan model as my player character. As you can see in the PhysicsObject, I am using CharacterController.Move(); to move the character -- however gravity is being applied! I tried attaching the two scripts to another 3d object, a box, and no gravity was applied. However, for some odd reason, when I use Unity-chan as the player character gravity is applied to her. Please, help!

PS: this is my first question: sorry if it's sloppy.

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.

Follow this Question

Answers Answers and Comments

280 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

Related Questions

Move ball object based on gravity 0 Answers

Can't get gravity to work on Character Controller 2 Answers

character gravity problem 1 Answer

How do I make my character controller jump when I use this code? 0 Answers

How do I get the platform to effect these coins? 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