unity3d 在代码中怎样控制粒子特效的重新播放与停止?答案最好详细点,可以加分

作者&投稿:竹穆 (若有异议请与网页底部的电邮联系)
什么叫软件?~

完整的计算机系统由两部分组成,即计算机的硬件系统和软件系统。
计算机软件(computer software)指计算机系统中除硬件以外的所有事物,一般包括计算机程序、程序说明以及其他资料等。
软件的正确含义应该是:
(1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。
(2)程序能够满意地处理信息的数据结构。
(3)描述程序功能需求以及程序如何操作和使用所要求的文档。
软件具有与硬件不同的特点:
(1)表现形式不同
硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。
(2)生产方式不同
软件是开发,是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。
(3)要求不同
硬件产品允许有误差,而软件产品却不允许有误差。
(4)维护不同
硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。完整的计算机系统由两部分组成,即计算机的硬件系统和软件系统。
计算机软件(computer software)指计算机系统中除硬件以外的所有事物,一般包括计算机程序、程序说明以及其他资料等。
软件的正确含义应该是:
(1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。
(2)程序能够满意地处理信息的数据结构。
(3)描述程序功能需求以及程序如何操作和使用所要求的文档。
软件具有与硬件不同的特点:
(1)表现形式不同
硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。
(2)生产方式不同
软件是开发,是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。
(3)要求不同
硬件产品允许有误差,而软件产品却不允许有误差。
(4)维护不同
硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。

通过粒子系统的Simulate方法来模拟对应时间的粒子状态来完成效果,控制粒子特效的重新播放与停止。具体操作如下:

1、首先下段代码比如对于Legacy粒子,使Emitter在timeScale=0停止时继续有效发射并显示效果。

2、给cube2加上了针对粒子的一个代码,在timeScale =0的情况下,特效可以顺利正常播放,其他都还是暂停的。

3、然后给一个空对象,绑定了一个代码,来控制粒子特效也同样不受影响,暂停的效果依然是暂停的。

4、当点击停止按钮时timeScale =0,全部停止了或者点击重新开始如下图。



gameObject.GetCompoment<ParticleSystem>().Play();播放
gameObject.GetCompoment<ParticleSystem>().Pause();暂停
gameObject.GetCompoment<ParticleSystem>().Stop();停止

用这三个函数应该能满足你所有的需求~

我连粒子都没怎么接触过。。但是一百度,发现了start lifetime属性。
然后自己找了一个现成的粒子试了试,挂上了新建的脚本,start里面这么写的
this.gameObject.particleSystem.startLifetime = 10;

十秒后就主键消失了,貌似粒子还自带淡出的效果

百度+自己尝试就解决了这个问题

5.0版本以后用gameobject.getcompoment<particlesystem>().play(),但是之前要stop(注意大小写),和音乐的播放是一样的


双台子区13197522547: unity3D中如何通过脚本控制粒子初始速度? -
贰聂复方: Unity中的粒子系统使用起来还是比较方便的.不过在实际过程中遇到这样的一个问题:需要动态的来控制一个粒子系统组件所能产生的最大粒子数.看doc上说是有maxParticles来控制,但实际上却没有这个开放的参数,只能通过其它的方式来...

双台子区13197522547: 新Unity 最新粒子系统如何用代码改变参数 -
贰聂复方: 你想用代码修改粒子中的哪一部分呢?这里给你一个参考地址:https://docs.unity3d.com/ScriptReference/ParticleSystem.html 在参考地址中,你可以找到各个Module中的参数,其中有详细的讲解和用法.其实使用代码控制粒子系统非常方便,但...

双台子区13197522547: unity3d怎么用代码实现缩放粒子特效 -
贰聂复方: 修改startSize 这个属性可以实现简单的对粒子效果的缩放.此外粒子效果的大小随时间变化等等可以在粒子系统的属性面板中进行设置,如果用代码操纵的话可以参考.

双台子区13197522547: Unity3.5版本怎么控制粒子的发射范围? -
贰聂复方: 粒子属性里的energy控制粒子的存活时间,然后你设置合适的粒子速度velocity,只要在粒子的存活时间里按照设置的速度运动的位移不超过你想要的范围即可.还有Ellipsoid可以改变粒子发射器的形状,改变x y z的值可以使粒子从一个椭球面上发射出来.在Particle Animator组件里,size grow也可以改变单个粒子的大小.

双台子区13197522547: unity3d 控制粒子逐渐消失 -
贰聂复方: 我连粒子都没怎么接触过..但是一百度,发现了start lifetime属性.然后自己找了一个现成的粒子试了试,挂上了新建的脚本,start里面这么写的 this.gameObject.particleSystem.startLifetime = 10; 十秒后就主键消失了,貌似粒子还自带淡出的效果 百度+自己尝试就解决了这个问题

双台子区13197522547: 在Unity里,是否能通过脚本控制粒子颜色与某个物体颜色相同 -
贰聂复方: 可以的,你可以先获取到物体的材质的Color,然后创建出使粒子的颜色等于获取到的Color就行了,电脑上没装软件,就不写代码了

双台子区13197522547: unity3d粒子发射时间控制 -
贰聂复方: 不懂得你要控制哪种粒子.我这个是3秒发射一个子弹的,原理应该差不多的. 根据笔记打上去的,目测还是没有错的,呵呵.给分……QQ692427668互相学习. var fire=true;var waitetime=0;var o...

双台子区13197522547: Unity3d 粒子系统里,如果粒子做多了怎么统一修改参数 -
贰聂复方: 个人认为可以尝试把一些关键的参数找一个类记录下来,改变这些参数然后通过参数改变粒子系统的值.public Color weapencolor;//使用后的剑上面的颜色public Color basiccoloc;//未使用之前剑上面的颜色 GameObject kinglightweapen= ...

双台子区13197522547: Unity3D粒子效果,如何在鼠标点击拾取到场景中的一个物件时候,在该物件周围触发一个粒子效果几秒钟 -
贰聂复方: 建立一个prefabe,把粒子赋到prefabe上,然后在脚本中OnMouseDown函数中初始化Instaniate这个Prefabe,再执行一个协同在几秒后销毁这个prefabe

双台子区13197522547: Unity 3d的粒子系统的问题,求解答 -
贰聂复方: 你说的应该是this.gameObject.particleSystem.enableEmission=false吧?还是particleEmitter.enable=false?particleEmitter用的时候出错了,There is no 'ParticleEmitter' attached to the game object, but a script is trying to access it..我用的是particleSystem.顺便把问题简化下吧,就是把鼠标放在粒子系统上时,粒子系统所释放的粒子立即消失,不过现在隐约找到方法了!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网