找手机游戏就上xsk01 专业手游媒体门户网站!

网络游戏 | 休闲游戏 | 游戏工具 | 热门手游

页游 粒子特效-粒子效应

时间:2023-03-14 20:13:05    编辑:佚名

本文内容

从烟花火箭留下的烟雾到鱼嘴里冒出的气泡,粒子是为 基岩版中的内容添加特殊效果的绝佳方式。

图像显示艾莉克斯拿着一根魔杖,魔杖散发出一系列火花和智慧之星

在本教程中,您将学习以下内容:

要求

在开始本教程之前,建议完成以下内容。

粒子用例介绍

粒子是增强地图或附加组件视觉体验的强大工具。 它们可用于环境效果,如实体的废气、攻击效果(如附魔)和其他动画。 粒子也可用于地图中的环境效果,例如落叶。 您还可以使用粒子在您的世界中放置简单的 2D 形状。 此外,粒子通常比自定义实体更高效,因为它们完全在客户端模拟。

命名和位置

基岩版中的粒子效果使用自定义 JSON 格式。 文件存储在资源包的文件夹中。 与模型和实体一样,粒子由它们的标识符引用,因此您可以将文件保存在文件夹内的任何子文件夹中页游 粒子特效,而不必担心引用。

粒子标识符在 JSON 文件的顶部指定。 与实体类似,标识符应由命名空间和名称组成,例如: 。

    "description": {
    "identifier": "compass:colored_smoke",
    },

单元

粒子效果中的所有值都使用米(块)和秒作为单位。 速度以米每秒 (m/s) 表示,加速度以米每秒 (m/s²) 表示。 旋转使用度数,用于旋转和三角函数。

在本指南中,我们将使用粒子效果来创建。 作为 Web 应用程序或扩展程序提供。 它支持在更改参数时实时预览粒子效果。 Web 应用程序非常适合初学者,但对于具有大量粒子效果的项目,该扩展提供了更快的工作流程。

界面

打开后,您会看到 3D 预览部分、侧边栏、菜单栏和菜单下方的表情栏。

Snowstorm 界面

侧边栏是构成粒子的所有不同参数和设置的列表。 支持许多字段。 这意味着您可以输入静态数字,或者为了更好地控制字段值,使用该语言的数学表达式。 将鼠标悬停在每个字段上以查看其功能的描述。

如果您使用非常复杂的表达式,您还可以在菜单正下方的表达式栏中对其进行编辑。

Snowstorm 中的表达式栏

菜单栏用于导入和导出文件、加载示例或查看 Web 应用程序中的引用。

在表情栏下方,您可以看到预览屏幕。 您可以使用鼠标左右键和鼠标滚轮在 3D 空间中导航,并使用下面的按钮开始或暂停预览。 在右下角,您将看到场景中的 FPS 和当前粒子数。

进出口

如果您使用的是 Web 应用程序,则必须通过“文件”菜单导入和导出文件。 您也可以切换到右上角的代码选项卡来预览生成的文件。

Snowstorm 中的 Code 选项卡

如果您使用自定义材料,则必须在侧边栏部分单独加载它们。

Snowstorm 中的材质选择

如果您正在使用扩展,请在文件夹中创建一个名为 ..json 的新文件,它将自动用编辑器打开。 您也可以点击右上角的打开代码,在新标签页中预览生成的代码,甚至可以直接在此处编辑代码。

创建粒子效果

在本指南中,我们将逐步创建彩色烟雾效果。 首先,打开并在边栏中找到元部分。 输入粒子效果的标识符——我们将使用 :。

Snowstorm 中的标识符

发射器

创建粒子的最终结果

现在,我们将更换发射器。 发射器是粒子效果的核心,​​负责产生粒子。 首先,我们需要打开“速率”部分并定义生成的粒子数。 我们将 Mode 设置为 ,这意味着发射器将不断产生粒子,我们将 Rate 设置为 30,将 设置为 100。这意味着发射器将在其生命周期内每秒生成 30 个粒子,只要没有更多粒子来自世界上那个发射器的 100 个以上的粒子。

Snowstorm 中的发射率

接下来,我们将定义发射器寿命。 我们只想播放一次这个粒子效果,但如果你想要一个连续的发射器,你可以将它设置为循环播放。 我们还将时间设置为 2,这意味着发射器生成粒子两秒。

Snowstorm 中的发射器寿命

默认情况下,粒子将在发射器中心的单个点处生成。 这对我们的粒子效果很好,因此我们不需要更改形状部分中的任何内容。

粒径

我们现在将转到粒子设置并配置外观设置。 所有粒子都是应用了材质的二维平面。 在尺寸设置中,我们可以定义这个平面的宽度和高度,其中每个值都是一个半径。 这意味着将大小设置为 1 x 1 使其成为 2 x 2 块。 在本例中,我们将使用 0.25 x 0.25。

Snowstorm 中的粒子大小

粒子运动与物理

下一步是定义粒子如何移动。 在本节中,我们将模式设置为 。 对于点发射器,这始终意味着粒子将在所有方向上均匀分布。

Snowstorm 中的粒子运动

现在粒子有一个初始方向,让我们改变速度。 在中,我们将Speed设置为math.(2, 4)。 这是一个简单的数学表达式,将始终输出 2 到 4 之间的随机十进制数。速度仅在粒子生成时计算一次,所以现在,我们的每个粒子都有一个随机的初始速度。

定义粒子生成后作用在粒子上的力。 例如,要模拟地球上的重力,您可以将中值(Y 轴)设置为 -9.8。 对于我们的烟雾,我们将使用 0、3、0 作为缓慢向上移动的加速度。

