【Godot4自学手册】第二十六节用GPUParticles2D节点实现地宫入口的奇异光芒

我们的主人公与NPC对话完成后,夜晚来临,在城北有一处乱石岗,出现了奇异光芒,这是地宫的入口,但是有一妖怪把守,我们必须消灭妖怪后才可发现地宫入口。这一节,主要记录利用粒子系统GPUParticles2D节点,实现地宫口的奇异光芒。先看一下效果:
请添加图片描述

一、新建场景和节点

单击新建场景按钮,在场景面板中选择创建其它节点,在弹出创建节点对话框中选择GPUParticles2D节点,最后单击创建按钮,将场景保存到Scenes目录下命名为FantasticLight。
请添加图片描述
选中GPUParticles2D节点,在其检查器中,将GPUParticle2D->Process Material属性选择新建ParticleProcessMaterial。
请添加图片描述

二、设置GPUParticles2D节点属性

1.首先我们准备一张光效素材,如下:
请添加图片描述
2.将该光线素材拖入到GPUParticles2D-》Texture,如下所示:
请添加图片描述

3.在检查器面板找到CanvasItem->Material,将material设置为新建CanvasItemMaterial,操作如下:
请添加图片描述

4.在CanvasItemMaterial面板中LightMode,这个选项是为了在夜幕降临的时候粒子不收光线影响。Pratisles Animation启用,启用的目的是我们的素材是张1*5的动画的素材,所以将Particles Anim H Frames设置为5。
请添加图片描述

5.ParticleProcessMaterial属性面板中Accelerations->Gravity(重力)中x,y,z均设置为0。
请添加图片描述

Spawn->Velocity下, Inital Velocity Min(初始速度最小值)设置为100;Inital Velocity Max(初始速度最大值)设置为200;Direction属性x,y,z均设为0。
请添加图片描述

Display->Animation中,Speed Min(速度最小值)设为1,Speed Max(速度最小值)设为3,这表示的是我们的5帧动画播放速度为1到3之间随机。
请添加图片描述

Display->Scale属性中Scale Min设置为1;Scale Max设置为3,表示粒子在1和3之间进行随机缩放。Scale Curve设置为CureveTexture,在面板Curve属性中,设置曲线如下,表示每个立在先从小变大,在从大变小。
请添加图片描述

Spawn->Angle属性中,Angle Min设置为0;Angle Max设置为360,表示每个粒子旋转角度为0到360之间的随机数。
请添加图片描述

Display->Hue Variation属性中,Variation Min设置为-1;Variation Max设置为1,这样设置会让我们的粒子变得色彩缤纷。
请添加图片描述

这样我们发光粒子就做好了。

三、主场景设置

切换到主场景,单击场景中的实例化子场景按钮,在弹出框中选择FantasticLight场景,这样就把刚才新建的场景添加到主场景中了,重命名DroomLight。然后在文件夹中拖入一张地宫入口的图片到主场景,重命名为DoorRoom。然后调整地宫入口和粒子系统到合适位置,这样地宫入口的奇异光芒就实现完成了。
请添加图片描述

最后我们调整一下逻辑,只用主人公和NPC对完话后,地宫入口和奇异光芒才会出现。因此将DroomLight和DoorRoom节点的Visible属性关闭,表示初始状态下,这两个节点隐藏。最后修改main代码。

func _on_daytime_change(da:int):	 if da==1:get_tree().create_tween().tween_property($DirectionalLight2D,"energy",0.6,2)$DoorRoom.visible=true$DroomLight.visible=trueelse:get_tree().create_tween().tween_property($DirectionalLight2D,"energy",1,2)$DoorRoom.visible=false$DroomLight.visible=false

这段代码的意思是,当夜晚来临的时候,第一步是将整改场景变黑,第二步是地宫入口和光芒显示。
最终效果如下:
请添加图片描述

今天就到这了,下节再见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/754097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python和R的区别是什么,Python与R的应用场景是什么?

如果你这么问,那么你可能正站在数据科学的起点。对于志在成为数据专业人员的你来说,学习编程是无疑的。我想行你早就听过Python 与R的比较之声,并在选择中感到困惑。在此,我想说,也算是一种安慰吧:对于语言…

TypeScript:typescript的安装与运行

TypeScript:typescript的安装与运行 1 安装方式 -g全局安装TypeScript: npm install -g typescript2 运行方式 (1)ts编译成js,使用node命令运行js文件 打开vscode,进入ts文件所在目录下并打开终端term…

【算法】多路归并(鱼塘钓鱼)

有 N 个鱼塘排成一排,每个鱼塘中有一定数量的鱼,例如:N5 时,如下表: 鱼塘编号12345第1分钟能钓到的鱼的数量(1..1000)101420169每钓鱼1分钟钓鱼数的减少量(1..100)24653当前鱼塘到下…

静态综合实验

一,1.搭建拓扑结构并启动。 2.根据题意得该图需要14个网段,根据192.168.1.0/24划分子网段,如下: 划分完如图所示: 二、配置IP地址 R1路由器: 1.进入系统视图并改名. 2.接口配置IP地址&#xff1a…

HTML学习:图片格式——超链接

