unity导航网格的制作、人物运动代码、摄像机的跟随代码以及人物动画效果的制作

泰课在线——《古迹探险》笔记
摘要由CSDN通过智能技术生成

导航系统—导航网络的生成

1)导航网格的烘焙:Windows—Navigation

在烘焙之前要确保环境的Static是勾选上的(至少要保证Navigation Static是勾选上的)

2)Navigation中的Bake进行烘焙,可以通过修改Agent Radius 进行调整边缘(选中右下角的Bake可以查看可行走区域)

3)如果需要任务可以穿过草丛,将草丛的Navigation Static都取消选中

4)如果不想在某个组件上生成导航网格,则需要Navigation中的Navigation Area 选择成Not Walkable模式,然后重新点击Bake进行渲染即可。

5)控制人物在导航图上进行行走:给人物添加一个Nav Mesh Agent属性组件(要保证生成的圆柱体和人物身躯大小保持一致,在radius中进行调整)

6)控制人物移动:通过鼠标单击目的地,人物自动走到目的地处。使用代码进行开发

代码中要实现的效果是获取目标位置,使用射线检测来完成。在鼠标点击的位置发射一条射线,判断和哪里发生碰撞,以获取点。

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.AI;//正确输入命名空间

 

public class Hero : MonoBehaviour {

 

    public NavMeshAgent agent;//只有这样才能正确命名这个

   

 

    void Update () {

        if (Input.GetMouseButtonDown(0))//只有当鼠标点击时,需要进行检测,0表示鼠标左键

        {

            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);//获取射线。ScreenPointToRay将屏幕坐标转换成射线,通过鼠标点击进行屏幕坐标获取

            RaycastHit hit;

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值