Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode

    单点粒子发射器

    三维积木
    1
    1
    220
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • info-creaticode
      CreatiCode last edited by admin

      简介

       
      虽然你可以使用预构建的粒子发射器,但只能实现一些预定义的视觉效果。要释放粒子发射器的全部力量,你需要学习自己构建和自定义粒子发射器。

      粒子系统可能非常复杂,因为它会涉及许多同时移动和变化的粒子(小的纹理图像)。

      为了从简单的地方开始,我们可以先关注于i“单点”粒子发射器。也就是说,所有粒子都是在同一个地方被创建的,并且它们不会离开那个位置。

       
       

      创建单点粒子发射器

      要创建单点粒子发射器,可以使用以下积木,并指定“单点”的形状。

      f1faff0e-1e69-48e3-97e7-2f8ae508fded-image.png

       
      以下是输入参数的说明:

       
       

      形状

      这里的形状不是粒子的形状,而是产生粒子的发射器的形状。当我们选择“单点”形状时,所有粒子都在同一初始位置被创建。我们将在其他文章里讨论其他形状选项。

       
       

      纹理

      纹理是要用作粒子的二维图像。你可以从库中大量的纹理图片中做选择。

       
       

      面对摄像头

      这个输入控制粒子图像是否始终面向摄像头。例如,如下所示,假设粒子图像是一个二维的圆形。如果我们让它始终面向摄像头,那么无论我们如何旋转摄像头,我们都会始终看到它是一个完整的圆; 但是,如果我们不强迫它面对摄像头,那么我们会看到它总是朝向Z轴方向,当我们从侧面看它时,它变得非常薄。

      e2.gif

       
       

      寿命最小/最大

      这两个数字是粒子的最小和最大寿命。对于发射器生成的每个新粒子,其生命周期将是这两个值之间的随机数。例如,如果最小寿命为 2 秒,最大寿命为 4 秒,则任何一个粒子的实际生存期可以是 2 到 4 秒之间的任何值。假设它是3.5秒,那么在3.5秒后,这个粒子将死亡(消失)。

       
       

      容量

      容量控制将创建的最大粒子数。这也是舞台上可以显示的最大粒子数。请注意,这可能不是显示的实际粒子数。它还取决于粒子生成的速度,这将在我们启动发射器时指定。当我们创建发射器时,它会立即根据这个容量输入创建所有粒子,然后在发射器发射时使用它们,并在它们死亡后重复使用这些粒子。

       
       

      显卡GPU

      这个输入控制我们是否在计算机系统的 GPU 可用时使用它。GPU是计算机CPU之外的附加处理器,它使计算机能够更快地绘制粒子,并且还可以实现粒子的一些高级变化。通常,你应该将其设置为“是”,以便在 GPU 可用时使用它。

       
       

      时间比率

      时间比率控制粒子动画的执行速度。你可以把它想象成粒子相对于现实世界的时钟速度。这个数字越高,粒子移动和变化的速度就越快。

       
       

      名称

      最后一个输入允许我们给发射器起一个名字,以便我们以后可以选择它。

       
       

      “启动发射器”积木

      将发射器添加到场景后,可以使用“启动发射器”积木使发射器喷射出粒子。

      8718c9f5-c17f-4a77-b37a-55c7b7f3b0c8-image.png

      • 发射器名称:第一个输入是发射器的名称。如果发射器是选定的角色物体,则可以将其忽略不填。
      • 发射方式和数量:如果按照“持续频率”发射,则发射器将一直发射粒子,而且第三个输入将是每秒发射的粒子数。请注意,如果发射器的“容量”不够大,则可能无法按照给定的频率持续发射粒子。如果你选择“并发总数”,则发射器将仅发射第三个输入指定的数量的粒子,然后发射器将停止,直到你再次启动它。

       
       

      示例 1 - 重复发射一个粒子

      这可能是创建和发射粒子发射器的最简单程序:

      eddfebd6-2fda-464c-99cd-c5423be4fca3-image.png

       
      容量为1,这样的话系统中只有一个粒子被重复使用。这个粒子的寿命是1秒,它以每秒一次的速率发射,所以这个粒子会被发射出去,活1秒,然后死亡,然后被重新用于再次发射。

      e3.gif

       
       

      示例 2 - 一个具有更长寿命的粒子

      现在假设我们将生存期更改为 3 秒。然后每次粒子都会存活 3 秒。即使发射速率设置为 1,我们仍然需要等待 3 秒才能使粒子死亡,以便可以重复使用再次发射。

      2712d423-fecd-431a-839f-5a209f6fa091-image.png

       

      e4.gif

       
       

      示例 3 - 更多具有更长寿命的粒子

      为了保持每秒 1 次的预期速度发射,我们必须将发射器的容量增加到至少 3 次。

      3b8494f3-6aa4-449b-befa-1bd07ea11841-image.png

       
      这一次,在发射第一个粒子后,我们等待一秒钟,然后再次尝试发射。我们还有 2 个未使用的粒子,所以我们有能力发射第二个粒子,然后我们再发射一秒钟的第三个粒子。这样的话,我们将看到显示所有 3 个粒子,尽管它们处于其生命周期的不同舞台。

      e5.gif

       
       

      示例 4 - 更高的发射频率

      现在让我们将发射频率也增加到 3,这样我们一次最多可以看到 3 个粒子。请注意,由于发射频率为 3,这样的话粒子将在一开始时以 1/3 秒的时间间隔发射。

      454b1a54-2bc8-4c91-900b-0d9ac9e0675a-image.png

       
      发射完全部 3 个粒子后的第2秒,当我们准备再次发射时,这 3 个粒子都还活着,所以我们达到了容量极限,必须等到某一个粒子死了才能发射一个新的粒子:

      e6.gif

       
       
       

      起始和结束时的粒子大小

      我们看到粒子图像越来越大的原因是每个粒子都有一个起始大小和一个结束大小。默认情况下,粒子的大小从 1 开始,以大小 100 结束。

      你可以使用以下积木更改起始和结束大小:

      7d5aab20-027d-4d4f-b24f-db175d94357f-image.png

       

      第一个输入是要更新的发射器的名称。如果发射器是当前活动的角色物体,则可以将其忽略不填。

      起始大小可以是一个范围,例如介于 10 到 20 之间。对于每个粒子,其起始大小将在这个范围内随机选择。

      结束大小也可以是一个范围。

      最后,你可以在中间某个进度(0% 到 100% 之间)指定粒子的大小范围。例如,你可以指定在生存期的 50% 时,粒子的大小必须达到 100。如果“进度”设置为 -1,则禁用这个中间进度点。

      请注意,如果之前“GPU”选项设置为“是”,则你将无法指定范围(每对大小数字中的第二个数字将被忽略)。

       
       

      示例 5 - 固定大小

      如果我们将起始大小和结束大小设置为相同,则粒子将不会显示增长动画。相反,它们将在其整个生命周期中保持相同的大小,并且多个粒子将相互重叠:

      e761a0c8-105f-4d5d-8c4b-085ad96a75ea-image.png
       
      e7.gif

       
       

      示例 6 - 随机更改大小

      在这个示例中,我们指定起始和结束大小的范围:

      ec10b1de-5379-49a1-9f8a-ae3fe863064a-image.png

       
      结果,所有5个粒子的大小都不同,并且圆环之间的间隙分布也不均匀。

      e8.gif

       
       
       

      开始和结束颜色

       
      默认情况下,所有粒子图像都以白色开头,以黑色(透明)结束。你可以使用下面的这个积木为每个粒子设置起始颜色和结束颜色。在粒子的整个生命周期内,每个粒子的颜色将逐渐从起始颜色过渡到结束颜色。请注意,即使在粒子发射器开始发射后,你也可以更改新发出的粒子的颜色。

      b7230e58-260a-4a6a-9568-e58814231d73-image.png

       

      第一个输入是要更新的发射器的名称。如果发射器是当前活动的角色物体,则可以将其忽略不填。

      起始颜色可以是由 2 种颜色定义的范围(当粒子为“GPU”类型时,仅可以使用 1 种颜色)。对于每个粒子,其起始大小将在这个范围内随机选择。

      结束颜色也可以是由另外 2 种颜色定义的范围。

      最后,你可以在中间进度点(0% 到 100% 之间)指定粒子的颜色范围。例如,你可以指定在生命周期的 50% 时,粒子必须更改为特定的颜色范围。如果“进度”设置为 -1,则禁用中间进度点。

       
       

      示例 7 - 设置随机起始颜色

      我们可以在起始颜色范围中使用 2 种不同的颜色(红色和绿色),并将结束颜色设置为纯黑色。我们将看到粒子在红色和绿色之间呈现出随机的颜色。

      aabea00b-e729-4814-b04b-dd2415d848c7-image.png

       
      我们可以看到一些粒子是橙色和黄色的:

      e10.gif

       
       

      示例 8 - 设置开始和结束颜色

      如果结束颜色不是黑色,那么粒子在死亡时将显示该颜色。

      326aa28b-b2d4-40f8-a725-47ebc190c796-image.png

       
      请注意,在圆的边缘,粒子在突然消失之前会变成蓝色。这就是为什么我们通常将结束颜色设置为黑色,这样粒子在死亡前变得几乎透明,整个团的外轮廓会变化的更流畅。

      e11.gif

       
       
       

      初始旋转

      默认情况下,创建所有粒子时没有初始旋转,这样的话它们的旋转角度相同。我们也可以使用以下积木指定粒子的初始旋转角度:

      ceb0a6cc-bfde-4685-a566-906ce0d91a47-image.png

       
      第一个输入仍然是发射器的名称。

      第二个和第三个参数允许我们指定角度范围。如果我们将范围设置为 0 度到 360 度之间,则粒子的初始角度可以是圆周围的任何值。

       
       

      示例 9 - 随机初始旋转角度

      在这个示例中,我们使用与“Kenny”类别不同的“magic 03”纹理。看到不同的角度会更容易:

      3fd9aaa4-688f-408a-8e63-e9efaf90f460-image.png

       
      结果如下:

      e12.gif

      1 Reply Last reply Reply Quote 0
      • Pinned by  info-creaticode info-creaticode 
      • First post
        Last post