Bootstrap

unity 多个线段的路

做一段路,鼠标在路的附近,可以得到路上的位置。

大致思路,一段路由两头和中间的多个拐点组成,从头连到尾,添加LineRenderer做显示功能,添加EdgeCollider2D做鼠标交互功能。

需要写两个脚本,命名
Way,Pos
Way添加在路的物体上
Pos随便加在哪个物体上

需要在路的物体上添加两个组件
LineRenderer,EdgeCollider2D
在这里插入图片描述
两头,随便找两个物体作为点(图中的白点),并且添加进Way
拐点,直接设为路的子物体
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Way的代码

    public Site SiteA;
    public Site SiteB;

    public List<Vector2> v_Points;
    
	//**连接各点,并且绘制图线和碰撞体
    [ContextMenu("Draw_Way")]
    void Draw_Way()
    {
   
        if (SiteA != null && SiteB != null)
        {
   
            //**  WayPoint
            v_Points = new List<Vector2>();
            v_Points.Add(SiteA.transform.position);
            if (transform.childCount > 0)
            {
   
                for (int i = 0; i < transform.childCount; i++)
                {
   
                    v_Points.Add(transform.GetChild(i).position);
                }
            }
            v_Points.Add(SiteB.transform.position);
            for (int i = 0; i < v_Points.Count; i++)
            {
   
                v_Points[i] = new Vector3(v_Points[i].x, v_Points[i].y,
;