圆形弹幕:

    override protected IEnumerator Shoots(){Vector3 firdir = transform.up;Quaternion offset = Quaternion.AngleAxis(30, Vector3.forward);for (int j = 1; j <= 5; j++){for (int i = 1; i <= 12; i++){GameObject tmp = Instantiate(bullet);tmp.transform.position = transform.position;tmp.transform.rotation = Quaternion.Euler(firdir);firdir = offset * firdir;}yield return new WaitForSeconds(1f);}yield return null;}

三点弹幕:

override protected IEnumerator Shoots(){Vector3 firdir;Quaternion offsetL = Quaternion.AngleAxis(30, Vector3.forward);Quaternion offsetR = Quaternion.AngleAxis(-30, Vector3.forward);for (int j = 1; j <= 5; j++){firdir = -transform.up;firdir = offsetL * firdir;GameObject tmp = Instantiate(bullet);tmp.transform.position = transform.position;tmp.transform.rotation = Quaternion.Euler(firdir);firdir = offsetR * firdir;tmp = Instantiate(bullet);tmp.transform.position = transform.position;tmp.transform.rotation = Quaternion.Euler(firdir);firdir = offsetR * firdir;tmp = Instantiate(bullet);tmp.transform.position = transform.position;tmp.transform.rotation = Quaternion.Euler(firdir);yield return new WaitForSeconds(1f);}yield return null;}

圆形延迟弹幕:

override protected IEnumerator Shoots(){Vector3 firdir = transform.up;Quaternion offset = Quaternion.AngleAxis(30, Vector3.forward);for (int j = 1; j <= 5; j++){for (int i = 1; i <= 12; i++){GameObject tmp = Instantiate(bullet);tmp.transform.position = transform.position;tmp.transform.rotation = Quaternion.Euler(firdir);firdir = offset * firdir;yield return new WaitForSeconds(0.05f);}}yield return null;}

星状散射弹幕:

override protected IEnumerator Shoots(){Vector3 firdir = transform.up;Quaternion offset = Quaternion.AngleAxis(60, Vector3.forward);for (int k = 1; k <= 3; k++){for (int j = 1; j <= 5; j++){for (int i = 1; i <= 6; i++){GameObject tmp = Instantiate(bullet);tmp.transform.position = transform.position;tmp.transform.rotation = Quaternion.Euler(firdir);firdir = offset * firdir;}yield return new WaitForSeconds(0.05f);}yield return new WaitForSeconds(0.3f);}yield return null;}

散射追踪弹幕:

override protected IEnumerator Shoots(){Vector3 firdir = transform.up;Quaternion offset = Quaternion.AngleAxis(60, Vector3.forward);Quaternion kick = Quaternion.AngleAxis(3, Vector3.forward);for (int j = 1; j <= 120; j++){firdir = kick * firdir;for (int i = 1; i <= 6; i++){GameObject tmp = Instantiate(bullet);tmp.transform.position = transform.position;tmp.transform.rotation = Quaternion.Euler(firdir);firdir = offset * firdir;}yield return new WaitForSeconds(0.05f);}yield return null;}

Unity3D经验(3)——飞机弹幕设计相关推荐

  1. 2018最新CATIA飞机协同设计制造工作站配置方案

       2018最新CATIA飞机协同设计制造工作站配置方案 大型飞机产品结构极其复杂,气动外形要求严格.设计不断修改.产品构型众多.零件材料和形状各异.内部结构复杂.空间紧凑.各类系统布置密集以及零组 ...

  2. Riot美术师经验分享:好设计是改出来的

    大家好,我是Riot Games的美术设计师Maokai,欢迎阅读我为大家准备的第二篇设计文章.在前一篇的访谈里,Paul Kwon讲到的更多是抽象的学习方法. Paul Richard的办公室 而在 ...

  3. java毕业设计——基于java+J2ME+sqlserver的打飞机游戏设计与实现(毕业论文+程序源码)——打飞机游戏

    基于java+J2ME+sqlserver的打飞机游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+J2ME+sqlserver的打飞机游戏设计与实现,文章末尾附有本毕业设计的 ...

  4. 基于AltiumDesigner的PCB及原理图项目设计经验分享 [硬件开发设计]

    文章目录 往期系列文章 一.市面上主流的三款低.中.高PCB画制软件(EDA) 二.PCB总体设计思路与原则 三.产品基本设计步骤 四.原理图设计注意事项 五.原理图操作 六.PCB设计 - 布局注意 ...

  5. Unity3D学习之飞机发射子弹。

    欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,我们致力于打造业内unity3d培训.学习第一品牌 ...

  6. unity3D做的飞机游戏

    unity3D做的飞机游戏 游戏图下动态图所示: 资源下载链接:https://download.csdn.net/download/weixin_43474701/20326922

  7. 十余年软装配饰设计和艺术品定制经验的软装设计机构

    在民宿室内空间装饰中,美式乡村风格是室内装饰的手法之一.下面我们一起简单了解一下美式乡村风格. 异域的风情.自由的生活方式都是现代都市人渴望追求的,在一天繁忙的工作后,人们渴望归于宁静的栖息之地,以一 ...

  8. mfc 怎么让键盘上下左右控制图片移动_[源码和文档分享]基于MFC的陨石撞飞机游戏设计与实现...

    摘 要 用MFC设计一个陨石撞飞机的平面游戏,陨石不断下落,飞机通过键盘的上下左右键移动以躲避陨石.当陨石撞到飞机时,显示游戏结束提示对话框.设计开始要对开发环境VC 6.0的熟悉,需要学会如何添加资 ...

  9. cadence 常见pcb电阻_经验分享|高频PCB设计中出现的干扰分析及对策

    PCB板的设计中 ,随着频率的迅速提高 ,将出现与低频 PCB板设计所不同的诸多干扰 ,并且 ,随着频率的提高和PCB板的小型化和低成本化之间的矛盾日益突出 ,这些干扰越来越多也越来越复杂.在实际的研 ...

最新文章

  1. ESLint的NPM账户遭黑客攻击,可能窃取用户NPM访问令牌
  2. 算法学习:manacher
  3. CTFshow php特性 web150
  4. 【进程通信】Signal信号
  5. MySQL解决root用户密码丢失问题
  6. 文件共享服务器imac,iMac怎么在网络上共享设备windows文件夹和服务 | MOS86
  7. 编写一个C程序,实现以下功能:定义一个学生结构体Student(含学号、姓名、年龄、身高)和一个函数sort(struct Student *p),该函数使用选择排序法按年龄由小到大排序。在主函数中
  8. 怎样才干成为一名优秀的软件測试人员
  9. java jsonfield_【技术累积】【点】【java】【27】@JSONField
  10. RDS for mysql备份恢复到本地参考文档
  11. [译] APT分析报告:02.钓鱼邮件网址混淆URL逃避检测
  12. bzoj1751 [Usaco2005 qua]Lake Counting
  13. 大数据正当时,理解这几个术语很重要
  14. java毕业设计—— 基于java+JSP+SSH的任务调度系统设计与实现(毕业论文+程序源码)——任务调度系统
  15. 【AD-NeRF】音频驱动人脸NeRF
  16. MFC: DeviceIoControl 通过API访问设备驱动程序
  17. 论文笔记之Estimator Varience in RL
  18. 计算机维护培训宁夏,西夏区广播电视大学计算机系统与维护专业_宁夏报名_网络教育计算机系统与维护专业教学计划_中国教育在线...
  19. 如何编写有多个返回值的C语言函数
  20. 清屏函数 mysql_c++清屏函数是什么

热门文章

  1. 【智能商业】传统企业该如何拥抱AI?德勤说野心别太大,分四步实施
  2. 用友GRP-U8 U8AppProxy任意文件上传漏洞复现+利用
  3. Power BI饼图
  4. 三层交换机上配置Trunk并接口为802.1q
  5. Js作用域与作用域链详解
  6. 解决Ranorex在测试执行过程中,当执行完调用外界库的方法后并没有执行其他的操作?
  7. IPTV系统整体架构
  8. 卷积神经网络工作原理直观的解释?
  9. c#开发Edge插件
  10. 微波电子线路之集总参数元件(1)