- Home /
Raycast hit problem for fast moving object : Unity3d
hello guys,..
I ma making "Unblock me " type of game..
In that i am moving my cube using mouse position nd using raycast to find is there any object in right/left/up/down direction..!!? But when i move my cube Object very fastly , it goes through another cube block.
then how do i prevent my object to pass through each other..
i have added collider to my cube. No rigidbody attached.
Code is simple , something like this :
if( transform.tag == "2unitX" || transform.tag == "2unitXmain")
{
if(Physics.Raycast(transform.position, Vector3.right,hit,1,1))
{
moving = false;
}
}
Answer by HarshadK · Jul 18, 2014 at 12:41 PM
If you are moving your objects around then you should use rigidbody on those objects that you are moving, in this case your cube.
Otherwise physics engine suffers due to moving static collider objects and is not advised.
Add rigidbody to your cube and then check if it solves your problem since it looks like to be an issue with collision detection resolution which can be caused due to performance hit on physics engine where the object travels a large amount of distance i.e. inside other collider between two FixedUpdates.
Also if you want to move an object very fast then set Collision Detection mode for that object to be either Continuous or Continuous Dynamic as per need.
Ok. I tried by adding rigidbody then also same issue i am facing.. Cubes are passing through each other.
if(moving == true)
{
ray = Camera.main.ScreenPointToRay (Input.mousePosition);
selectedBlock = transform.tag;
// transform.position.x = ray.GetPoint(0).x + offset.x;
transform.position.y = ray.GetPoint(14).y + offset.y;
transform.position.z = 0;
}
This is moving position code.
Use of transform.position causes the issue with collision detection most of the times since it sets the position directly. Try to move the objects using $$anonymous$$ovePosition().
If you detect collision you have to must add rigidbody.
Your answer
Follow this Question
Related Questions
Fall collision force with help of raycast 0 Answers
Object Does not Destroyed While Shooting 1 Answer
Camera collision detection. 0 Answers
Raycasting to detect which side of collider is hit 2 Answers
Receiving information about getting hit by a Raycast 2 Answers