地牢探险学习笔记

建立地形
1.Terrain建立
2.贴图+法线选择
3.笔刷刷地形
4.摆放一些物件

particle system - startsize 改材质大小
texture sheet animation 改图动画,生命周期,播放模式

5.光源以及light运用,烘培

6.自动寻路导航烘培 AI-Navigation。
一.先将所有可以走的GameObject,比如地形或者路坡,Inspector面板里,选择static navi勾选上。
二.对于不可以行走的GameObject,选中,点击Navigation面板的Object ,设置Not Walkable
三.对于可行走的但是被判定为不能走的,比如草丛,将static里navi取消勾选
四.最后,给人物添加nav mesh agent,用来判定是否可以通过导航生成的网格。

7.动画状态机
一.先做一个Animator Controller(状态机),然后放参数到parameters里面,对不同的动画状态进行切换条件设置。
二.完成状态机后,拖入animator组件的avatar里,链接上。
三.进行调用:脚本里声明一个Animator对象,拖拽拿到之后,Update里写:
ani.SetFloat("speed", agent.velocity.magnitude);
类似的代码。
四.有个坑要注意,如果是立即切换的动画(比如从走到跑),在状态机里把“Has Exit Time”去掉,或者自己调整动画切换间隔。

8.射线导航
一.要求烘培好地形navi,且使用AI包,并声明拿到 NavMeshAgent。
二.Update里放类似的代码:
if (Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            if (Physics.Raycast(ray, out hit))
            {
                print(hit.point);
                agent.SetDestination(hit.point);
            }
        }
三.原理是做一条射线进行判断,是否在烘培过的可移动地形上点击的,如果是就把射线放射到地形可移动位置的Vector赋给NavMeshAgent(导航)的终点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值