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 pma07pg · Dec 01, 2011 at 09:32 PM · pickupitemdrop

Pickup item and move with it

For a project, my coursemate and I are developing a game which involves four characters on a local multiplayer getting a treasure chest from the beginning of the level to the end. We are experiencing issues with the pickup up of the chest and do not see a way to give each player the ability to pick up and carry the chest without using tags(a camera script we use relies on tags).

Here is the code we have at the moment

 var SpawnTo : Transform; //your hand for example, attack an object to your character that you want the position of what you picked up to go to
 
 var Object1 : Transform; //what your picking up, the object that you want to move
 
 var dist = 5; //distance at which you can pick things up
 
 private var isHolding = false;
    
 function Update () {
 
     if(Input.GetKeyDown(KeyCode.Q)){ //if you press 'q'
 
         if(Vector3.Distance(transform.position, Object1.position) < dist) //if distance is less than dist variable
 
         {
 
             isHolding = !isHolding; //changes isHolding var from false to true 
 
             }
 
             }
 
 
 
     if(isHolding == true){
 
         Object1.rigidbody.useGravity = false; //sets gravity to not on so it doesn't just fall to the ground
     
 
         Object1.parent = SpawnTo; //parents the object
     
 
         Object1.transform.position = SpawnTo.transform.position; //sets position
     
 
         Object1.transform.rotation = SpawnTo.transform.rotation; //sets rotation
 
         }
 
         else{ //if isHolding isn't true
 
             SpawnTo.transform.DetachChildren(); //detach child (object) from hand
 
             Object1.rigidbody.useGravity = true; //add the gravity back on
 
         }
     }
     

When the script partially works but the character movement when they have the chest is very glitchy.

What part of the code is incorrect and how do we expand it to more than one player without using tags?

Any help would be much appreciated, thanks.

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 syclamoth · Dec 01, 2011 at 09:38 PM 0
Share

$$anonymous$$ake the rigidbody kinematic, too- stop it from moving weirdly.

avatar image pma07pg · Dec 01, 2011 at 10:49 PM 0
Share

Hey,

Thanks for the advice. Tried it and it doesn't make a difference unfortunately. The movement is still totally mental, kinematic or not :\

1 Reply

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

Answer by dannyskim · Dec 04, 2011 at 04:48 AM

I guess there's a possibility of your objects constantly colliding if you're setting the position through update. The colliders ( assuming there are any ) may be overlapping and causing the glitches and even breaks from code because of physics processing.

Are you using colliders? If you are, have you set them to ignore each other?

Comment
Add comment · Show 3 · 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 syclamoth · Dec 04, 2011 at 05:10 AM 0
Share

Yes, you should set up collision layers for every object involved, and make sure that the box doesn't interact with the players when it's being carried. I recently finished a largish multiplayer project with similar game mechanics, and I think at the end there I had something like 15 different layers for specific kinds of objects, all of which were carefully set up to interact properly. Bad interactions on the collision matrix were probably responsible for most of the more hilariously obvious bugs (like ragdolls flying into the sky).

avatar image pma07pg · Dec 04, 2011 at 02:20 PM 0
Share

Yes! That was it. Brilliant. Thanks for the help. I just turned collision off for now but will use layers soon. I fixed the multiplayer issue by adding extra variables. Pretty dirty program$$anonymous$$g but does the trick!

avatar image dannyskim pma07pg · Dec 04, 2011 at 07:37 PM 0
Share

Glad you got it fixed. Like syclamoth suggested, using the Physics collision matrix in the project settings menu from the Edit menu is extremely handy. That way, you don't have to code all your layer ignores.

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

7 People are following this question.

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

Related Questions

Item Drop Help 1 Answer

item pickup not working after an item is used. 0 Answers

Same prefab getting instantiated for the different items 0 Answers

MissingReferenceException Help Please! 0 Answers

How to pick / drop object 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