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 Dedede · Mar 10, 2011 at 08:31 PM · motionupconstant

constant moving up?

Hi,

I'm trying to get an object to move up, always with the same speed. I first used a simple

var speed = X;

transform.position.y += speed*Time.deltaTime; transform.position.z = -0.5; // So that the object doesnt move in depth since it is a 2d game.

The Problem with this is, that if the object hits an obstacle sometimes, not always, the speed reduces itself. If I hit an object again, the speed is constant again.

I froze rotation with the rigidbody, so a rotation towards the camera is not possible.

What could be the problem?

Comment
Add comment · Show 2
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 Dedede · Mar 10, 2011 at 08:35 PM 0
Share

is maybe Time.deltaTime the problem?

avatar image Dedede · Mar 10, 2011 at 08:53 PM 0
Share

no, if I remove the Time.deltaTime part, the problem still exists

2 Replies

· Add your reply
  • Sort: 
avatar image
0
Best Answer

Answer by Dedede · May 03, 2011 at 03:21 PM

Just for the people, who maybe got a similiar problem:

The problem was the velocity of the rigidbody.

function Update(){
   rigidbody.velocity = Vector3(0,0,0);
}

This solved the issue for me.

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 Jaap Kreijkamp · Mar 10, 2011 at 10:49 PM

The issue is that the rigidbody also changes position of the object, in opposite direction your movement. When you use a rigidbody, you better do the movement on the rigidbody, not on the transform, for better physics behaviour.

quick solution:

var position : Vector3; var speed : float = X;

function Start() { position = rigidbody.position; }

function FixedUpdate() { position.y += speed * Time.fixedDeltaTime; rigidbody.MovePosition(position); }

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

No one has followed this question yet.

Related Questions

I want my snake to move continuosly if i press...up it should move up until i press another button....like the original snake game 2 Answers

Collision of a constantly moving object 0 Answers

What is this error: "TLS Allocator ALLOC_TEMP_THREAD, underlying allocator ALLOC_TEMP_THREAD has unfreed allocations" and how to fix it? 0 Answers

Underwater effect question 2 Answers

THE FINAL BARRIER OF MECANIM 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