- Home /
raycast rigidbody addforce
Hello everyone, i wrote a shooting code from raycast, everything works fine. But i want to addforce to the object i shoot, so i wrote it's code but it's not working, any ideas ?
var direction = transform.forward;
var hit : RaycastHit;
if (Physics.Raycast(transform.position,direction,hit)){
if (hit.rigidbody)
hit.rigidbody.AddForceAtPosition(force * direction, hit.point);
if (hitParticles) {
hitParticles.transform.position = hit.point;
hitParticles.transform.rotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
hitParticles.Emit();
}
}
thanks :)
Answer by FLASHDENMARK · Oct 15, 2011 at 03:57 PM
You have no "force" variable which makes it multiply by nothing. This should work:
var direction = transform.forward;
var hit : RaycastHit;
var force = 2000;
if (Physics.Raycast(transform.position,direction,hit)){
if (hit.rigidbody)
hit.rigidbody.AddForceAtPosition(force * direction, hit.point);
if (hitParticles) {
hitParticles.transform.position = hit.point;
hitParticles.transform.rotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
hitParticles.Emit();
}
}
Answer by GerardQ · Oct 15, 2011 at 02:22 PM
I'm also using Raycast and looking at your code the rigid body part should work (removing the particle part). Can you verify?
However, I would also like to know the answer to your questions as I'm curious and not sure whether particle colliders are supported by RaycastHit. I know the documentation says 'all colliders', but I'm not sure particle colliders are treated the same way and I never tested it.
Could you break down your code into smaller pieces for testing? ie. test rigid body hits without the particle code, then test particle collisions without the rigid body code (and keep it simple - remove the quaternions and make sure the hit.point works before trying more complex operations.)
You could go right ahead and test that yourself, dexon! Good luck!
Your answer
Follow this Question
Related Questions
2.5D Shooting Rigidbodies vs RayCasts 0 Answers
RigidBodies vs CapsuleCasts 0 Answers
0 Understanding of raycast2D commands 2 Answers
Drag Rigid Bodies First Person Controller.js 0 Answers
Picking up rigidbody objects 2 Answers