【发布时间】:2022-07-19 08:36:22
【问题描述】:
我有激光。它永远持续下去。但是,当激光碰到任何东西(如墙壁、玩家、盒子、触发对撞机等)时,它就会停在那里。所以它基本上不会通过对撞机。
但我不想那样。我希望激光仅在 RaycastHit2D 撞到墙上时停止。 有没有办法做到这一点?在此先感谢:D
代码如下:
private LineRenderer lineRenderer;
public Transform LaserHit;
public Transform LaserSpawn;
void Start()
{
lineRenderer = GetComponent<LineRenderer>();
lineRenderer.useWorldSpace = true;
}
void Update()
{
RaycastHit2D hit = Physics2D.Raycast(transform.position, transform.up);
LaserHit.position = hit.point;
lineRenderer.SetPosition(0, transform.position);
lineRenderer.SetPosition(1, LaserHit.position);
}
【问题讨论】:
标签: c# unity3d collision-detection raycasting