• 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 Leonard Kropf · Apr 23, 2010 at 07:14 PM · physics

Parachute with fps walker

ok guys

i have the first person controller prefab

and there is the fps walker script attached to it

now my character is in the air with low gravity so its gliding down to the ground with a parachute

my problem is that the character is not moving in the air because of the grounded clause i want that its moving around in the air but only horizontal axes because a parachute isn't moving up so its gliding slowly down no if the parachute hits the ground (Grounded) the normal fps walker should be working

here is the script im happy if you can help me

var speed = 6.0; var jumpSpeed = 8.0; var gravity = 20.0;

private var moveDirection = Vector3.zero; private var grounded : boolean = false;

function FixedUpdate() { if (grounded) { // We are grounded, so recalculate movedirection directly from axes moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical")); if (moveDirection==Vector3.zero) { SendMessage("PlayAnimation", "idle"); } else { SendMessage("PlayAnimation", "walk"); }

     moveDirection = transform.TransformDirection(moveDirection);
     moveDirection *= speed;

     if (Input.GetButton ("Jump")) {
         SendMessage("PlayAnimation", "jump");
         moveDirection.y = jumpSpeed;
     }

 }

 // Apply gravity
 moveDirection.y -= gravity * Time.deltaTime;

 // Move the controller
 var controller : CharacterController = GetComponent(CharacterController);
 var flags = controller.Move(moveDirection * Time.deltaTime);
 grounded = (flags & CollisionFlags.CollidedBelow) != 0;

}

@script RequireComponent(CharacterController)

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

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by spinaljack · Apr 24, 2010 at 08:44 AM

Add an 'else' after the grounded statement for movement in the air, divide the input.getaxis by 2 or how ever slow you want to go. Copy the rest of the movement code except the walking animation as I don't think you want that.

if (grounded) { // ground code

} else { // do air movement moveDirection = new Vector3(Input.GetAxis("Horizontal")/2, 0, Input.GetAxis("Vertical")/2); moveDirection = transform.TransformDirection(moveDirection); moveDirection *= speed; }

I'm pretty sure the lerps 3D tutorial has controlled decent code already in it.

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 Leonard Kropf · Apr 24, 2010 at 02:40 PM 0
Share

the problem is if i press jump down im lying trough the air

how can i fix that

avatar image spinaljack · Apr 24, 2010 at 02:56 PM 0
Share

I don't think I fully understand the problem... do you want to fall faster?

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

No one has followed this question yet.

Related Questions

2D 360 degress platformer example needed 0 Answers

How to make Character Joint rotate towards a rest position? 0 Answers

How to make foot don't cross the ball? 0 Answers

Collision between player and a ball 1 Answer

Connecting SpringJoint2D to Rotating Rigidbody2D With Correct Anchor 0 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