vault backup: 2023-12-22 15:10:13
This commit is contained in:
parent
71344045cb
commit
b60465bf2e
@ -62,6 +62,14 @@
|
||||
"lastUpdated": 1703216792464
|
||||
}
|
||||
}
|
||||
},
|
||||
"AlbedoTint、CropEnabled、CropTranslation、CropRotation、CropExtent;texture_width、texture_position、texture_rotation、texture_scaleAndOpacity。": {
|
||||
"AlbedoTint、CropEnabled、CropTranslation、CropRotation、CropExtent;texture_width、texture_position、texture_rotation、texture_scaleAndOpacity。": {
|
||||
"currentFile": {
|
||||
"count": 1,
|
||||
"lastUpdated": 1703225931596
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -11,11 +11,22 @@ rating: ⭐
|
||||
- FThreeDGaussians——可以理解为一个场景或者根节点
|
||||
- FThreeDGaussiansTree——类似BVH的空间切分树
|
||||
- FThreeDGaussiansData——具体数据
|
||||
-
|
||||
- ply点云文件导入,流程如下
|
||||
- FThreeDGaussiansImporterModule::PluginButtonClicked()
|
||||
- LoadPly(),载入`TArray<FThreeDGaussian>`数据。
|
||||
- 进行排序
|
||||
- 初始化一个`TArray<FThreeDGaussianSortPair> unsorted`并且进行排序。
|
||||
- 取得各种排序用参数DO_SPLIT_BY_3D_MORTON_ORDER、DO_SPLIT_BY_DISTANCE、MAX_TEXTURE_WIDHT、MAX_NUM_PARTICLES
|
||||
- 采用莫顿码分割法、距离排序法。
|
||||
- 莫顿码分割法:使用莫顿码进行排序,之后进行空间分割,构建一个三维加速结构。当当前区域点云数量小于MAX_NUM_PARTICLES后调用CreateDatum()。
|
||||
- 距离排序法:根据Position上三个分量中最大绝对值进行排序,之后调用CreateDatum()。
|
||||
- CreateDatum()
|
||||
- Sort3dMortonOrder()排序。
|
||||
- CreateExr()创建Exr Texture文件。
|
||||
- 将上一步创建的文件导入UE。
|
||||
- CreateActorBpSubclass(),创建3DGaussians蓝图Actor,并且查找SetData函数并且将数据塞入。
|
||||
|
||||
|
||||
|
||||
## 相关代码
|
||||
## FThreeDGaussians代码
|
||||
```c++
|
||||
struct FThreeDGaussiansData
|
||||
{
|
||||
@ -79,4 +90,22 @@ public:
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "3D Gaussians") TArray<FThreeDGaussiansData> data;
|
||||
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "3D Gaussians") TArray<FThreeDGaussiansTree> tree;
|
||||
};
|
||||
```
|
||||
```
|
||||
|
||||
# BP_3D_Gaussians_Base
|
||||
- BeginPlay:判断三维加速结构是否还子节点,如果有则开启Tick进行排序。
|
||||
- Tick:根据摄像机位置对三维加速结构进行排序。
|
||||
- ConstructionScript:
|
||||
1. 添加Niagara粒子组件,一个FThreeDGaussiansData生成一个粒子组件。
|
||||
2. 设置Niagara资产:NS_3D_Gaussians_sh0_mesh(勾选mesh选项)、NS_3D_Gaussians_sh0(SH角度)、NS_3D_Gaussians_sh1、NS_3D_Gaussians_sh2、NS_3D_Gaussians_sh3
|
||||
3. 设置粒子材质属性:
|
||||
1. AlbedoTint
|
||||
2. 剔除设置:CropEnabled、CropTranslation、CropRotation、CropExtent
|
||||
3. 数据贴图(FThreeDGaussiansData):texture_width、texture_position、texture_rotation、texture_scaleAndOpacity。
|
||||
4. SH数据贴图(FThreeDGaussiansData):根据角度设置Niagara里texture_sh_X的贴图。
|
||||
5. 社会中剔除空间 CropTranslations、CropRotators、CropExtents、KillTranslations、KillRotators、KillExtents。
|
||||
|
||||
# Niagara
|
||||
剔除方式:
|
||||
|
||||
## 材质
|
||||
|
Loading…
x
Reference in New Issue
Block a user