Unity NavMesh & LineRenderer AI寻路及导航路径的绘制

简介: Unity NavMesh & LineRenderer AI寻路及导航路径的绘制

Nav Mesh是Unity中用于寻路行为的AI功能,下面简单介绍Nav Mesh的使用以及如何使用Line Renderer组件将寻路的路径通过如下方式绘制出来:

image.gif

首先需要将场景中属于寻路过程中的障碍物体做Navigation Static处理,在Inspector检视面板右上角的Static中:

image.gif

然后打开Navigation窗口进行烘焙,在Window/AI菜单中:

image.gif

点击Bake烘焙,在Scene场景窗口中进行预览,其中蓝色的区域即是寻路时可以行走的区域:

image.gif

image.gif

为示例中的机器人添加NavMesh Agent组件,该类中的SetDestination函数可以设置寻路的目标,传入一个坐标即可:

image.gif

usingUnityEngine;
usingUnityEngine.AI;
publicclassFoo : MonoBehaviour{
privateNavMeshAgentagent;
    [SerializeField] privateTransformtarget;
privatevoidStart()
    {
agent=GetComponent<NavMeshAgent>();
    }
privatevoidUpdate()
    {
agent.SetDestination(target.position);
    }
}

image.gif

image.gif

下面绘制寻路的路径,为机器人创建一个子物体并添加Line Renderer组件,路径不需要面向视图方向,因此Alignment模式设为TransformZ,同时将Texture Mode设为Tile:

image.gif

usingUnityEngine;
usingUnityEngine.AI;
publicclassFoo : MonoBehaviour{
privateNavMeshAgentagent;
privateLineRendererlineRenderer;
    [SerializeField] privateTransformtarget;
privatevoidStart()
    {
agent=GetComponent<NavMeshAgent>();
lineRenderer=GetComponentInChildren<LineRenderer>();
    }
privatevoidUpdate()
    {
agent.SetDestination(target.position);
varcorners=agent.path.corners;
lineRenderer.SetPositions(corners);
    }
}

image.gif

image.gif

创建一个Shader,为LineRenderer添加Material材质球:

Shader "Custom/Arrow"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        _MSpeed("MoveSpeed", Range(1, 3)) = 2 //移动速度
    }
    SubShader
    {
        //贴图带透明通道 ,半透明效果设置如下:
        tags{"Queue" = "Transparent" "RenderType" = "Transparent" "IgnoreProjector" = "True"}
        LOD 100
        Blend  SrcAlpha OneMinusSrcAlpha           //Blend选值为: SrcAlpha 和1-SrcAlpha  //也可测试为 DstColor SrcColor    //one one    
        Pass
        {
            Name "Simple"
            Cull off //双面
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            // make fog work
            #pragma multi_compile_fog
            #include "UnityCG.cginc"
            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };
            struct v2f
            {
                float2 uv : TEXCOORD0;
                UNITY_FOG_COORDS(1)
                float4 vertex : SV_POSITION;
            };
            sampler2D _MainTex;
            float4 _MainTex_ST;
            float _MSpeed;
            v2f vert (appdata v)
            {
                v2f o;
                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv = TRANSFORM_TEX(v.uv, _MainTex);
                UNITY_TRANSFER_FOG(o,o.vertex);
                return o;
            }
            half4 frag(v2f i) : SV_Target
            {
                float2 uv = float2(i.uv.x - _MSpeed * _Time.y,i.uv.y); //箭头移动的计算
                // sample the texture
                fixed4 col = tex2D(_MainTex, uv);
                // apply fog
                UNITY_APPLY_FOG(i.fogCoord, col);
                return col;
            }
            ENDCG
        }
    }
}

image.gif

用到的贴图资源:

image.gif

image.gif

最终效果:

image.gif

