自动寻径
来源:互联网 发布:铝合金型材批发 知乎 编辑:程序博客网 时间:2024/06/02 11:40
欢迎来到 unity 学习 、 unity 培训 、 unity 企业培训 教育专区,这里有很多 U3D 资源 、 U3D 培训视频 U3D 教程 、 U3D 常见问题 、 U3D 项目源码 ,我们致力于打造业内 unity3d 培训、学习第一品牌。
玩过游戏的人都知道点击鼠标人物就可以移动,鼠标点到哪里人物就会到哪里。这就是我们所要说的自动寻径。
现在我们就要建一个场景叫人物实现自动寻径,要做下面的步骤:
首先要创建地形,然后添加角色,之后创建游戏场景,创建多个障碍物
之后选中地形在Navigation窗口中,设置Navigation static再之后选中障碍物,
进行同样的操作,然后在Navigation窗口中,选择Bake(烘焙)界面,点击Bake 按钮,最后为角色添加NavMeshAgent组件。
Component->Navigation->Nav Mesh Agent 最后添加一个脚本最终实现物体的自动寻径
private NavMeshAgent agent;
private Animator anim;
void Start() {
agent = GetComponent<NavMeshAgent>();
anim = GetComponent<Animator>();
}
void Update() {
RaycastHit hit;
if (Input.GetMouseButtonDown(0)) {
Ray ray =
Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit)){
agent.SetDestination(hit.point);
}
if(agent.remainingDistance==0){
AnmationTo();
}else
{
AnimalWalk();
}
}
}
public void AnmationTo(){
anim.SetFloat("idle", 0.0F);
anim.SetFloat("walk", 0.0F);
anim.SetFloat("run", 0.0F);
}
public void AnimalWalk(){
anim.SetFloat("idle", 0.0F);
anim.SetFloat("walk", 1.0F);
anim.SetFloat("run", 0F);
}
然后在写一个物体跟着另一个物体,在另一个物体上写上如下代码:
public Transform target;
private NavMeshAgent agent;
// Use this for initialization
void Start () {
agent = GetComponent<NavMeshAgent>();
}
// Update is called once per frame
void Update () {
if (target!= null)
{
agent.destination=target.position-new Vector3 (0,0,3);
}
}
这样就可以完成一个物体随着另一个物体移动的目的,再把人物拽入所写的对象。
人物从从高空跳下
1、设置Navigation里面Bake的Drop Height的值
2、勾选Navigation里面Object的OffMeshLink Generatic
3、Bake
人物选择性的行走
1、把Navigation里面Bake的Drop Height的值设为0
2、取消勾选Navigation里面Object的OffMeshLink Generatic
3、Bake
4、在Navigation里面Layers创建两个Layers(LayersUp
LayersDown)-->Bake
5、选中人物,设置人物属性(NavMesh Walkable :Default LayersUp或LayersDown)
- 自动寻径
- Unity--自动寻径
- 自动寻径
- Unity3D 自动寻径
- 自动寻径
- 自动寻径
- 自动寻径
- 自动寻径
- Unity之自动寻径
- Unity之自动寻径
- unity之自动寻径
- unity之自动寻径
- unity学习之自动寻径
- Unity3D学习之(自动寻径)
- Unity学习之自动寻径
- Unity学习之自动寻径进阶
- 学习Unity3D之自动寻径。
- unity代码笔记<3>自动寻径
- Android系统源码导入到eclipse
- Java高效排序大文件
- linux下无法识别u盘
- Linux下的/etc解释
- kickstart配置文件详解
- 自动寻径
- 【Android知识点精讲】(13)Toast和Notification
- 字符串Hash的原理与应用
- 代理模式@protocol
- hdu 3870 Catch the Theves 平面图转对偶图
- centos6.2桌面菜单的编辑和配置
- 《调试九法-软硬件错误的排查之道》
- 多路归并
- 内存山介绍和图解析