English
登录
加入联盟
找回密码
航空人生
新一代连飞客户端下载
空管人生
中国航空运动协会推荐
WEFLY
模拟飞行玩家聊天工具
门户
文章
商城
原创商城
官方淘宝
二手市场
学院
云课堂
考试
资料下载
论坛
模拟飞行
低空飞行
太空探索
航圈
联机
航空人生(连飞)
飞行人生(虚航)
空管人生(虚管)
空战人生(对战)
工具
联飞地图
航路查询
航图查询
气象报文
资源
插件库
素材库
云网盘
企业
飞行者联盟
»
论坛
›
【飞行仿真实验室】
›
软件开发
›
Unity3D
›
Unity基础案例讲解:创建小型太空射击游戏(四) ...
返回列表
发新帖
查看:
1866
|
回复:
0
Unity基础案例讲解:创建小型太空射击游戏(四)
[复制链接]
bbba8
bbba8
当前离线
UID
5084
注册时间
2014-4-22
在线时间
小时
最后登录
1970-1-1
精华
阅读权限
30
听众
收听
雷达卡
发表于 2022-11-12 16:26:13
|
显示全部楼层
|
阅读模式
点击Unity架构师之路 关注我们
本期我们继续为大家进行小型太空射击游戏的后续教程
本篇教程重点
8.武装大炮
9.将碎片放入太空
10.全部放在一起
免费获取教程源代码
扫描二维码添加助教老师
回复“太空小型射击游戏”领取
小型太空射击游戏教程篇幅较长,分为四篇,本篇为第四篇,有小伙伴没有看 Unity基础案例讲解:创建小型太空射击游戏(三)可以先去看一下
虽然四处飞行很有趣,但大多数玩家都渴望发射几十个光子鱼雷!
提供了一个脚本来帮助您满足这种渴望。
在层次结构中选择Spaceship,然后在“ Inspector”窗口中单击“ Add Component”按钮。单击Scripts / Ion Cannon.
您会注意到Audio Source和脚本已自动添加到GameObject中。
一些脚本需要组件。如果在GameObject上找不到组件,则会自动添加它们。
为了使您的对象播放声音,您需要音频源和音频剪辑。音频源可以附加到任何GameObject,而音频剪辑只是音频文件。
将拍摄声音从“ Project”窗口中的“ Sounds”文件夹中拖到“ Fire Sound”字段中。
您会注意到,“ Ion Cannon ”脚本具有“项目符号”字段。您的工作是创建项目符号对象。如果您不是艺术家,请不要担心-一个简单的球体就足够了。
单击层次结构中的创建按钮。从菜单中选择3D对象,然后选择Sphere.
在层次结构中选择 Sphere,然后使用检查器将“ Scale”设置为(X:0.47,Y:0.47,Z:0.47)。再次在层次结构中选择Sphere,并将其命名为Bullet。
由于您的子弹将在整个场景中移动,因此它也需要加入物理引擎。你还记得你需要做什么吗?旋转一下,如果卡住了,请检查下面的扰流板。
从层次结构中选择项目符号,然后单击检查器中的“ 添加组件” 按钮。选择“ 物理/刚体”以添加“刚体”组件。
子弹将需要速度运行,所以一定要确保是运动是选中。此外,确保利用重力是选中。
即使子弹飞离屏幕后,子弹也将继续飞行,就像您的飞船最初那样。将Bullet脚本从“项目”窗口拖动到Bullet GameObject上。现在,当子弹飞离屏幕时,它将自动被销毁。
最后,将Bullet对象拖到“ 项目”窗口的Prefab文件夹中。这将创建项目符号的预制,从而使您可以使用脚本创建大量项目符号。
现在,您已将子弹创建为Prefab,请从“ 层次结构”中删除该子弹的实例。
再次选择您的太空飞船,然后使用检查器将Bullet Prefab 添加到Bullet字段。检查器应如下所示:
最后,天空背景有些不合适,您会期望太空飞船在太空的黑色空隙中飞行,不是吗?
在层次结构中选择“ Main Camera ”,然后使用检查器将“Clear Flags ”设置为“ Solid Color ”,将“ Background Color”设置为 black.
保存您的工作,运行游戏,然后按空格键,用离子大炮开炸!
到目前为止,您有一艘可以射击的船,但是如果有什么东西可以射击的话,那会更有趣。现在是时候向混合物中添加一些小行星了。
在下载的文件中找到rock_d_05.obj文件,并将其拖到“项目”窗口中的“ Models”文件夹中。
右键单击rock_d_05.obj并将其重命名为Asteroid。
该文件仅包含有关模型本身的信息,它不包含任何动画。
将 Asteroid模型拖到“ Scene view”中以创建其实例。您会看到小行星当前为纯白色。
(一对可爱的夫妻?我给他们一个星期!看起来这可能是一段艰难的关系)
尽管您可以说它是雪白彗星的碎片,但您应该学习如何构造模型……除非您想从事制作以雪为主题的游戏的职业
展开Asteroid GameObject并选择其名为rockLP001的子对象。在检查器中,您将看到此子GameObject附加了一个Mesh Renderer组件。渲染器将对象绘制到屏幕上,但是需要一些帮助才能做到这一点-这就是材质发挥作用的地方。
材料决定了对象的外观,例如,棉衬衫与石膏墙的外观将有很大不同。
Unity通过使用每种材质封装Shader来实现此目的。
你问什么是Shader?这是一个简单的程序,以类似C的语言编写,并在GPU上运行。着色器可以足够简单以在立方体上渲染纹理,也可以足够复杂以模拟水。
Unity提供了许多不同的着色器。例如,您可以使用它们渲染天空盒,或使对象看起来是半透明的。
在“项目”窗口中打开“ Materials”文件夹,然后单击“ Create ”按钮。从下拉列表中,选择Material并将其命名为Asteroid。现在,在“Inspector ”窗口中,您将看到材料的可用属性。
1:着色器选项使您可以从许多预打包的着色器之一中进行选择。默认的标准着色器具有极大的灵活性,因此请选择它。
2: 撞击小行星时,您需要将其淡出,因此请将“ Rendering Mode”设置为“Fade”。
3:该 Albedo属性包含实际的质感。您可以通过提供颜色对其进行着色。
将flint_like_rock_4787图像从“ 项目”窗口中的“ Textures ”文件夹拖动到Albedo属性中:
4:查看“检查器”窗口底部的Asteroid材质预览,您会注意到该材质看起来有点过于光滑,就像它已经打磨过一样。(如果看不到材质预览,请尝试像这样从“检查器”的底部向上拖动Asteroid标题栏):
在Metallic属性下,您将看到两个滑块。第一个滑块确定材料的金属外观,而另一个滑块确定纹理的粗糙度。
现在,将“ Metallic”滑块设置为0.219
5:将“ Smoothness ”滑块设置为0.149。您的材料现在应如下所示:
所有材料配置完毕后,您现在需要将其添加到小行星中。将您的Asteroid材质从“项目”窗口拖动到“ Scene view.”中的Asteroid GameObject
太棒了!您有一颗小行星准备引起很多麻烦。但是首先,您需要为其添加一些行为。
拖动Debris从脚本Project window在Scripts folder中的小行星。
碎片脚本会自动将球体碰撞器,刚体和音频源添加到小行星。现在设置所有必需的属性。
1:将Sphere Collider的中心设置为(X:0.01,Y:-0.09,Z:0.89)。
2:将Radius 设置为1.49。
3:选中是 Trigger复选框。
4:对于刚体,请取消选中“ Use Gravity ”复选框。
5:选中是Kinematic 复选框。
6:对于Debris script,将“ Min Speed”设置为15。
7:将 Max Speed设置为30。
8:将explosion 声音文件从“Sounds”文件夹拖到“Explosion Sound”字段。
9:对于Asteroid GameObject的变换,将Scale设置为(X:3.02,Y:3.02,Z:3.02)。
10:添加Debris组件还添加了必需的“ Renderer Fade”组件。当子弹与小行星碰撞时,小行11 星应逐渐消失而不是从屏幕上消失。该组件仅需要一个淡入淡出时间,因此请将“ Fade Time”设置为0.5。
随着小行星从屏幕上移开,它们应该像宇宙飞船一样包裹。
从“项目”窗口中的“脚本”文件夹中,将ScreenWrap脚本拖到Asteroid上。就像使用太空飞船一样,您需要使用正确的渲染器配置屏幕包裹。
小行星有一个名为rockLP001的子游戏对象。将此子GameObject拖到Asteroid GameObject 的检查器中的“ Screen Wrap ”组件的“ 渲染器”属性。
最后,将小行星从“层次结构”拖到“项目”窗口中的Prefab文件夹。当提示您创建预制时,单击原始预制。现在您已经完成了创建Asteroid Prefab的工作,从层次结构中删除Asteroid实例。
您需要的最后一件事是所有小行星的生成点。单击层次结构中的创建按钮,然后选择创建空。命名您的产卵点Debris.。
您将希望此生成点与播放器在同一平面上。否则,玩家将在碎片上方或下方飞行。用作参考的良好GameObject是missile_R_0,因为它位于模型的中心。
拖动碎片游戏物体,并使其成为一个孩子的missile_R_0。然后,碎片的变换坐标将相对于其父级GameObject。
要匹配父对象的坐标,请将“碎片”位置设置为X:0,Y:0,Z:0)。通过这个小技巧,您可以确定太空飞船和碎片在同一平面上。
接下来,将“ Debris ”移动到其原来所在的“层次结构”视图的底部。
向右移动 Debris游戏对象7.5点。如果您没有设法使它们完全相同,则其新位置应为(X:20.0,Y:1.72,Z:7.06)。
现在您已经配置了飞船和小行星,接下来需要将所有元素组合在一起并创建一个简单的游戏。
单击层次结构中的Create按钮,然后选择Create Empty。在Inspector中,单击新GameObject的名称,并将其命名为GameManager。
随着GameManager的层次选择,点击添加GameManager,选择Scripts,然后选择游戏管理器。
您会看到该操作也添加了音频源。此外,GameManager组件具有几个需要设置的字段,这些字段将用于生成小行星。
从“Debris ”字段开始。确保在“层次结构”中选择了GameManager,然后将Asteroid Prefab拖动到“ Debris ”字段中。
那你在这里做什么?该GameManager负责产卵小行星。它使用“ 碎片”字段来确定要生成的对象。您告诉它使用Asteroid Prefab。
接下来,仍然在GameManager上:
1:将“ Min Time”设置为2,将“ Max Time ”设置为5。这告诉脚本它应该多快生成小行星。
2:将“ Total Items on Screen ”设置为5。这将小行星的数量限制为5,这样玩家就不会感到不知所措。
3:将“ Debris GameObject”从“层次结构”拖到“ 屏幕碎片”字段。这指定GameManager应该在碎片GameObject上生成小行星。
该游戏管理器组件应如下所示:
最后,在Audio Source component,添加background-music 的AudioClip领域,并确保检查 loop 复选框。
运行您的游戏,并查看一切。
恭喜,您已经在Unity中创建了自己的第一款游戏!
在以后的教程中,您将了解Unity的各个小节,这些小节实际上可以使您精通此游戏。您还将学习如何编写自己的脚本以利用Unity的灵活API。
重磅福利
《饥荒》生存类游戏开发
5天直播课
大厂总程手把手教学
从零开始打磨游戏demo
挑战大厂高薪
机会难得,抓紧扫码添加老师免费领取报名资格
极速入门|弯道超车|高薪就业|冲击大厂
END
Unity教程 | 墙外的Unity | 免费资源
点击关注我们
一键两连,你就涨钱
Unity
,
射击游戏
,
基础
,
案例
,
讲解
,
Unity
,
Unity
相关帖子
•
【中文讲解】微软飞行模拟2020初体验:航路设置和飞机体验
•
零基础纯小白飞行模拟基本操作教学
•
【微软飞行模拟2020】福克28超详细教程(驾驶舱讲解到起飞爬升)
•
【infinite flight】IFATC基础教程I:地面 推出—起飞
•
【infinite flight】IFATC基础1.3:地面—起飞
•
【中文讲解】微软飞行模拟2020初体验:菜单介绍和设置
•
MSR2020基础版与标准版有何甲留洋积世验染区别?
•
张雪峰讲解航空航天,看这一集就够了
•
石头航空小课堂 第三季A319空客系列教学 |第一集 日常飞行程序讲解 兼容FENIX
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
加入联盟
本版积分规则
发表回复
回帖后跳转到最后一页
快速回复
返回顶部
返回列表