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 Dan290496 · Apr 22, 2012 at 12:02 PM · movementfpscontrollersprint

How would I make my first person controller sprint, when I hold left shift?

I am new to codeing. So I was wondering if somebody could be as kind as to share their script with me.Or give me the link to a script. Preferabley Java script. Thanks in advance?

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

3 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by angstrom · Mar 02, 2013 at 10:23 PM

Take a course on scripting maybe?

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
1

Answer by ElectricFountain · Jul 05, 2013 at 10:58 PM

well, here is my answer to movement with the ability to sprint. First you need to set up the shift button: Go to >Edit >Project Settings >Input. Once you are there, make the size under the axis text 16 or one more than it was. The default will be Jump, rename it to RightShift. Beside the "positive button" text, type " right shift". Then make a C# script called move. Then copy this script in that script. Hope this helps...

 using UnityEngine;
 using System.Collections;
 
 
 public class move : MonoBehaviour {
     
     //Author :Electric Fountain Studios
     
     //Getting Player
     public GameObject player;
     
     //Declaring Variables
     public float movementspeed = 7.5f;
     public float mouseSensitivity = 5.0f;
     float verticleRotation = 0;
     public float mouseRange = 60.0f;
     public float jumpSpeed = 7.5f;
     public float verticleVelocity = 0;
     float maintainSpeedAtZero = 0.0f;
     float sprint;
         
     //Calling Character Controller    
     CharacterController characterController;
     
     
     void Start () {
         
         //Locking Cursor
         Screen.lockCursor = true;
          characterController = GetComponent<CharacterController>();
     }
     
     
     void Update () {
     
         //Rotation
         
         float rotleftright = Input.GetAxis ("Mouse X")* mouseSensitivity;
         transform.Rotate(0, rotleftright, 0);
         
         verticleRotation -= Input.GetAxis("Mouse Y")* mouseSensitivity;
         verticleRotation = Mathf.Clamp(verticleRotation, -mouseRange, mouseRange);
         Camera.main.transform.localRotation = Quaternion.Euler(verticleRotation, 0, 0);
         
         
         
         //Sprinting
         if(Input.GetButton("RightShift") ) {
             sprint = Mathf.Sqrt(10.0f);
             
         
         }else{
             sprint = sprint - sprint;
         }
             
         
         //Movement    
         float forwardSpeed = Input.GetAxis("Vertical")*movementspeed + sprint;
         
         float sideSpeed = Input.GetAxis("Horizontal")*movementspeed;
         
         
         verticleVelocity += Physics.gravity.y * Time.deltaTime;
         
         if(characterController.isGrounded && Input.GetButtonDown("Jump") ) {
             verticleVelocity = jumpSpeed;
             
         
         }
         
         Vector3 speed = new Vector3 ( sideSpeed, verticleVelocity , forwardSpeed );
         
         speed = transform.rotation * speed;
             
         
         
         characterController.Move( speed * Time.deltaTime );
     }
     
     
 }
 
Comment
Add comment · Show 2 · 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 nuckerdude · Dec 31, 2013 at 11:42 PM 0
Share

I did exactly what it said and when i do it tells me "Can't add script behaviour $$anonymous$$ove. The scripts file name does not match the name of the class defined in the script!"

avatar image Josh707 · Jan 01, 2014 at 01:02 AM 0
Share
 public class move : $$anonymous$$onoBehaviour {

Where 'move' is the class name in the script - If the actual script file itself has a different name (case sensitive I believe) it will throw this error

avatar image
0

Answer by asafsitner · Apr 22, 2012 at 12:17 PM

Keep a temporary variable to act as your final speed, and a constant that is your normal speed, along with another variable to act as a multiplier. A simple example:

 var NaturalSpeed = 10;
 var tempSpeed : float;
 var SpeedMultiplier = 1.2; // for 20% speed increase while sprinting
 
 var moveDirection : Vector3; //this determines which direction we should be moving towards
 
 function Update()
 {
     moveDirection = Vector3.zero; //this rests our move direction to nothing so we wouldn't move unless movement keys were pressed
     tempSpeed = NaturalSpeed; //this rests our speed back to natural speed
 
     //this is just a simple movement check for demonstrating sprint; use your own methods of course
     moveDirection.x += Input.GetAxis("Horizontal");
     moveDirection.z += Input.GetAxis("Vertical");
 
     if(Input.GetKey(KeyCode.LeftShift)) //this checks to see if the player is holding left shift
     {
         tempSpeed *= SpeedMultiplier; //this increases our speed by the multiplier
     }
 
     transform.Translate(moveDirection.normalized * tempSpeed * Time.deltaTime); //this moves our player to the correct direction at the determined speed (sprinted or not), smoothed over time
 }
Comment
Add comment · Show 7 · 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 Dan290496 · Apr 22, 2012 at 12:20 PM 0
Share

Thank you for sharing this.

avatar image asafsitner · Apr 22, 2012 at 01:13 PM 0
Share

No need to post a new answer, a comment is enough. :) You might also want to mark the question as answered to take it off the 'questions' list (this can be done by accepting the answer (clicking the V mark under the vote marks))

avatar image Claymore · Jan 04, 2013 at 11:38 AM 0
Share

Hey asafsitner your scripts ignores any collision what stands in fps controller way,i mean when i add your script i can walk through any objects....PLEASE FIX THIS.

avatar image Claymore · Jan 04, 2013 at 11:44 AM 0
Share

Please help,im going to pdate this comment every $$anonymous$$ute,cause i NEED HELP.

avatar image Claymore · Jan 04, 2013 at 12:41 PM 0
Share

HELP!!!!!!!!!!!!!!!!!

Show more comments

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

12 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

Related Questions

The name 'Joystick' does not denote a valid type ('not found') 2 Answers

FPS controller, only for use on object 0 Answers

Help with fps script 2 Answers

Player moving without input 2 Answers

My character won't move in C#. 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