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
1
Question by Duende · Oct 14, 2014 at 12:21 AM · 2dmovementtransformposition

Move with Rigidbody2D in the Z axis

Hi guys.

Can you think of any way to move a sprite in the Z axis with rigidbody2D.AddForce? I can only move in the X axis and Y axis.

I know there is no Z direction in 2D physics, but I need work with X and Z.

Any idea?

Thanks.

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
0

Answer by JanusMirith · Oct 14, 2014 at 03:29 AM

Hmmm, That is a odd one, what you could do is have the simulation and graphics separate and sync the graphics up via script:

 /// <summary>
 /// The logic and physics
 /// </summary>
 public Rigidbody2D thePhysics;

 /// <summary>
 /// All the eye-candy
 /// </summary>
 public Transform theGraphics;

 /// <summary>
 /// Sync the two states, call this from update or coroutine 
 /// </summary>
 public void syncSimulation()
 {
     //Sync them!
     theGraphics.position = new Vector3(thePhysics.transform.position.x, 0f, thePhysics.transform.position.y);

     //I would maybe have a little offset for the system so I could see them side by side.
 }
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
0

Answer by Pyrian · Oct 14, 2014 at 02:22 AM

You cannot do that directly, but nothing prevents you from doing it indirectly.

If you're ignoring Y altogether, then you can just set Z to the value of Y in each update. This could cause problems with your camera, however.

Alternatively, you can do all the physics with invisible objects and map them to your sprite objects in FixedUpdate (or Update, if you're using interpolation). So, each Sprite object script has a reference to a corresponding physics object, and you just set the transform of the sprite to the X/0/Y of the invisible physics object.

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
0

Answer by Duende · Oct 14, 2014 at 01:55 PM

Thanks for the help.

In the end, I have done is create a cylinder, use Rigidbody.AddForce Forward and Back in the cylinder movement script and convert the sprite in to the child of the cylinder.

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

Shoot second cell in 2d 0 Answers

Stop Moving When Not Touching Screen? 1 Answer

make player move in direction it's facing 2 Answers

How to make object follow touch position?Pls Help 0 Answers

How can I call this player transform.position code once, then stop? 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