首先

买过一本叫 Unity3D开发的书,开篇第一个例子就是大家经常碰见的打飞机的例子,写完后我觉得不好玩。后来买了一本 Unity 官方例子说明的书,第一个例子也是打飞机,但是写完后发现蛮酷的,首先就是例子自带的音乐很不错,粒子效果也不错,摄像机等各个参数在书中也有明确说明,自己写的时候按照这个调试好的参数来设置游戏就会很舒服。所以就想学一下为什么这样设置参数就可以把游戏调的酷一点,下面整理一下。

参数设置

发布设置

  • 选择发布平台。在 Build Settings 中选择 Platform 为 PC 。
  • 设置窗口大小。在 PC 平台的 Player Settings 设置宽高为 400 x 600 且取消勾选 Default Is Full Screen 选项。

摄像机

取 Main Camera 作为游戏的摄像机。

  • 在 Inspector 面板上设置 Transform 的 Rotation 属性值为 (90, 0, 0) 。为什么要让摄像机的坐标系绕 x 轴旋转 90° 呢?因为这个角度可以从上观察到模型(以飞船模型为例子),如果不旋转摄像机,就得旋转模型,才能得到我们想要的视角。但如果旋转模型的话,在移动模型时就得考虑自身坐标系旋转的影响,会使逻辑复杂,在这种情景下旋转摄像机会是一个简单的解决方案。
  • 设置 Position 属性值为 (0, 10, 5)。貌似很多时候都没有让摄像机占用 (0, 0, 0)。
  • 选择投影模式为正交投影,Size 为 10 ,Clear Flags 选择 Solid Color ,Background 为黑色。

背景图片

背景采用 3D Object - Quad 作为平面,移除 Mesh Collider 组件,稍后添加材质球用于显示。

  • 选择纹理。例子中纹理图片的宽高比是 1024 x 2048 即是 1:2 ,书上建议说为了防止图片被拉伸失真,Quad 的大小也按照这个比例设置。设置 x 轴上的 Scale 大小为 15 让它充满场景,这样 y 轴上的 Scale 就是 30 了。
  • 创建材质球。选择纹理为 Unlit/Texture 。
  • 设置 Y 值为 -10 。毕竟是背景嘛,显示在最下面。

背景效果

书上说的好啊,不能让背景死气沉沉。这里采用粒子效果实现,把粒子效果预先做成了 prefab 。之前碰见的一个例子是采用 UV 动画实现,但还是觉得 prefab 方便些。

脚本

游戏对象的生命周期。

  • 飞船发射的子弹的周期。书上的实现方式虽然类似但是我之前没有用过还是记录一下。游戏中心区域的位置就是摄像机的位置,由上知摄像机的坐标是 (0, 10, 5) 因此 xz 平面的中心位置是 (0, 5) 。创建一个 Cube 作为游戏区域,超出这个区域就是超过了边界,由于 Cube 不需要显示移除它的 Mesh Renderer 组件。设置它的坐标为 (0, 0, 5) ,调整 Scale 为 (15, 1, 20) 使它覆盖背景。这样 Cube 就是我们的游戏区域。注意飞船,子弹等 y 轴坐标也是 0 ,这样它们也才能同处一层做碰撞检测。为 Cube 添加 Box Collider 并设置为触发器。其他物体与它碰撞时,处理 OnTriggerExit 函数便知道 other 已超出了边界,就可以销毁了。

爆炸特效

  • 爆炸特效的周期。特效也是预先做成了 prefab 。特效播放完后就没有作用了(暂不考虑缓冲池)。书上直接调用 GameObject.Destroy 函数延迟 2 秒销毁特效对象。
  • 爆炸的声音。爆炸时想发出声音,声音是在特效的 prefab 上添加的,并设置初始化就播放,这样创建好特效 GameObject 时,声音也就播放了。

特殊的移动

  • 小行星的随机旋转效果。通过 GetComponent().angularVelocity = Random.insideUnitSphere * 10; 实现。
  • 特殊小行星的曲线移动。确实游戏中一些敌人曲线移动更有意思。貌似客户端经常需要实现曲线移动的效果。这个先标记一下。

转载于:https://www.cnblogs.com/iirecord/p/5233371.html

