本文主要是介绍untiy射线和自动路径,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们今天学习了,unity的射线和自动寻径,先说一下射线吧。
1.射线
先从unity的软件里建立个球体和正方体,然后拖到视图工程栏,给它们加入刚体,然后在scripts文件夹中建立脚本命名为Ray,然后在脚本后台中别写代码如下:
给一个形状体加入一条射线,拖拽形状体是射线不断加长
Ray ray=new Ray Cvector3.zero,transform.position);
RaycastHit hit;
physics.Raycast(ray,out hit,100)
Debug.DrawLine (ray.origin,hit.point);
在从一个Scripts文件夹中建个脚本,命名为BeanText,然后在里面进行代码编写,使鼠标控制键,点到哪走到哪,代码如下:
Ray ray=Camera.main.screenpoint ToRay(Input.mouse position);
RaycastHit hit;
If(physics.Raycast cary,out hit,100)){
Gameobject.Instantiate()
}
声明:此篇文档时来自于【狗刨学习网】社区-unity极致学院,是网友自行发布的Unity3D学习文章,如果有什么内容侵犯了你的相关权益,请与官方沟通,我们会即时处理。
2.自动路径
现在大部分mmo游戏都有自动寻路功能,点击场景上一个位置,角色就会自动寻路过去,中间可能有很多很多种实现方式。
我们要实现一个功能:点击场景的一个位置,角色可以自动寻径过去,角色会绕过各种复杂障碍,找到一条理论上“最短路径”
给巨魔添加自动寻径
1.创建地形;
2.添加角色;
3.创建多个障碍物,尽量摆的复杂一点,来检查Navmesh的可用性和效率;
4..选中地形,在Navigation窗口中,设置Navigation窗口中,设置Navigation Static;
5.一次选中障碍物,在avigation窗口中,设置Navigation Static;
6.Navigation窗口中,选择Bake按钮,进程场景烘培,就可以烘培出寻路网格了;
7.为角色添加NavMeshAgent组件。Component->Navigation->Nav Mesh Agent;
8.为角色新增一个脚本PlayerController.cs,实现点击目标,自动寻路功能;
这篇关于untiy射线和自动路径的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!