Raycast击中了错误的对象

时间:2017-09-04 19:58:19

标签: javascript unity3d quaternions raycasting

我的FireRaycast()函数中的Raycast / BulletHole存在问题。

如果我开枪,它不会在击中的Raycast位置(子弹撞击的位置)上产生我的Hitsparks和BulletHoles。如果它们产卵,它们会在我武器前面的空间中产卵。 (见图)在这种情况下,控制台调试日志告诉我,我点击了FPSController ......?!?

有人有解决方案吗?

我希望它总能击中墙壁或底部等等。

function FireRaycast() {

var hit : RaycastHit;



if (Physics.Raycast(shootPoint.position, shootPoint.transform.forward, hit, range)) {

   Debug.Log(hit.transform.name + " FOUND!");

   var hitParticleEffect = Instantiate(hitParticles, hit.point, Quaternion.FromToRotation(Vector3.up, hit.normal));


   var bulletHole : GameObject= Instantiate(bulletImpact, hit.point, Quaternion.FromToRotation(Vector3.forward, hit.normal));

  Destroy(hitParticleEffect, 1f);
  Destroy(bulletHole, 2f);

}
}

继承人的截图: enter image description here

谢谢你们!

0 个答案:

没有答案