| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity3D RPG实现 (中) -> 正文阅读 |
|
[游戏开发]Unity3D RPG实现 (中) |
设置敌人的基本属性和状态下载rpg monster包并导入,之后要更新一下材质。并写入代码。
添加tag和layer。 ?需要为敌人也实现遮挡剔除,因此在pipeline中设定的层除了player多一个enemy即可。 攻击敌人再设定一个点击事件: ?在playerController中注册该函数: MoveToEnemy像这种函数可以使用alt+enter填充 可以使用alt+enter实现 给玩家添加攻击动画,注意从攻击到跑步的切换一定要将exit time设置为1,这样才能使得动画播放完毕。? ?StopAllCoroutines();//使得人物在走向目标的过程中也可以通过点击去往其他地方,打断操作 随后在playercontroller中实现攻击后朝敌人移动的代码:
走向敌人的方式通过协程进行,加入lastAttackTime用于攻击cd的冷却。 由于导航系统自带的destination会不断移动,所以需要实现当距离为1时停止移动的话使用agent isStopped为true来执行。相对应的,该协程的初始需要设定isStop为false。 bug: 执行以上的代码后会发现,人物一旦攻击敌人之后再也无法通过点击地面移动,这是因为isStopped设置为了false,所以需要在点击地面移动 效果: (鼠标指针显示不出来) 此时MouseManger
时设定isStopped为true。 除此之外还有一个bug,当进入走向攻击敌人的状态时无法移动,只能攻击完了才能移动,在此添加即可: ? 随后即可实现攻击敌人: 相机的Freelook先将cvm关掉,启用cinemachine中的freelook 将人物拖拽进去,此时可以看到有三个红圈 有三个圈,代表摄像机可以在这三个维度中自由的旋转: ? 运行游戏即可实现场景的视角切换。 我们将y轴的移动用鼠标滚轮实现(这个名称是源于setting里面的input manager里的名称设定) ?修改三个圈的大小 三个圈的实际使用起来的效果如下所示: 如果想在修改中保留数值: 如果想人物移动时相机跟着人物移动的方向可以修改bindingmode: 此处一个小细节,添加一些TODO:? FIXME:作为待办事项? 敌人的追击为敌人添加检测玩家的代码:
在切换状态时调用: 别忘了给玩家添加碰撞体 补充一点,我们在这里对hierarchy中的player和enemy进行了修改,想要使这些修改覆盖到project里面的可以使用override。 接下来实现chase,在写之前可以通过这样的方式记录要做的事情,方便整理逻辑。 接下来给敌人添加动画控制器,由于敌人有很多运动,运动的切换全看逻辑而不是像player那样的由用户输入,因此此处给enemy的动画添加层级,方便管理。 新建一个攻击层
在attack layer中的基础状态设置为空,因为这样只有在进入攻击状态时,攻击状态的动画才会覆盖普通状态的动画。 Chase和Follow分别作为上面那两个切换的条件。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 16:28:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |