相信开发者们
对于“粒子”这个词语并不陌生
它可以是墨鱼喷出的墨
也可以是烟雾、火星
会在下雨等特定事件中出现
而这其中又分为
原版粒子和特效粒子
快跟上发发菌的脚步
一起来研究下叭~
首先发发菌要带大家了解下两者的概念:
原版粒子
指的是我的世界基岩版原生自带的粒子特效,亦或是由开发者通过基岩版粒子系统提供的自定义粒子方法制作的粒子。
特效粒子
是由中国版官方维护的一套粒子系统,开发者可以通过官方示例或是模组SDK(即MOD SDK)文档研习,并用我的世界开发者工作台(即MC Studio)的特效编辑器进行可视化制作。
总的来说,两者制作粒子遵循的规律大致相同,只是服务的个体和细节功能稍有不同,下面发发菌将从不同方面进一步解释两者的区别(〃` 3′〃)
功能方面
原版粒子 |
特效粒子 |
可以带有碰撞检测。 |
没有碰撞检测。 |
可以设置是否受到光照影响。 当设置为“真”时,粒子颜色会因光照变暗(如游戏中天色变晚)而变暗。 |
不受光照影响,始终维持原来的颜色。 |
没有层级概念。 |
拥有层级概念。 |
(1)粒子碰撞检测包括以下两点:
① 粒子与方块碰撞后执行事件:如蜜蜂方块的蜂蜜粒子,掉到地面后会播放蜂蜜掉落的音效。
② 与方块碰撞后产生真实物理碰撞:如触碰到方块后停留或者反弹。
(2)拥有层级概念:
是指支持粒子前后层级的效果。例如,层级越大,渲染越晚,粒子越靠前显示。
性能方面
原版粒子 |
特效粒子 |
在粒子消失后会被游戏回收,动态调配资源。 |
粒子消失后会停留在游戏中,占用资源。 |
贴图和序列帧贴图在2048x2048大小以上时,会打印游戏日志做出警告。 |
在官方文档的规范中,单张粒子贴图不超过32x32,序列帧贴图不超过512x512。 |
使用方面
原版粒子 |
特效粒子 |
可通过指令生成在世界上,亦或是绑定在原版模型上,但无法将它绑定在骨骼模型的骨骼上。 |
可通过模组SDK生成在世界上,亦或是绑定在骨骼模型上,但无法将它绑定在原版模型的骨骼上。 |
没有官方维护的编辑器,但有国外民间开发者维护的特效编辑器snowstorm。 |
可由官方开发维护的“我的世界开发者工作台”中的特效编辑器制作而成。 |
在动态变化、效果程度上对开发者的水平要求高。 如粒子渐变颜色、粒子缩放大小等都需要写Molang语法表达式。 |
制作上手难度低,很容易就能做出好看的特效。 在渐变颜色、缩放大小上有直接的输入面板可以控制。 |
在三维游戏世界中,许许多多模糊现象的视觉效果是由特效这一概念包装而成。经常用到这一概念的现象有火、爆炸、烟、水流、雪、尘等抽象视觉效果。
粒子发射器是操控粒子在三维空间位移运动的典型实现,其中各种动态变化的部分由技术团队进行包装后提供粒子行为的参数来操控。
中国版目前的下界更新版本中,同时支持原版粒子自定义与模组SDK粒子自定义,虽然功能细节上可能略微带有差异,但制作粒子特效、序列帧特效的思路没有太多差异。
学会其中一种后,举一反三代入另一种系统可以降低学习成本!
接下来发发菌将给大家简单介绍下两类粒子与粒子发射器的关系。
发射器
(1)不同之处
原版粒子 |
特效粒子 |
原版粒子发射器一共有5种形状,分别是:点、球形、方形、平面形、生物碰撞箱形。 |
特效粒子发射器一共有4种形状,分别是:球形、半球形、圆柱形、方形。 |
发射器的不同形状会使粒子沿着对应形状的表面分散,并控制粒子的发射方向和方向。
例如,粒子发射器设置为方形,则粒子会在一个方型空间分散开来;若设置为点形,则粒子会在一个点上聚集。
(2)相同之处:
原版粒子发射器和特效粒子发射器都可以通过设置发射器的大小来缩放特效的大小。
渲染
(1)不同之处
原版粒子 |
特效粒子 |
需要贴图纹理和材质,当前支持的材质为透明、半透明、不透明。 |
需要贴图纹理,不需要额外设置材质种类。 |
单张粒子贴图导入进snowstorm编辑器时,会自动匹配贴图大小。 若是由多张带有连续性变化的粒子贴图拼接而成序列帧,则需要将uv模式改成动画模式,通过设置uv起点、uv大小、uv步进、帧率、最大渲染帧数等参数来播放序列帧。 |
开发者需要提前确定特效粒子种类是使用单张贴图还是序列帧。 序列帧需要先用TexturePacker工具进行打包后输出配置文件搭配使用。 |
(2)相同之处:
原版粒子和特效粒子都可以着色,其中特效粒子可以选择透明度叠加或者颜色值叠加模式。
变化
(1)粒子可以随参数调整加速度和阻力、旋转角度、旋转速度等,在三维空间内进行位移、旋转。
(2)粒子具有数量概念。
例如:将粒子形状变成火,通过改变数量可以增加或减少火的数量。
(3)粒子具有大小的概念。
例如:将粒子形状变成火,一团火在世界中的显示大小同样可以调整。
朝向方式
粒子朝向方式可以设置为面向相机、面向地面、面向方向,是指粒子在玩家视线中朝向何种方向的参数:
(1)面向相机:是指粒子始终朝向玩家相机视角,无论在任何角度看向这个粒子都能看到它完整的样子。
(2)面向地面:是指粒子会在Y轴方向始终朝向玩家视角,即玩家视角与地面平行时,可以看到完整的粒子效果。
若头朝下方看向粒子,则无法看到粒子的完全样貌。
(3)面向方向:是指粒子朝向某个特定方向,如:地面冒出一滩绿色液体,开发者希望粒子紧贴着地面,则将朝向方式设置为朝向Z轴。
持续时间
(1)粒子具有生命周期存留的时间概念,当持续时间结束时,粒子会消失。
(2)粒子具有循环播放和只播放一次的选项。
当设置为循环时,粒子在持续时间结束后,会在初始位置重新出现;而设置为播放一次时,则粒子消失后就不再出现。
通过不同方面的对比和总结
开发者们对两种粒子
应该有大致的概念了吧
之后发发菌将会陆续
给大家带来关于粒子的实操教学
记得时常来收获新知识哟~
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:704559159@qq.com