• 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 Dan_Tsukasa · Feb 11, 2013 at 03:40 PM · playergravityphysicpullrigid

Parenting a rigid body with gravity

Hi Guys

I've got the following script attached to my crate object, and I've managed to get pulling to work, however I want the gravity to continue working too, without the object falling through the floor.

I know I can set the object to not use gravity but this will only work if the ground is flat, so the object 'floating' wouldn't be visible, however on non flat ground it will be obvious so this is why I require the physics to remain on.

I've tried many things but I'm still unsure on the best method, I've seen a few similar questions so my method is a combination of those, all suggesting 'parenting' the crate to the player.

My script is below:

      var box : Transform;      //a box we'll use an a example
      var player : Transform;   //our player 
      var body : Rigidbody = hit.collider.attachedRigidbody;
      function OnCollisionEnter(coll: Collision) {
      if(Input.GetButton("Fire1"))
      body.isKinematic) { return; }
      { 
      box.parent = player;
      }
      //box.parent = null;
      }
      }

Another small question, I'm unsure if its a big enough question to warrant a separate thread is, 'How can I check if my player should push or pull an object', I have some objects the player only push and others that are pushable & pullable, I'm unsure how I would set it so that I can pull only if I'm facing the box and press in the opposite direction, as now the player just switches direction. (if that should be another thread please let me know and I shall edit this).

Thankyou 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

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.

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

9 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Change the "down" axis for 2D 2 Answers

Why does my player want to fly? 1 Answer

Gravity - How to walk on ceiling 1 Answer

mecanim and rigidbody gravity effect doesnt work 1 Answer

Flappy Bird like Player Controls 4 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