unity 多个线段的路

本文介绍如何在Unity中创建一段由多个线段组成的道路,通过LineRenderer显示并利用EdgeCollider2D实现鼠标交互。道路由两端点及多个拐点构成,通过两个脚本‘Way’和‘Pos’进行控制,脚本分别用于设置路线和获取鼠标位置在道路上的点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

大致思路,一段路由两头和中间的多个拐点组成,从头连到尾,添加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,
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值