Godot 4 练习 - 制作粒子

这篇具有很好参考价值的文章主要介绍了Godot 4 练习 - 制作粒子。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

演示项目dodge_the_creeps中,有一个Trail,具体运行效果

Godot 4 练习 - 制作粒子,godot,游戏引擎

想要看看咋实现的,看完也不清晰,感觉是要设置某些关键的属性

Godot 4 练习 - 制作粒子,godot,游戏引擎

 ChatGPT说:以下是一些重要的属性:

  • texture:用于渲染粒子的纹理。您可以使用一个2D纹理或者一个动画纹理(AnimatedTexture)。
  • size:粒子的尺寸。
  • speed:粒子的速度。
  • amount:粒子总数。
  • emit_radius:粒子发射的半径。
  • pixel_size:在屏幕上的像素大小。
  • draw_order:绘制顺序。
  • lifetime:粒子在屏幕上的存在时间。
  • offset:粒子的偏移量。
  • texture_offset:纹理的偏移量。
  • blend_mode:像素混合模式。
  • gravity:重力影响。
  • radial_acceleration:径向加速度。
  • tangential_acceleration:切向加速度。
  • particle_system:用于管理粒子的父节点。

 唉,ChatGPT也没啥用哈,有些属性是有的,用些属性是没有的,真真假假,费劲。

还是在B站找找有没有教程。找到一个

[Godot 4] 2D火灾、烟雾和爆炸粒子效果_哔哩哔哩_bilibili

这个教程有点意思,不说话,放点背景音乐加一些步骤文字说明,我试了下,还有效果。记录一下

火焰粒子

  • 创建GPUParticles2D节点,为了看效果,把它拖到屏幕中间。下来就开始设置各关键属性

Godot 4 练习 - 制作粒子,godot,游戏引擎

  • 首先是Process Material,下拉,点选 new ParticleProcessMaterial。这步之后,对象开始喷射了。如果太小,可以滚轮放大一下看到效果

Godot 4 练习 - 制作粒子,godot,游戏引擎

 点击ParticleProcessMaterial进行进一步设置。先设置重力方向向上(y = -98),则开始向上喷射

Godot 4 练习 - 制作粒子,godot,游戏引擎

  • 再设置Scale,看了该属性后,我的理解是这是一个映射,输入0 ~ 1,即粒子从出发到消失这一段距离,输出也是0 - 1之间的值,通过曲线设置将每个输入值得到一个输出值,输出值就是对应位置的缩放比例,为1表示原大小,为0表示消失,其余按比例显示大小。正常发射,开始大,最终消失,所以可以设置曲线为

Godot 4 练习 - 制作粒子,godot,游戏引擎

  • 再继续设置Scale Min = 2, Scale Max = 2,相当于缩放基数为2,但最终消失时0*2还是0
  • 下来是效果加分项:颜色设置。Color -> Color Ramp。Color Ramp是一种用于定义粒子的颜色渐变的纹理。在Color Ramp下拉列表中,选new GradientTexture1D,并进一步设置其各关键颜色0(HSV 47/82/100) 0.5(RGB 255/83/37) 1(RGBA 42/42/42/145)

Godot 4 练习 - 制作粒子,godot,游戏引擎

  • 当然,粒子颜色渐变纹理也可以用代码实现,后续再研究
# 为Color Ramp纹理分配一个Color Ramp对象。Color Ramp对象是一个包含多个颜色值的数组,用于定义渐变的颜色
ramp = [Color(1, 0, 0, 1), Color(0, 1, 0, 1), Color(0, 0, 1, 1)]
# 创建一个Color Ramp纹理
color_ramp_texture = Environment.get_current_environment().set_texture("color_ramp_texture", ColorRampTexture.new(ramp))
# 将Color Ramp纹理分配给GPUParticles2D组件
trail.texture = color_ramp_texture
  •  增加粒子发射量 Amount = 50

Godot 4 练习 - 制作粒子,godot,游戏引擎

  •  创建脉冲噪声(扰动)的纹理: Turbulence.Enabled = true, Noise Scale = 1.08

Godot 4 练习 - 制作粒子,godot,游戏引擎

 烟雾粒子

  • 前两步同火焰粒子:创建GPUParticles2D节点,new ParticleProcessMater
  • 设置Time.Explosiveness为最大值1,用于定义粒子系统发射速度
  • 增加纹理,GPUParticles2D.Texture设置为smoke.png。
  • 设置CanvasItem.Texture.Filter为Nearest,方向Direction.Spread为180,则出现四周散射效果
  • 设置Gravity为0,表示无重力作用。设置初速度InitialVelocity为25 ~ 75
  • 设置数量Amount为30
  • 设置Scale,控制发射过程消失效果
  • 设置颜色,控制发射过程颜色变化效果:开始全白色,结果为全透明
  • 设置Turbulence
  • 控制阻尼Damping,其Min = Max = 28.13,使得结果更为顺滑
  • 最终效果

Godot 4 练习 - 制作粒子,godot,游戏引擎

与视频中有偏差,原因在于纹理素材。

爆炸粒子

与前面大同小异,不用纹理,控制方向颜色及scale等即可。

