- Home /
AddExplosionForce at hit.point
Hello.
I am trying to add a explosive force at the hit position of the ray(hit.point)
var radius = 5.0;
var power = 10.0;
var hit : RaycastHit;
function Update ()
{
if(Physics.Raycast(transform.position, transform.forward, hit, Mathf.Infinity))
{
var colliders : Collider[] = Physics.OverlapSphere (hit.point, radius);
for (var hit : Collider in colliders) {
if (!hit)
continue;
if (hit.rigidbody)
hit.rigidbody.AddExplosionForce(power,hit.point, radius, 3.0);
}
}
}
But it is exactly not going very well. It is giving me the error "point is not a member of UnityEngine.Collider".
I do not know how to fix that. Can you your incredibly handsome person possibly help me?
Answer by Chris D · Jun 22, 2011 at 10:05 PM
I'm not entirely sure, but it looks like this line might be the problem:
for (var hit : Collider in colliders) {
You're essentially saying that 'hit' is now of type Collider. So when you call
hit.rigidbody.AddExplosionForce(power,hit.point, radius, 3.0);
you're now looking for 'point' in a Collider, which doesn't make sense. For documentation on how to use that kind of foreach equivalent, see this doc. Just replace hit with something else in the 'for' statement.
actually, I think there's something additionally wonky going on here... you're using hit as two completely different things. You need to rework that code. Your RaycastHit will give you only certain data. You should read up on how to properly use it.
ok I am just going to wait a $$anonymous$$ of 5 $$anonymous$$s before answering any question. We are always on the same question! we could take shifts, you take nights and weekends.
Thank you! you were right. I do not know how I missed that.
Answer by Anxo · Jun 22, 2011 at 10:10 PM
could it have something to do with the fact that you have 2 hit var? I am not sure but you are declaring hit at a RaycastHit at the top and then you are making it a collider in the for loop so it might not be looking at the RaycastHit hit.
Your answer
Follow this Question
Related Questions
Attaching 2 objects using joints and raycasting 0 Answers
Simple AddForce Scirpt help 1 Answer
Using Trigonometry for Collision Detection 0 Answers
Get object name from raycast. 1 Answer
Make Raycast ignore anything that "Isn't" my player(Solved) 1 Answer