尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Unity-live2D 实战篇笔记(特效孵化器,特效自身移动脚本)
Unity-live2D**概述**经过之前第一章的学习一些基础的关于live2D的操作学的差不多了然后跟着课程进入了第二章开始实战篇。就这里做个笔记吧。特效孵化器特效孵化器就是产生特效的游戏物体比如产生一些飘零的花瓣与心之类因为要产生特效所以自然要先将特效做成预制体放好。然后这个特效孵化器需要写一个孵化器脚本我们在脚本中用public去获取一下事先做好的预制体再获取一下canvas画布的Transform产生的特效一定要产生在canvas以下否则则显示不出来以方便后续的调用。代码演示如下public GameObject[] effectGos; //获取预制体放入数组 public Transform canvasTrans; //获取canvas的引用接下来我们需要写上一个新的方法作为产生特效的方法。由于产生的特效可能不止一种所以需要用到一个随机数的操作——Random.Range(,);这个随机数方法有俩个重载当使用int型重载时随机数不包含参数中第二个数而当使用float型时随机数包含第二个参数。用这个随机数作为特效数组下标来决定产生的特效是哪一个。产生特效所用的方法是Instantiate(,)第一个参数所生成游戏物体的原型体第二个参数所产生游戏物体的初始坐标第三个参数所产生游戏物体的初始旋转坐标这里第一个就放预制体数组中的某一个第二个直接写孵化器即脚本挂载物体的坐标transform.position就行了,第三个写孵化器的旋转坐标(transform.rotation);另外我们还需要对特效孵化器的孵化方向做随机调整以达到特效不在同一条直线运动的效果。这里用到一个方法——:Quaternion.Euler();参数为一个Vector3型的变量其三个参数分别代表三个角度用这个方放去给transform.rotation赋值即可改变方向为了让方向随机所以我们需要用随机数来做参数但由于是UI界面所以小xy这俩个角就不需要改变了。产生完成以后不要忘记把所产生物体的父对象设置为canvas;代码演示如下:private void CreateEffectGo() { //随机特效编号 int randomIndex Random.Range(0,2); //随机产生角度 transform.rotation Quaternion.Euler(new Vector3(0,0,Random.Range(0,45))); //特效的生成 GameObject effectGo Instantiate(effectGos[randomIndex],transform.position,transform.rotation); //特效设置父对象 effectGo.transform.SetParent(canvaTrans); }写完对应的产生方法以后自然不能忘记调用这里用到一个方法----InvokeRepeating(,);第一个参数是要调用的方法的名称第二个参数是首次调用的时间第三个参数是每隔多少秒调用一次。这个方法直接放在start里调用即可演示代码如下:void Start() { InvokeRepeating(CreateEffectGo,0,2); }特效自身的移动脚本先用public从外获取一个移速的值moveSpeed用来给有关移动坐标的方法去附上参数。再者由于这些特效不断产生所以肯定不能让它一直存在下去于是得有一个销毁代码这里直接用Destroy(,);。第一个参数所需要销毁的游戏物体第二个参数代码运行多少秒后销毁。写入start即可然后是最关键的移动代码这里使用transform.Translate();括号内写入移动速度的方向坐标参数即可这里需要再Unity中在先看看所需要移动的方向与特效自身坐标的方向关系比如需要向自身坐标的x轴方向移动则速度乘方向transform.right。如果要向其反方向移动则加上一个负号即可。做完以上内容之后特效会沿着直线运动不过有些不够绚烂接下来再添加一个可以让他进行曲线运动的代码。我们让物体在原方向移动的同时在Y方向transform.Translate相对应的方向参数为transform.up也获得一个速度并让其每隔一秒随机改变方向。要实现这些我们就需要一个计时器和随机数做方向改变当计时器的时间达到一秒后执行随机数改变方向并让计时器归零。并在update中调用transform.Translate,用transform.up与方向随机数的乘积作为方向用速度参数(moveSpeed)缩小一定比例作为速度大小,再乘上Time.deltaTime来平滑移动。演示代码如下public class E_move : MonoBehaviour { //特效自身的移动 public int Speed; //速度 private int direction0; //方向 private float M_time0; //计时器 // Use this for initialization void Start () { Destroy(gameObject, 10); } // Update is called once per frame void Update () { //初始直线移动 transform.Translate(-transform.right * Speed * Time.deltaTime); //据时间而随机改变的垂直向移动 if(M_time1) { direction Random.Range(-1, 2); transform.Translate(transform.up * Speed/3 * Time.deltaTime); } //计数器的时间堆叠 M_time Time.deltaTime; } }注相关时间变量的操作可以参照初识API这篇初始Unity-API
RELATED

相关推荐

基于Arduino Leonardo与Xbee R3构建无线MIDI系统的全流程实践

基于Arduino Leonardo与Xbee R3构建无线MIDI系统的全流程实践

1. 项目缘起:当开源硬件遇上音乐协议最近在整理工作室的旧物时,翻出了几块吃灰已久的DFRobot Leonardo和Xbee R3模块。看着它们,我就在想,能不能用这些“老伙计”搞点有意思的、和音乐相关的东西?毕竟,纯粹…

📅 2026/9/20 9:28:52
嵌入式Linux无头设备Wi-Fi配置与SSH远程管理实战指南

嵌入式Linux无头设备Wi-Fi配置与SSH远程管理实战指南

1. 项目背景与核心诉求最近在折腾一个嵌入式小项目,需要在一块没有屏幕、没有键盘的“无头”设备上配置Wi-Fi。这听起来像是个基础操作,但真动起手来,你会发现从连接串口到让设备成功连上家里的无线网络,中间每一步都可能藏着意想…

📅 2026/9/9 23:44:30
备份 3-2-1 策略

备份 3-2-1 策略

https://www.getnas.com/the-3-2-1-backup-strategy/ 良好的备份策略是信息安全的基石,当意外发生时能保证尽可能低的数据损失,以及在最短的时间内拿到需要的文件,是我们制定备份策略的主要目标。 3-2-1 备份策略 3-2-1 策略的意思是&…

📅 2026/8/23 2:34:35
MORE NEWS

更多资讯

📰

NumPy 1.17.5 发布说明解读:缺陷修复、构建改进与升级路径分析

NumPy 1.17.5 发布说明解读:缺陷修复、构建改进与升级路径分析 【免费下载链接】numpy The fundamental package for scientific computing with Python. 项目地址: https://gitcode.com/gh_mirrors/nu/numpy 本篇文章基于当前仓库中保留的官方发布文档 doc/…

📰

C++单元测试实践:Google Test框架与工程化指南

1. 为什么C项目需要单元测试在大型C项目中,随着代码规模的增长和团队协作的复杂度提升,传统的手动测试方式已经难以满足质量保障需求。我曾经参与过一个超过50万行代码的C项目,在引入单元测试前,每次代码合并后都会出现各种意想不…

📰

Claude Code官方安装脚本全解析:从零安装到权限配置

最近把主力终端工作流换成了 Claude Code,从安装到日常使用折腾了差不多一个礼拜。网上关于 Claude Code 的讨论很多,但大多停留在“一句话装完”的层面,真正把官方安装脚本、环境依赖、登录授权、权限设置、升级卸载这些环节讲透的内容不多。…

📰

DBX 中文技术指南:25 MB 轻量级数据库客户端的完整实践——从桌面端、Docker 到 AI 与 MCP

数据库客户端数据库桌面应用CLI后端MCP 服务AI 应用 【免费下载链接】dbx 20 MB lightweight cross-platform database client for 90 databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, deskt…

📰

开放研究实战:从数据管理到可复现流程的完整指南

1. 开放研究(OpenResearch)是什么?从一次被审稿人拆穿的失败说起真正让我下定决心把整套流程改成 OpenResearch 式做法的,是一次特别难看的投稿经历。当时我拿着跑了大半个月的实验数据去投稿,自认为结果整理得足够漂亮…

📰

WordPress换域名后永久链接404的完整修复指南:从数据库替换到伪静态配置

接手过很多次“站点换域名”的活儿,每次最头疼的不是换域名本身,而是换完以后整站文章页、分类页集体404。首页明明能打开,后台有时候能进有时候进不去,进去了发文章、改固定链接又提示一堆错。这篇文章就把我处理这类问题的完整思…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