RapyutaSimulationPlugins
RRMeshUtils.h
Go to the documentation of this file.
1 
15 #pragma once
16 
17 
18 
19 // UE
20 
21 #include "Materials/MaterialInstanceDynamic.h"
22 
23 
24 
25 // Assimp
26 
27 #include "assimp/Importer.hpp"
28 
29 #include "assimp/mesh.h"
30 
31 #include "assimp/scene.h"
32 
33 
34 
35 // UE
36 
37 #include "ProceduralMeshComponent.h"
38 
39 
40 
41 // RapyutaSimulationPlugins
42 
43 #include "Core/RRCoreUtils.h"
44 
45 #include "Core/RRMeshData.h"
46 
47 
48 
49 #include "RRMeshUtils.generated.h"
50 
51 
52 
53 #define RAPYUTA_MESH_UTILS_DEBUG (0)
54 
55 
56 
72 class RAPYUTASIMULATIONPLUGINS_API URRMeshUtils : public UBlueprintFunctionLibrary
73 
74 {
75 
76 public:
77 
78  static FRRMeshNodeData ProcessMesh(aiMesh* InMesh);
79 
80 
81 
102  static void ProcessMeshNode(aiNode* InNode,
103 
104  const aiScene* InScene,
105 
106  int InParentNodeIndex,
107 
108  int* InCurrentIndex,
109 
110  FRRMeshData& OutMeshData);
111 
112 
113 
114  static bool ProcessTexture(aiMaterial* InMaterial,
115 
116  const aiTextureType InTextureType,
117 
118  const TCHAR* InTextureTypeName,
119 
120  const FString& InTextureBasePath,
121 
122  UMaterialInstanceDynamic* OutUEMaterial);
123 
124  static void ProcessMaterial(aiMaterial* InMaterial, const FString& InMeshFilePath, FRRMeshData& OutMeshData);
125 
126 
127 
128  static FRRMeshData LoadMeshFromFile(const FString& InMeshFilePath, Assimp::Importer& InMeshImporter, float InMeshScale = 1.f);
129 
130 };
131 
URRMeshUtils
Mesh utils with assimp.
Definition: RRMeshUtils.h:72
FRRMeshNodeData
todo
Definition: RRMeshData.h:347
FRRMeshData
todo
Definition: RRMeshData.h:523
RRMeshData.h
MeshData.
RRCoreUtils.h
Core utils.