一、图片格式 1.jpg格式 概述:扩展名为.jpg 或.jpeg ,是一种有损的压缩格式(把肉眼不容易观察出来的细节丢弃了)。 主要特点:支持的颜色丰富、占用空间较小、不支持透明背景、不支持动态图。 使用场景:对图片细节没有极高要求的场景,例如:网站的产品…

Nacos学习笔记

Nacos官网 https://github.com/alibaba/nacos/releases https://www.bilibili.com/video/BV1q3411Z79z 1. Nacos介绍 Nacos是Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。 在这个…

SAP Business Application Studio(BAS)中开发Fiori App的基础知识

1. SAP Fiori Tools SAP Fiori Tools是一套用于支持SAP Fiori应用开发的工具,包括应用模板、可视化编辑器、代码生成、应用预览和集成测试工具等。这些工具可以帮助开发者更快速、更简单地创建和维护SAP Fiori应用。SAP Fiori Tools 可与SAP的开发环境(…

MPIKGC:大语言模型改进知识图谱补全

MPIKGC:大语言模型改进知识图谱补全 提出背景MPIKGC框架 论文:https://arxiv.org/pdf/2403.01972.pdf 代码:https://github.com/quqxui/MPIKGC 提出背景 知识图谱就像一个大数据库,里面有很多关于不同事物的信息,这…

003——移植鸿蒙

目录 一、顶层Make分析 二、添加一个新的单板 2.1 Kconfig 2.2 Makefile 2.2.1 顶层Makefile 2.2.2 platform下的Makefile 2.2.3 platform下的bsp.mk文件 2.3 编译与调试 2.4 解决链接错误 三、内核启动流程的学习 3.1 韦东山老师总结的启动四步 3.2 启动文件分析…

sqllab第二十四关通关笔记

知识点: 二次注入 先埋一个炸弹,然后通过其他路径引爆它 查看界面发现是一个登录框,尝试进行登录框的注入发现这里不存在注入点 那么就注册一个新的账户吧 通过点击注册,进入注册面板,注册一个新的账户 用户名为 re…

2024年发布jar到国外maven中央仓库最新教程

2024年发布jar到国外maven中央仓库最新教程 文章目录 1.国外sonatype仓库的版本1.1老OSSHR账号注册说明1.2新账号注册说明 2.新账号注册(必选)3.新账号登录创建Namespace3.1创建Namespace的名字的格式要求(必选)3.2发布一个静态网站(可选&…

代码随想录算法训练营第day27|93.复原IP地址 、 78.子集 、 90.子集II

93.复原IP地址 93. 复原 IP 地址 - 力扣(LeetCode) 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.1.2.201" 和 …

18 优先级队列

priority_queue介绍 1.优先级队列是一种容器适配器,根据弱排序标准,它的第一个元素总是最大的 2.此上下文类似于堆,堆中可以随时插入元素,检索最大堆元素 3.优先队列实现为容器适配器,容器适配器即将特定容器类封装作…

基于vue实现bilibili网页

学校要求的实验设计,基于vue实现bilibili网页版,可实现以下功能 (1)基本的悬浮动画和页面渲染 (2)可实现登录和未登录的页面变化 (3)在登录页面的,实现密码判断,或者短信验证方式的倒数功能 (4)实现轮播图 (5)实现预览视频(GIF) (6)页面下拉到一定高度出现top栏以及右下角的返回…

蓝桥杯单片机快速开发笔记——超声波测距

一、原理分析 超声波测距是一种常见的测距方法,其原理是利用超声波在空气中传播的速度恒定且较快的特性,通过发送超声波信号并接收回波,计算出物体与传感器之间的距离。以下是超声波测距的原理和应用: 原理: 发送超声…

gma 2.0.7 (2024.03.16) 更新日志

安装 gma 2.0.7 pip install gma2.0.7网盘下载: 链接:https://pan.baidu.com/s/1P0nmZUPMJaPEmYgixoL2QQ?pwd1pc8 提取码:1pc8 注意:此版本没有Linux版! 编译gma的Linux虚拟机没有时间修复,本期Linux版继…

hadoop分布式环境搭建

准备三台centos虚拟机 。(master,slave1,slave2) (hadoop、jdk文件链接:https://pan.baidu.com/s/1wal1CSF1oO2h4dkSbceODg 提取码:4zra) 前四步可参考hadoop伪分布式环境搭建详解-CSDN博客 1.修改主机名…

论文阅读——MoCo

Momentum Contrast for Unsupervised Visual Representation Learning 动量在数学上理解为加权移动平均: yt-1是上一时刻输出,xt是当前时刻输入,m是动量,不想让当前时刻输出只依赖于当前时刻的输入,m很大时&#xff0…

pytorch升级打怪(六)

自动分化 torch.autograd张量、函数和计算图计算梯度禁用梯度跟踪 torch.autograd 在训练神经网络时,最常用的算法是反向传播。在该算法中,根据损失函数相对于给定参数的梯度调整参数(模型权重)。 为了计算这些梯度,…

软件测试6年,我的心路历程。。。

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 现在的大环境下,各行各业都开始内卷起来,测试也不例外,企业要…