[UE][C++]Assimp库安装编译,UE_Assimp插件安装使用,各种三维格式转换
- 写在前面
- 1.作者碎碎念
- 2.结果
- 1.需要准备的软件
- 2.Assimp库编译步骤
- 3.UE_Assimp插件的安装
- 4.UE_Assimp插件样例使用
- 5.Assimp库各种三维格式转换小程序
写在前面
1.作者碎碎念
(待更)
2.结果
(待更)
截图
视频演示
1.需要准备的软件
01.CMAKE(3.25版本https://cmake.org/download/)
选这个选项是因为好安装。其他选项也可以。
02.Git(2.37.1.64https://git-scm.com/downloads)
03.VS(本文用的是VS2022)
自己找教程安装
2.Assimp库编译步骤
视频演示链接地址:(待更)
1.下载Assimp库源码:https://github.com/assimp/assimp/releases
2.用CMAKE编译一下。
稍等一会
3.对比一下勾选的选项,一般情况下默认。
4.Generate。
5.打开Build文件夹下的Assimp.sln,选Release,重新生成方案。
得到如下结果:
6.按照如下配置config.h文件。
3.UE_Assimp插件的安装
网不好就会失败多次
多刷新刷新GitHub源码页面
下载完成,检查一下是否成功
生成解决方案
运行
4.UE_Assimp插件样例使用
(PS:截止2022.11.18,此蓝图无法准确实现各种格式模型导入到UE场景)
5.Assimp库各种三维格式转换小程序
注:参数在命令行中改变,且为双斜杠。
直接上源代码:
#include <iostream>
#include <assimp\Importer.hpp>
#include <assimp\scene.h>
#include <assimp\postprocess.h>
#include <assimp\Exporter.hpp>
void FindMeshInfo(const aiScene *scene,aiNode *node) {
std::cout << node->mName.C_Str() << std::endl;
if (0==node->mNumMeshes) {
return;
}
auto mesh = node->mMeshes;
}
void FindMesh(const aiScene *scene, aiNode *node) {
FindMeshInfo(scene,node);
for (unsigned int m = 0; m < node->mNumChildren;++m) {
FindMesh(scene,node->mChildren[m]);
}
}
int main(int argc, char* argv[])
{
Assimp::Importer mImporter;
const aiScene* mScenePtr = mImporter.ReadFile(argv[1], aiProcess_Triangulate);
if (nullptr ==mScenePtr) {
std::cout << "ERROR!nullptr==mScenePtr" << std::endl;
return -1;
}
auto rootNode = mScenePtr->mRootNode;
FindMesh(mScenePtr,rootNode);
Assimp::Exporter mExporter;
mExporter.Export(mScenePtr, argv[2], argv[3]);
std::cout << "SUCCESS!The conversion is successful." << std::endl;
return 0;
}
参考:
1.https://github.com/assimp/assimp
2.https://github.com/irajsb/UE4_Assimp
3.https://github.com/irajsb/UE4_Assimp/wiki/How-To-Build
4.https://blueprintue.com/blueprint/inhg2zu3/#comment-1573
5.https://www.jianshu.com/p/4f3a1271ce0b
6.https://blog.csdn.net/u012278016/article/details/105788231
7.https://zhuanlan.zhihu.com/p/514558219
-----------------------------------------------未整格式待整--------------------------------------------------