Unity 官方自带的例子笔记 - Space Shooter相关推荐

  1. Unity3D官方案例1-星际航行游戏Space Shooter

    Unity3D官方案例1-星际航行游戏Space Shooter [1]学习中的使用的类 1.Input:使用此类读取常规游戏设置中的轴,访问移动设备的多点触控和加速度. 本例使用到的方法: GetA ...

  2. OSG官方自带的例子程序简介

    https://www.cnblogs.com/lyggqm/p/6222332.html

  3. Unity官方案例之星际航行游戏(Space Shooter)学习总结

    这几天我学习了<Unity官方案例精讲>的Space Shooter部分,这个案例作为刚刚学习Unity的入门还是不错的,这是整个案例的代码. 下面对我觉得比较常见的几个用法进行一下总结. ...

  4. Unity官方教程Ruby大冒险的自学笔记

    Unity官方教程Ruby大冒险的自学笔记 一. //正确例子: void Update(){//获取运动矢量moveX = Input.GetAxisRaw("Horizontal&quo ...

  5. 将Unity官方射击游戏 Space Shooter 改为实时对战小游戏,使用天梯实时对战服务(NanoLink)

    将Unity官方射击游戏(Space Shooter)改为实时对战小游戏,使用天梯实时对战服务(NanoLink) io 类型游戏如此热门,有没有蠢蠢欲动? 如何让自己的游戏快速实现可实时联机对战? ...

  6. Unity官方教程滚球游戏实现(Roll A Ball)带工程源码

    记学习unity之后做出的第一款游戏   第一次使用Unity,在学成C#基础之后,迫不及待的照着教程做出了这个游戏,第一课最主要学习的东西就是Unity API的使用及场景中各个界面面板的主要功能, ...

  7. Unity 2.Space Shooter(碰撞器Collider,WebGL,刚体中属性,(定时)实例化、销毁游戏对象,触碰OnTriggerEnter/Exit,爆炸效果,音频,文字,定时调方法)

    目录 项目介绍 WebGL发布 游戏对象设置 灯光.相机 背景 移动游戏对象 Debug 制作子弹 射击动作 清理离开边界的游戏对象 制作危险物 添加爆炸,移动小行星,作为预制件 创建游戏控制器 循环 ...

  8. Unity API常用方法和类学习笔记1

    Unity API常用方法和类学习笔记1 ------主要构架(Unity-Engine.GameObject.Component) 事件 一.事件执行顺序 二.测试代码 using System.C ...

  9. Unity官方实例教程 Roll-a-Ball(一)

    文章转载自:http://www.jianshu.com/p/6e4b0435e30e 前言 Unity官方实例教程Roll-a-Ball汉化视频地址,点击这里. 官方视频所用的unity版本是4.3 ...

最新文章

  1. 用英语说中国 IOS APP 上线
  2. iOS安全攻防(三):使用Reveal分析他人app
  3. 数字证书原理简单说明
  4. 23种设计模式的优点与缺点概况
  5. lamp配置python_LAMP搭建笔记
  6. 哪一瞬间让你觉得有妈的孩子像个宝?
  7. linux网络编程之posix线程(二)
  8. python怎么返回上一行代码_如何返回循环Python中的第一行代码
  9. 信息学奥赛一本通-第一章答案合集
  10. 一键批量检测微信是否被好友删除,支持最新版微信
  11. sofa-seata
  12. MT7921方案WIFI6无线网卡驱动编译方法
  13. 补锅之校内测(桶哥系列)
  14. 华为服务器批量系统软件,华为云ECS批量管理工具
  15. 基于高精度单片机开发红外测温仪方案
  16. 武汉大学服务器项目投标函,武汉大学
  17. Linux服务器知识梳理
  18. 想做好网络营销?这四步网络营销推广方法至关重要
  19. 记录~OPENCV读图失败的三种情况,其中一种情况罕见
  20. IIS 应用程序池自动停止处理

热门文章

  1. linux openwrt插件,OpenWrt添加软件包(一)
  2. tp3.2.3实现后台的顶部栏目查询,不用拼接sql
  3. mysql如何在sql语句中用php变量
  4. python【蓝桥杯vip练习题库】 ADV-364 天天向上(DP)
  5. 【Deep Learning笔记】用Inception-V3模型进行图像分类
  6. matlab 在图片上绘制热力图_python可视化之seaborn——热力图
  7. php修改http header,php header函数的常用http头设置
  8. android 刷卡布局,刷卡布局效果-开源AndroidSwipeLayout使用解析(二)
  9. mysql jdbc dbcp_连接数据库 JDBC、DBCP、JNDI
  10. 浅析在网站优化工作中是如何优化网站流量的?