KylerLizi/UE4-Batch-Draw-Mesh-And-OpenGL-Get-Model ...
文章推薦指數: 80 %
GitHub - KylerLizi/UE4-Batch-Draw-Mesh-And-OpenGL-Get-Model-Data: 毕设Demo:基于UE 4.21,通过顶点与面索引Data Table,借助Procedural Mesh Component批量绘制 ...
Skiptocontent
{{message}}
KylerLizi
/
UE4-Batch-Draw-Mesh-And-OpenGL-Get-Model-Data
Public
Notifications
Fork
11
Star
20
毕设Demo:基于UE4.21,通过顶点与面索引DataTable,借助ProceduralMeshComponent批量绘制静态网格体资源并本地化,亦可批量添加精确的凸包碰撞。
VS项目使用OpengGL与C++获取模型顶点及面索引,优化存储结构,输出为CSV直接供UE4绘制StaticMesh。
20
stars
11
forks
Star
Notifications
Code
Issues
0
Pullrequests
0
Actions
Projects
0
Wiki
Security
Insights
More
Code
Issues
Pullrequests
Actions
Projects
Wiki
Security
Insights
Thiscommitdoesnotbelongtoanybranchonthisrepository,andmaybelongtoaforkoutsideoftherepository.
master
Branches
Tags
Couldnotloadbranches
Nothingtoshow
{{refName}}
default
Couldnotloadtags
Nothingtoshow
{{refName}}
default
1
branch
0
tags
Code
Latestcommit
Gitstats
12
commits
Files
Permalink
Failedtoloadlatestcommitinformation.
Type
Name
Latestcommitmessage
Committime
Config
Content
Screenshot
Source
VSProject_GetMeshInfoCSV
.gitignore
MineBlast.sln
MineBlast.uproject
README.md
Viewcode
UE4-Batch-Draw-Mesh-And-OpenGL-Get-Model-Data
2019.02.01-2019.06.01(毕设开发周期,期间还在忙国庆仿真)
UE4部分使用说明
文件/文件夹说明
VS项目部分使用说明
文件/文件夹说明
README.md
UE4-Batch-Draw-Mesh-And-OpenGL-Get-Model-Data
2019.02.01-2019.06.01(毕设开发周期,期间还在忙国庆仿真)
本人毕设题目是基于UE4的矿山爆破仿真系统。
导师会提供给我矿山模型的13万条顶点坐标与三角面索引数据集,我使用该Demo在UE4中绘制了这9300个碎石组成了矿山模型。
(画面简陋到现在的我无法直视,现在想想还是Houdini做比较适合)
UE4部分使用说明
详细的技术细节我总结在了CSDN博客,这里只做简单的说明与展示:
【UE4C++】由点面数据,批量绘制ProceduralMesh并转化为StaticMesh资产
【UE4Blueprint】ProceduralMeshComponent绘制自定义模型并转为StaticMesh
【UE4】如何使用EditScriptingUtilities在蓝图中为大量静态网格体设置自动凸包碰撞
【UE4C++】无法打开源文件"ProceduralMeshComponent.h"的解决办法
【UE4C++】RawMesh.h引用报错
在关卡蓝图中配置好数据表格与输出的静态网格体名称,运行按下1或2键对应生成一或多个网格体资源。
注:运行绘制结束后记得在内容浏览器中对创建的模型重置化本地ID,因为它们暂时还是临时资源。
文件/文件夹说明
Content
Blueprint 绘制单个/多个Mesh、批量添加凸包碰撞的蓝图
Data 存放单个/多个Mesh的顶点与面索引的数据表格、结构体
Mesh 绘制模型资源保存路径,可在PMConvertSM.cpp中配置
Source UE4C++ProceduralMesh转换为StaticMesh代码
VS项目部分使用说明
详细说明:【OpenGLC++UE4】获取模型顶点及面索引数据,并优化存储结构供UE4绘制
在ModelLoad-UseAssimp.cpp中"Model/Teapot.obj"配置读取模型的路径,#defineSHOW_WIREFRAME配置是否开启模型线框显示。
在Mesh.h中配置是否开启Mesh数据导出,若声明#defineEXPORT_MODEL_DATA则导出,注释仅读取并在窗口中绘制模型。
文件/文件夹说明
VSProject_GetMeshInfoCSV
GetMeshInfo
Config 需要的OpenGL第三方库环境,GLFW、GLAD、ASSIMP、GLM、stb_image
MeshData 输出的顶点与面索引CSV表格,用于导入UE4
Model 存放待读取obj模型,这里有一个三棱锥和茶壶作示例
ShaderSource OpenGL渲染模型的顶点与片段着色器
Camera.h 窗口摄像机控制逻辑
Mesh.h 处理网格信息,网格代表的是单个的可绘制实体
Model.h 处理模型信息,模型包含多个网格,甚至是多个物体
Shader.h 编译着色器项目
MeshInfoCSV.h 重复顶点数据去除、索引更新、打印适用于导入UE4的CSV表格
ModelLoad-UseAssimp.cpp main函数所在,管理整个项目各个模块
About
毕设Demo:基于UE4.21,通过顶点与面索引DataTable,借助ProceduralMeshComponent批量绘制静态网格体资源并本地化,亦可批量添加精确的凸包碰撞。
VS项目使用OpengGL与C++获取模型顶点及面索引,优化存储结构,输出为CSV直接供UE4绘制StaticMesh。
Resources
Readme
Stars
20
stars
Watchers
2
watching
Forks
11
forks
Releases
Noreleasespublished
Packages0
Nopackagespublished
Languages
C++
69.2%
C
29.0%
Objective-C
1.7%
Other
0.1%
Youcan’tperformthatactionatthistime.
Yousignedinwithanothertaborwindow.Reloadtorefreshyoursession.
Yousignedoutinanothertaborwindow.Reloadtorefreshyoursession.
延伸文章資訊
- 13D Mesh Processing and Character Animation - Agenda ...
3D Mesh Processing and Character Animation: With Examples Using OpenGL, OpenMesh and ... kinemati...
- 2OpenGL Mesh Class - c++ - Code Review Stack Exchange
OpenGL Mesh Class ... I've written a simple mesh class. The purpose of it is to build a mesh, dra...
- 3KylerLizi/UE4-Batch-Draw-Mesh-And-OpenGL-Get-Model ...
GitHub - KylerLizi/UE4-Batch-Draw-Mesh-And-OpenGL-Get-Model-Data: 毕设Demo:基于UE 4.21,通过顶点与面索引Data T...
- 4C++ OpenGL mesh rendering - Stack Overflow
OpenGL generate triangle mesh - c++ - Stack Overflow
- 5网格
我们最终的目的是把这些数据转变为OpenGL可读的数据,才能用OpenGL来渲染物体。我们从前面的教程了解到,一个网格(Mesh)代表一个可绘制实体,现在我们就定义一个自己的 ...