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 bromley · Oct 23, 2014 at 11:46 AM · movementrunslide

FPS movements.

Hi, i need some help! I searched in this site a script to add some movements (crouch and run) on FPS controller: here is the script

  var walkSpeed: float = 7; // regular speed
  var crchSpeed: float = 3; // crouching speed
  var runSpeed: float = 20; // run speed
  
  private var chMotor: CharacterMotor;
  private var ch: CharacterController;
  private var tr: Transform;
  private var height: float; // initial height
  
  function Start(){
      chMotor = GetComponent(CharacterMotor);
      tr = transform;
      ch = GetComponent(CharacterController);
      height = ch.height;
  }
  
  function Update(){
  
  var h = height;
  var speed = walkSpeed;
  
  if (ch.isGrounded && Input.GetKey("left shift") || Input.GetKey("right shift")){
      speed = runSpeed;
      
  }
  if (Input.GetKey("left ctrl")){ // press Ctrl to crouch
      h = 0.5 * height;
      speed = crchSpeed; // slow down when crouching
  }
  chMotor.movement.maxForwardSpeed = speed; // set max speed
  var lastHeight = ch.height; // crouch/stand up smoothly 
  ch.height = Mathf.Lerp(ch.height, h, 5*Time.deltaTime);
  tr.position.y += (ch.height-lastHeight)/2; // fix vertical position
  }

If I press LeftShift to run and then I release it, the character slides on the floor too, but I want avoid this.

How can I adjust this script?

P.S: Sorry for my bad english and my ignorance.

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

2 People are following this question.

avatar image avatar image

Related Questions

GUI Slider and Movement? 2 Answers

Buggy Collision 1 Answer

camera slides and bounces while moving C# 1 Answer

Help with FPS slide mechanic 0 Answers

How to make a cube slide and can't change direction? 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