【发布时间】:2021-09-07 10:35:30
【问题描述】:
我正在尝试制作一个瞄准机器人,它可以通过投射的球体检测它是否击中半径更大的物体,如果瞄准机器人开启,那么它会在那里射击子弹,但它会一直输出命中的游戏对象的中间 spherecast() 它在更新中被调用 瞄准游戏对象它表示如果瞄准,子弹应该到达的位置 代码:
public void spherecast()
{
origin = gunTip.transform.position;
direction = guntip.transform.forward;
RaycastHit hit;
if (Physics.SphereCast(origin,sphereradus, direction,out hit,maxDistance,whatIsenemy))
{
Debug.Log("I hit enemy");
Debug.Log("position" + hit.transform.position);
aim.transform.position = hit.transform.position;
currentHitDistance = hit.distance;
}
else
{
currentHitDistance = maxDistance;
}
}
【问题讨论】:
标签: c# unity3d game-physics physics