加速度现在将以指数方式加速我们的粒子。 为了让它们在一段时间后减速并保持在一个空间内,我们将增加空气阻力。 你可以把它想象成厚厚的空气,当粒子达到它的极限速度时,它会慢慢减慢加速度。 我们暂时将其设置为 2。

为了让空气阻力有更多的变化,让我们随机化这个值。 空气阻力表达式是每帧都计算的,所以在这种情况下使用数学随机函数是行不通的,因为随机值会默默地相互抵消。 相反,我们将使用一个内置变量。 每个粒子和每个发射器将自动分配 4 个随机变量,这些变量将在其整个生命周期中使用。 该变量包含一个介于 0 和 1 之间的随机数。因此,为了实现从 2 到 3 的随机空气阻力值,我们将该值设置为 2 + 。

粒子寿命

现在,我们要定义粒子在世界上存在的时间。 为了获得缓慢的淡出效果,我们将再次随机化该数字。 由于 Max Age 只在粒子生成时计算一次,这就像将其值设置为 math.(1, 3) 来实现这一点。

Snowstorm 中的粒子寿命

材料

您可以为粒子创建自己的粒子材质并将它们保存在资源包的文件夹中。 为简单起见,我们将在此示例中使用默认的 粒子精灵。 要引用此材料,请在该部分的路径字段中键入 //。 由于默认使用原版材质,即使该材质不在您当前的材质包中,它也会自动加载并显示在游戏中。

Snowstorm 中的粒子材质和动画选项

我们将使用的粒子材质是最大的烟雾粒子。 由于我们希望为材质设置动画以逐渐变小烟雾粒子尺寸,因此将 UV 模式设置为 。

整个材质贴图(包括所有粒子材质)的分辨率为 128 x 128 像素。 精灵上的大多数单个片段大小为 8 x 8 像素。 但是,这些值按比例放大了 2 倍。因此 Size 最终将变为 16 x 16 像素,其余选项将以此为基础。

最大烟雾粒子的起始像素水平方向为56像素,放大2倍为112像素。 由于在此上下文中材质为 16 x 16,因此 112 除以 16 得到 7,这是 UV Start 字段的值。 或者,您可以计算出现在起始材料之前的材料数量(有 7 种材料出现在最大的烟雾颗粒之前)。 但是,如果有很多空白空间,手动计算材料可能会更加困难。

由于动画涉及较小的烟雾材质,因此 UV Step 将设置为 -1 和 0。这意味着它将相对于之前的材质(基于材质大小)向左移动 16 个像素,而不是垂直移动。 我们还将 Max Frame 设置为 7。动画将有 8 帧,并且由于有 8 种材质,第一帧计为“第 0 帧”,因此最后一帧为第 7 帧。

在这种情况下,我们希望在粒子的生命周期内均匀分布所有帧。 因此,我们将 FPS 字段留空,取消选中 Loop,然后选中 To。 这样页游 粒子特效,我们的动画材料就可以使用了。

颜色

现在,我们要对粒子应用随机颜色。 基础材质为白色,这是粒子着色的良好起点。

Snowstorm 中的粒子颜色

我们将使用一系列不同的颜色,每个粒子将选择一个随机值。 首先,打开颜色和光部分并选择一种模式。 我们在这里配置了一个漂亮、简单的彩虹。 您可以使用 + 图标添加彩色点、移动和更改每个点的颜色。

默认颜色范围在 0 到 1 之间。这意味着我们现在可以简单地使用另一个内置随机变量来选择随机颜色。 我们将在字段中输入.. 每个粒子现在都将生成随机颜色的渐变。

最终结果应如下所示:

Snowstorm 中创建的粒子的最终结果

在游戏中使用粒子效果

粒子效果在游戏中的发挥主要有以下三种方式:

命令

这是最简单的效果测试方法。 使用 / 命令将粒子发射器召唤到世界中。

评论

因为粒子效果完全在客户端,而命令在服务器端运行,服务器不知道粒子效果。 这意味着如果您尝试播放不存在的粒子效果,您将不会收到错误消息。

这是一个示例命令:命令末尾的三个波浪号表示位置,在本例中是执行命令的确切位置,即玩家脚的位置或运行命令的命令块的中心。

/particle compass:colored_smoke ~ ~ ~

动画片

粒子也可以在实体动画中播放。 这是一个两步过程。 首先,您需要在客户端实体文件中链接粒子效果,并为其起一个简短的名称。 然后您可以在动画中使用这个简称。

将以下内容添加到客户端实体文件中的对象:

"particle_effects": {
    "smoke": "compass:colored_smoke"
}

粒子效果关键帧可以添加到动画中。 单击时间轴上方的按钮并向通道添加关键帧。 现在,在关键帧面板的 ** ** 输入中输入短名称(在客户端实体文件中定义)。

您还可以在粒子效果将出现的实体文件中指定定位器。 您还可以在输入中分配一个变量,稍后可以在粒子效果中使用。

例子:

variable.custom_size = 3.14;

动画控制器

动画控制器也可以播放粒子效果。 为此,首先将粒子效果添加到您的客户端实体文件中,如上所述。 接下来,为动画控制器的特定状态添加一种或多种粒子效果,如下例所示:

"particle_effects": [
    {
        "effect": "smoke"
    }
]

下一步是什么?

恭喜,您已经读完了文章! 您已经学习了如何创建自定义粒子效果、配置发射器、更改物理特性、使用动画材质以及如何对它们进行着色。

创建粒子效果就是反复试验,组合不同的设置,并使用表达式来增强参数。 要了解更多信息,我们鼓励您查看示例粒子并查看配置,以了解如何使用不同的值和表达式来创建效果。 而且,最重要的是,试验参数,玩得开心,看看你能实现什么。

粒子 JSON 文档

以上就是关于:页游 粒子特效-粒子效应的相关内容,更多精彩请继续关注玩手游。

相关游戏
最新游戏