目录
相关文章
|
14天前
|
人工智能 供应链 搜索推荐
拔俗AI 智能就业咨询服务平台:求职者的导航,企业的招聘滤网
AI智能就业平台破解求职招聘困局:精准匹配求职者、企业与高校,打破信息壁垒。简历诊断、岗位推荐、技能提升一站式服务,让就业更高效。
|
14天前
|
机器学习/深度学习 人工智能 监控
拔俗AI智能营运分析助手软件系统:企业决策的"数据军师",让经营从"拍脑袋"变"精准导航"
AI智能营运分析助手打破数据孤岛,实时整合ERP、CRM等系统数据,自动生成报表、智能预警与可视化决策建议,助力企业从“经验驱动”迈向“数据驱动”,提升决策效率,降低运营成本,精准把握市场先机。(238字)
|
1月前
|
人工智能 自然语言处理 机器人
AI电话客服的服务质量提升路径:关键技术与典型应用场景解析
AI电话客服正从基础语音工具进化为能处理复杂业务的智能体。本文深入解析服务质量提升的关键技术路径与行业应用,涵盖语音识别、情感分析、多轮对话等核心技术,以及智能外呼、自动质检、客户数据分析等典型场景,助力零售、电商、制造、互联网等行业构建高效、有温度的智能客服体系,推动人机协同服务升级。
158 1
|
1月前
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
3月前
|
人工智能 自然语言处理 算法
基于 3D+AI 的商场导航软件核心技术解决方案
本文通过解析商场室内导航系统 3D+AI 三大核心技术模块,提供可直接复用的工程解决方案
109 0
基于 3D+AI 的商场导航软件核心技术解决方案
|
3月前
|
人工智能 物联网 机器人
面向多模态感知与反思的智能体架构Agentic AI的实践路径与挑战
Agentic AI(能动智能体)代表人工智能从被动响应向主动规划、自主决策的范式转变。本文系统解析其核心架构,涵盖感知、记忆、意图识别、决策与执行五大模块,并探讨多智能体协作机制与通信协议设计。结合代码示例,展示意图识别、任务规划与异步执行的实现方式,分析该架构的优势与挑战,如高自主性与通信复杂性等问题。最后展望未来方向,包括引入RAG、LoRA与多模态感知等技术,推动Agentic AI在自动编程、机器人协作等场景的广泛应用。
面向多模态感知与反思的智能体架构Agentic AI的实践路径与挑战
|
3月前
|
机器学习/深度学习 人工智能 机器人
Meta AI Research:虚拟/可穿戴/机器人三位一体的AI进化路径
本文阐述了我们对具身AI代理的研究——这些代理以视觉、虚拟或物理形式存在,使其能够与用户及环境互动。这些代理包括虚拟化身、可穿戴设备和机器人,旨在感知、学习并在其周围环境中采取行动。与非具身代理相比,这种特性使它们更接近人类的学习与环境交互方式。我们认为,世界模型的构建是具身AI代理推理与规划的核心,这使代理能够理解并预测环境、解析用户意图及社会背景,从而增强其自主完成复杂任务的能力。世界建模涵盖多模态感知的整合、通过推理进行行动规划与控制,以及记忆机制,以形成对物理世界的全面认知。除物理世界外,我们还提出需学习用户的心理世界模型,以优化人机协作。
202 3
|
2月前
|
机器学习/深度学习 人工智能 供应链
AI赋能采购管理工具全解析:智能寻源、预测分析与风险控制的实践路径
本文探讨了采购管理工具从传统系统向智能化演进的发展路径,分析了现代采购系统的技术架构与核心功能,并构建了包含28项指标的选型评估体系。随着AI、区块链、数字孪生等技术的应用,采购管理正迈向智能预测与自动响应的新阶段。
489 0
|
9月前
|
机器学习/深度学习 人工智能 算法
现身说法,AI小白的大模型学习路径
写这篇文章的初衷:作为一个AI小白,把我自己学习大模型的学习路径还原出来,包括理解的逻辑、看到的比较好的学习材料,通过一篇文章给串起来,对大模型建立起一个相对体系化的认知,才能够在扑面而来的大模型时代,看出点门道。
1027 79

热门文章

最新文章