我想使用使用2d物理的线渲染器创建反射轨迹。 感染有时无法正常运行,有时无法正常运行。 对于3d,只要将vector2替换为vecor3并使用3d物理函数,一切都可以正常工作。
也许它与对撞机有关,否则我会在彩色块上添加盒式对撞机2d。
我写了他的代码
void GenerateRay(Vector2 position , Vector2 direction , int count){
if(count==0) return;
Vector2 oldPosition = position;
RaycastHit2D hit = Physics2D.Raycast(position , direction , maxRayLenght);
if(hit.collider!=null){
direction = Vector2.Reflect(direction , hit.normal);
print(direction);
position = hit.point;
print(position);
}
else
{
position += direction*maxRayLenght;
}
lineRenderInstance[maxHop-count].SetPosition(0 , oldPosition);
lineRenderInstance[maxHop-count].SetPosition(1 , position);
GenerateRay(position , direction , count-1 );
}
如果我改变y距离,反射有时会起作用,有时甚至不会。[!
非工作案例