演示项目中的Trail

现在回头看Trail效果。相关的属性设置为:

gravity = Vector3(0, 0, 0)

scale_curve.curve._data = [Vector2(0.00501098, 0.5), 0.0, 0.0, 0, 0, Vector2(0.994989, 0.324), 0.0, 0.0, 0, 0]

scale_curve.curve.point_count = 2

color_ramp.gradient.colors = PackedColorArray(1, 1, 1, 0.501961, 1, 1, 1, 0)

仔细一想,原来这个粒子效果就在原地,从发射到消失这个过程保持不动,也就是说,消失的位置还是在发射的位置。但由于玩家在动,所以发射的位置在不断变化,消失的位置也在相应变化,给人感觉就是有拖影或轨迹。

这个思路不错,粒子系统就是典型的发射后不管,其实是godot引擎把后续的事做了。文章来源地址https://www.toymoban.com/news/detail-628463.html

到了这里,关于Godot 4 练习 - 制作粒子的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

    GODOT,是一个免费开源的3D引擎。本文以unity作对比,简述两者区别和选型建议。由于是很久以前写的ppt,技术原因视频和部分章节丢失了。建议当做业务参考。 GODOT目前为止遇到3个比较重大的机遇,第一个是oprea的合作奖,第二个是用支持c#换来的微软的投资,第三个是虚幻

    2024年02月14日
    浏览(79)
  • 使用js原生customElements.define()API 实现类似godot游戏引擎的colorRect类

    一共有两个方案,一个是基于div和css的dom渲染,一个是基于canvas的硬件绘图

    2024年02月08日
    浏览(61)
  • Godot引擎 4.0 文档 - 入门介绍 - Godot简介

    本文旨在帮助您确定 Godot 是否适合您。我们将介绍该引擎的一些广泛功能,让您了解使用它可以实现什么,并回答诸如“我需要了解什么才能开始使用?”等问题。 这绝不是详尽的概述。我们将在本入门系列中介绍更多功能。 Godot 是一个通用的 2D 和 3D 游戏引擎,您还可以

    2024年02月05日
    浏览(73)
  • Godot引擎 4.0 文档 - 手册 - 最佳实践

      本系列是一系列最佳实践,可帮助您高效地使用 Godot。 Godot 在构建项目代码库并将其分解为场景方面提供了极大的灵活性。每种方法都有其优点和缺点,在您使用该引擎足够长的时间之前,很难权衡它们。 总是有很多方法来构建代码和解决特定的编程问题。不可能在这里

    2024年02月09日
    浏览(52)
  • godot引擎c++源码深度解析系列二

    记录每次研究源码的突破,今天已经将打字练习的功能完成了一个基本模型,先来看下运行效果。 godot源码增加打字练习的demo 这个里面需要研究以下c++的控件页面的开发和熟悉,毕竟好久没有使用c++了,先来看以下代码吧。 就这样就实现了文本框,输入框和按钮的实现,以

    2024年02月15日
    浏览(42)
  • 基于Godot的康威的生命游戏

    在_ready()函数中创建了一个“滑翔机”,坐标系以左上角为原点 创建了一个定时器,每隔0.1秒调用一次_on_timer_timeout(),所以更新代码也在这

    2024年02月17日
    浏览(48)
  • Godot引擎 4.0 文档 - 循序渐进教程 - 使用信号

    Using signals — Godot Engine (stable) documentation in English 在本课中,我们将研究信号。它们是节点在发生特定事件时发出的消息,例如按下按钮。其他节点可以连接到该信号并在事件发生时调用函数。 信号是 Godot 中内置的一种委托机制,它允许一个游戏对象对另一个游戏对象的变化

    2024年02月06日
    浏览(67)
  • Godot引擎 4.0 文档 - 循序渐进教程 - 节点和场景

    Nodes and Scenes — Godot Engine (stable) documentation in English 在Godot 关键概念概述中,我们看到 Godot 游戏是一棵场景树,每个场景都是一棵节点树。在本课中,我们将对它们进行更多解释。您还将创建您的第一个场景。 节点是游戏的基本构建块 。它们就像食谱中的配料。Godot中有几十

    2024年02月05日
    浏览(84)
  • 【Godot4自学手册】第三十九节利用shader(着色器)给游戏添加一层雾气效果

    今天,主要是利用shader给游戏给地宫场景添加一层雾气效果,增加一下气氛,先看一下效果: 一、新建ParallaxBackground根节点 新建场景,根节点选择ParallaxBackground,命名为Fog,然后将该场景保存到Component文件夹下。ParallaxBackground 使用一个或多个 ParallaxLayer 子节点来创建视差效

    2024年04月27日
    浏览(32)
  • 【Godot4自学手册】第一节配置Godot运行环境

    各位同学大家好!我是相信神话,从今天开始,我开始自学2D游戏开发,用到的是Godot4。我准备用视频记录整个开发过程,为自学2D开发的同学趟趟路。让我们开始吧。 首先介绍一下Godot是什么东西,在2D游戏开发中是干啥的? Godot是一款自由开源、由社区驱动的 2D 和 3D 游戏

    2024年01月23日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包