2.0 KiB
2.0 KiB
title, date, excerpt, tags, rating
| title | date | excerpt | tags | rating | |||
|---|---|---|---|---|---|---|---|
| 粒子点光源系统 | 2026-05-03 00:00:00 | IREDPointLightInterface 粒子驱动点光源和静态网格切换模块 |
|
⭐ |
粒子点光源系统
返回 Particle
概述
新增 IREDPointLightInterface 接口,允许粒子系统动态创建和管理点光源。格斗游戏中的特效(火焰、电击、能量弹等)需要动态光照来增强视觉表现。
IREDPointLightInterface
// REDParticlePointLightUtilities.h
class IREDPointLightInterface
{
// 点光源参数
FVector Location; // 位置
FLinearColor LightColor; // 光照颜色
FLinearColor AmbientColor; // 环境光颜色
float Amplitude; // 强度振幅(闪烁)
float Frequency; // 闪烁频率
float Attenuation; // 衰减
float Range; // 范围
float Cutoff; // 截止距离
float DistanceMultiply; // 距离乘数
};
特性
- 粒子生命周期绑定——粒子消亡时自动移除对应点光源
- 支持振幅和频率控制的闪烁效果
- 衰减和截止距离独立控制
静态网格切换模块
新增 UParticleModuleStaticMeshSwitch:
// 根据 SubImage Index 切换粒子使用的静态网格 Section
// 类似 SubUV 的概念但用于 3D 网格的不同部分
用于格斗游戏特效中:同一个粒子发射器根据阶段显示不同形状的网格(如能量球从小到大变形)。
关联文档
- RED阴影系统 — 点光源的阴影着色
- RED自定义数据通道 — 点光源模式下 CustomData 的使用
修改文件列表
| 文件 | 修改类型 |
|---|---|
Source/Runtime/Engine/Public/REDParticlePointLightUtilities.h |
新增 |
Source/Runtime/Engine/Private/Particles/REDParticlePointLightUtilities.cpp |
新增 |
Source/Runtime/Engine/Private/Particles/ParticleModuleStaticMeshSwitch.cpp |
新增 |
Shaders/Private/MeshParticleVertexFactory.ush |
Bug 修复 |