- Home /
Push and move rigid object
Hello. I'm newbie. Just for 1 month.
I want to push a "Crate" on the terrain and i want move to it somewhere. "Crate" object has Box collider and, Rigidbody. Also my FPS controller has capsule collider. So, i tried many adjust alternative and i wasn't able to resolve a problem.
Problem is; When my FPS Controller hits the "Crate" nothing do. But after this when i get back, the "crate" moving on my first touch direction well. But this movement must occur when i hit it. Not leave it's surface. So i noticed that, if i hit "crate" and hit again before it stop completely, i'm able to push it what i want.
What is my mistake? Any idea? Sorry for my bad English.
Many Thanks Babur
Answer by robertbu · Aug 10, 2013 at 04:06 PM
With a CharacterController you must use OnControllerColliderHit(). The sample script on that page implements pushing of rigidbodies by a character controller.
thanks meat and robertbu. Now it works very good. In fact i had this script but i add to crate, not player. Also i thought that the rigidbody physic is enough to move. Anyway
$$anonymous$$any thanks
Answer by meat5000 · Aug 10, 2013 at 03:32 PM
Use function OnCollisionEnter() to make the crate a child object of your player upon collision and unparent it when you press the 'release' button. This will make the crate follow the transform of your player in all directions until unparented. Otherwise you could try using Rigidbody.AddForce() in the collision function.
Your answer
Follow this Question
Related Questions
Floating/freezing rigidbodies 1 Answer
How Can I hidden or rename or encrypt the data_Folder of Built Game ? 0 Answers
How does rigidbody works? 1 Answer
Errors in unity with a movement script 1 Answer
Filtering NavMesh Agent Forces 0 Answers