vault backup: 2026-05-03 20:37:58
This commit is contained in:
40
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Particle/Particle.md
Normal file
40
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Particle/Particle.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
title: Particle
|
||||
date: 2026-05-03 00:00:00
|
||||
excerpt: ARC 引擎粒子系统修改分类索引
|
||||
tags:
|
||||
- ARC
|
||||
- Particle
|
||||
rating: ⭐
|
||||
---
|
||||
|
||||
# Particle — 粒子系统
|
||||
|
||||
返回 [[ARC引擎修改总览]]
|
||||
|
||||
## 概述
|
||||
|
||||
ARC 引擎对粒子系统的修改较为集中,主要新增了粒子驱动的点光源接口和静态网格切换功能。
|
||||
|
||||
## 功能列表
|
||||
|
||||
| 功能 | 文档 | 说明 |
|
||||
|------|------|------|
|
||||
| 粒子点光源系统 | [[粒子点光源系统]] | IREDPointLightInterface + 静态网格切换 |
|
||||
|
||||
## 其他修改
|
||||
|
||||
### MeshParticle VertexFactory 修复
|
||||
|
||||
修复 4.25 版本的 MeshParticle 放置 Bug:
|
||||
|
||||
```hlsl
|
||||
// MeshParticleVertexFactory.ush
|
||||
#if !PARTICLE_MESH_INSTANCED
|
||||
Result.InstanceLocalToWorld = Primitive_LocalToWorld;
|
||||
#else
|
||||
Result.InstanceLocalToWorld = ParticleTransform;
|
||||
#endif
|
||||
```
|
||||
|
||||
非实例化模式下使用 `Primitive_LocalToWorld` 而非 `ParticleTransform`。
|
||||
68
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Particle/粒子点光源系统.md
Normal file
68
03-UnrealEngine/卡通渲染相关资料/渲染功能/ARC/Particle/粒子点光源系统.md
Normal file
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: 粒子点光源系统
|
||||
date: 2026-05-03 00:00:00
|
||||
excerpt: IREDPointLightInterface 粒子驱动点光源和静态网格切换模块
|
||||
tags:
|
||||
- ARC
|
||||
- Particle
|
||||
- Lighting
|
||||
rating: ⭐
|
||||
---
|
||||
|
||||
# 粒子点光源系统
|
||||
|
||||
返回 [[Particle]]
|
||||
|
||||
## 概述
|
||||
|
||||
新增 `IREDPointLightInterface` 接口,允许粒子系统动态创建和管理点光源。格斗游戏中的特效(火焰、电击、能量弹等)需要动态光照来增强视觉表现。
|
||||
|
||||
## IREDPointLightInterface
|
||||
|
||||
```cpp
|
||||
// REDParticlePointLightUtilities.h
|
||||
class IREDPointLightInterface
|
||||
{
|
||||
// 点光源参数
|
||||
FVector Location; // 位置
|
||||
FLinearColor LightColor; // 光照颜色
|
||||
FLinearColor AmbientColor; // 环境光颜色
|
||||
float Amplitude; // 强度振幅(闪烁)
|
||||
float Frequency; // 闪烁频率
|
||||
float Attenuation; // 衰减
|
||||
float Range; // 范围
|
||||
float Cutoff; // 截止距离
|
||||
float DistanceMultiply; // 距离乘数
|
||||
};
|
||||
```
|
||||
|
||||
## 特性
|
||||
|
||||
- 粒子生命周期绑定——粒子消亡时自动移除对应点光源
|
||||
- 支持振幅和频率控制的闪烁效果
|
||||
- 衰减和截止距离独立控制
|
||||
|
||||
## 静态网格切换模块
|
||||
|
||||
新增 `UParticleModuleStaticMeshSwitch`:
|
||||
|
||||
```cpp
|
||||
// 根据 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 修复 |
|
||||
Reference in New Issue
Block a user