该文来自学习chutianbo老师的笔记,链接b站
摄像机
别问,问就是无脑cinemachine(233,我只会之这个) 点击 window ?package manager 左上角找到Unity Registry 中间直接找到这个插件下载即可 下载完之后我们在Hierachy中右键创建就可以找到这个cinemachine。 之后在Follow中直接跟随你需要跟随的角色即可
摄像机边界
在设置完之后我们运行会发现,我们很多虚空也会进入视角。 1.所以我们为这个CM vcm1(就是用cinemachine创建的相机)加入组件Cinemachine Confiner2D 2.创建一个空的GameObject为他加上组件polygon Collider 2D,然后把绿色框框拉到和需要显示的地图一样就行 3.直接将这个边界拉进去就行
粒子特效
1.创建 右键Hierachy?Effects ?particle System 关于每个按键怎么用emm,底下给到了官方链接
这里讲述一下简单的爆炸特效 最初始的素材 1.因为击中特效只需要一瞬间,且发射器应该为一个圆形 2.所以爆发粒子的时间应该是0 3.同时不需要重复
1.那么第一件事我们先替换掉粒子,可见我们一开始创建出来的粒子时白色的而不是我们所要的素材, 所以找到 Texture 这个模块,将mode改为精灵替换素材即可 2.设置形状找到shape模块 将shape改为circle圆形,如果是3d就是hemisphere。 Radius是圆的半径。 Radius Thickness:发射粒子的体积比例。值为 0 表示从圆形的边缘发射粒子。值为 1 表示从整个面积发射粒子。介于两者之间的值将使用面积的一定比例。 Arc就是角度因为需要一个圆就那是360
事实上我在做这里花了非常多时间,一位内我将scale更改了,导致圆变成了一个垂直于界面的圆,一般来说2d就是xy都是1就行 3.粒子爆发时间 找到Emission将Rate over Time改为0,即一瞬间爆发即可
到这里为止,我们这个特效就算是做好了,但是有一点需要提的是,如果我们的特效是放在一个移动物体的身上且需要跟随物体移动 我们需要将Simulation Space这里改成World。 效果大概是这样,机器人向右边走,烟雾会有真实效果。
代码控制特效
这里用的例子是上面这个机器人的烟雾效果,大体应该都差不多
1.公开粒子特效属性 public ParticleSystem smoke; 2.将做好的特效拉进我们的公开属性中 (这里其实有一个bug来着,就是我们如果先将这个特效作为我们机器人的子对象,那么这个特效只能从我们子对象下面拉进去,而不能从我们的预制件里拉进去,如果是从其他地方拉进去的话,那么等会代码要进行更改) 3.在函数中调用 //二选一 smoke.Stop(); // Destroy(smoke.gameObject); 这两个函数的差别如果没有报错的话,那么第一个是让粒子生命周期结束再消失,第二个是直接消失,无论粒子的生命周期还有多久 这里的Duration就是生命周期
链接unity官方档案:粒子系统 这片文章所使用的素材来自unity商店Ruby’s adventure 链接unity官网
|