| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 【Unity入门计划】Unity交互-实现玩家角色发射子弹攻击敌人 -> 正文阅读 |
|
[游戏开发]【Unity入门计划】Unity交互-实现玩家角色发射子弹攻击敌人 |
目录 学习的教程 【unity2021入门教程】89-2D游戏开发教程系列-03-RubyAdventure2DRpg官方教程-37-飞弹预制件及脚本_哔哩哔哩_bilibili 不知不觉已经做到玩家角色发射子弹攻击场景中的“敌人”的部分了,我认为项目中采用的制作流程适合大多数2D游戏中想要实现发射武器攻击敌人的基本步骤,因此在这里又记录一遍加深印象。 要实现发射武器攻击敌人大概有这么几个步骤:
1 制作子弹?大概流程是:制作子弹预制件(调整大小、添加碰撞体等) -> 储存在Project中,不需要体现在当前场景中 -> 通过脚本在属性栏中public一个调用游戏对象预制件的窗口,将Ruby和子弹连接起来。 1.1 调整大小将子弹的精灵拖入场景中,调整精灵的Pixels Per Unit参数使得大小合理,注意,这里的参数是“一个精灵中的多少个像素占据场景中的一个Unit”,意味着参数越大,精灵在场景中的大小越小。 ? 1.2 添加刚体和碰撞体组件子弹想要被“弹飞”并“击中敌人”,需要挂上碰撞体和刚体组件才能实现。 添加刚体组件:,并将重力影响设为0? 添加碰撞体组件 接着创建一个子弹预制件即可,将当前场景中的对象删除。 2 创建子弹脚本具体过程建议直接查看教程,讲得很详细。
3 玩家角色控制脚本关联子弹3.1 让子弹在Unity属性窗口可视化在类开头加上一句:
3.2 加上角色发射飞弹方法的脚本
3.3 实现玩家按键调用上述方法注意,该方法的实现是放在Update()中的?
3.4 Unity中挂接飞弹预制件4 添加敌人被击中后的动作改变效果这个游戏的设定是,场景中的敌人——机器人是缺失零件的,飞弹=齿轮,Ruby击中机器人——修复机器人,机器人被修复后停止走动,并开始播放修复后的动画。 需要在敌人控制脚本中添加被修复的方法,并在子弹预制件的脚本中碰撞时调用该方法,且需要在Unity中添加机器人修复后的动画片段,这里就不做过多演示了,感兴趣可以直接看教程。 5 最终效果展示6 涉及到的Unity中C#用法6.1 刚体的Addforce()函数这里给的force是个力矢量,?ForceMode是添加的力的类型,如果不赋予则默认值。
6.2 Quaternion 四元数四元数用于计算Unity旋转,在脚本中我们大多数使用的四元数函数有Quaternion.LookRotation、Quaternion.Angle、Quaternion.Euler、Quaternion.Slerp、Quaternion.FromToRotation?和?Quaternion.identity。 关于四元数其他相关的内容,如果有机会会再详细了解,这里仅简单的提一下,知道他是什么就行。 6.3?Instantiate 实例化预制件Object-Instantiate - Unity 脚本 API? 有很多种赋值法:
这里的使用场景是玩家角色Ruby发射飞弹的方法中使用的,实例化了传入的预制件对象,这里拎出来细说一下:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/23 6:23:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |