unity初学5 摄像机跟随,边界控制以及简单的粒子控制(2d)

该文来自学习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官网

猜你喜欢

转载自blog.csdn.net/jijikok/article/details/126066678