问题标签 [assimp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cmake - 使用 cmake 进行 Assimp
我想使用 CMake 将 assimp 包含到我的项目中。我有 Ubuntu 14.04 LTE 和 QTCreator。项目包含 main.cpp 和存储在 libs 目录中的链接库。
主 CMakeLists.txt
libs 目录中的 CMakeList.txt
我收到以下错误。
libs/assimp-3.1.1/code/CMakeLists.txt:725(安装)处的 CMake 错误:安装 TARGETS,因为静态库目标“assimp”没有归档目标。
这一点是我的
如何正确链接这个库?
c++ - Assimp 和 Visual Studio:错误 0xc000007b
我已经编译并将 assimp 的 32 位库链接到一个针对 32 位平台的程序,其中链接了所有其他 32 位库。我已将相关的 32 位二进制文件放入“调试”文件夹。当我编译程序时,没有错误;也没有链接器错误。但是,有一个运行时错误:
The application was unable to start correctly (0xc000007b). Click OK to close the application.
从我收集到的信息来看,这有点不匹配,因此某些库的位版本存在差异。我正在运行 Windows 7 64 位。因为我使用的是 32 位库和二进制文件,所以我看不出怎么会有一点不匹配(如果这是原因的话)。如何解决此错误?
请不要关闭这个问题!这不是重复的;我只需要有关如何解决此错误的帮助。
c++ - 如何让 assimp 使用 C++ 在 Opengl 中工作?
我一直试图让 Assimp 库在我的项目中工作,但在每一点我都遇到问题。我找不到任何关于使用 Assimp 库进行编码的信息,并且我什至试图将其链接到我的项目。
现在尝试将 Assimp 链接到我的项目给了我这个错误:
错误 3 错误 MSB3073:命令“复制“Debug\SimpleOpenGL.exe”..\bin 复制..\bin\assimp_debug-dll_Win32\Assimp32d.dll ..\bin
:VCEnd" 以代码 1 退出。C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets 113
知道这个错误是什么吗?我真的不明白。
c++ - Assimp 对现有 aiVector3D 的访问冲突
我正在使用以下代码.obj
使用 Assimp 加载文件。纹理坐标出现问题。我尝试访问的 aiVector3D 存在,但是一旦我将值存储在临时变量中,它就会使我的应用程序崩溃。
这是我使用的代码:
它在该行崩溃printf("uvCoordinates: %f %f %f\n", uvCoordinates.x, uvCoordinates.y, uvCoordinates.z);
,但如果我删除该行,它在newMesh->m_Vertices[i].u = uvCoordinates.x;
. 如果我注释掉,将顶点的和printf()
都设置为并且根本不使用,它仍然在线崩溃。如果我不加注释,它会打印 的值,但之后会引发访问冲突。u
v
0.0f
uvCoordinates
newMesh->m_Vertices[i].u = uvCoordinates.x;
printf()
uvCoordinates
老实说,我在这里没有想法。这是一个屏幕截图,显示了我解释的内容。
animation - Assimp 网格缺失骨骼
我正在研究骨骼动画并陷入了这个非常奇怪的问题。
使用 ASSIMP 导入 .dae 模型。
我已经加载了模型的骨骼层次结构(节点),但是mesh->mBones 只包含 10 个骨骼,而总共有 29 个。我认为只有那些在转换过程中处于活动状态,但不,事实并非如此。活动骨骼缺失。
阅读场景时,我使用aiProcess_ValidateDataStructure Importer 不会引发任何错误。
确切的问题是我没有获得骨骼权重所需的所有 aiBone 结构。是出口不好还是别的什么?
我正在附加对象模型和场景。感谢所有帮助。 https://skfb.ly/CDIu
c++ - 你可以让 Visual Studio 12 输出 .o 文件而不是 .obj 吗?
我正在尝试使用 Assimp 使用文件格式加载 3d 对象文件.obj
。.obj
现在这与使用格式作为链接器对象的 VC++ 编译器和链接器不太好。我可以让 Visual Studio 改用文件扩展名.o
吗?
android - 使用附加库 (Assimp) 在 Qt 上构建 android 应用程序
您好我正在尝试将 OpenGL 桌面应用程序移植到 android。我对 android 开发一无所知,所以我依赖 Qt Creator 来打包应用程序。作为设置的一部分,我在 android ndk 中使用以下设置调用了“make-standalone-toolchain”脚本
然后我使用 android-cmake 并将我新创建的独立工具链的路径传递给它,它在我的 assimp 目录树中创建了 libassimp.so、libassimp.so.3 和 libassimp.so.3.1.1(ln)。
我将 libassimp.so 路径传递给“附加库”下的 Qt 创建者项目构建菜单。但是,在 android 上部署应用程序时,它会崩溃并出现错误:
我什至可以在 ../android-build/libs/armeabi-v7a 的项目构建目录中看到 libassimp.so(不是 libassimp.so.3)文件。
不知道从哪里开始,手动将 libassimp.so.3 放在这个位置并不能解决问题。谢谢阅读。我将在您的反馈中添加更多信息。请原谅任何信息不足,因为这是我第一次使用 android 进行实验。
以下是 deployment-settings.json 文件
更新:
我现在已经尝试过这个.. 用后者的副本替换所有指向 assimp.so.3.1.1 的链接,所以现在我的库 libassimp.so.3 是一个文件,而不是指向 libassimp.so.3.1.1 的链接。我手动将 libassimp.so.3 添加到我的项目子文件夹 android/libs/aremabi-v71 --- 不好。我确认我的构建目录显示了所有 libassimp 文件,因为我手动添加了它们,因此推测它们正在被部署,但错误仍然存在:
我什至在我的 android 的 assimp 构建目录上运行 cmake 后编辑了 link.txt 文件,用 -soname,libassimp.so 更改条目 -soname,libassimp.so.3 但它仍然使用它的创建 libassimp.so.3.1.1两个链接,即 libassimp.so.3 和 libassimp.so。所以还是卡住了。。
directx - 透视投影似乎是错误的,模型的较近部分显得更小,反之亦然
我正在尝试 D3D11 并努力正确渲染模型。
这是我的问题;虽然我的世界和视角转换似乎是正确的,但
我的视角转换似乎是错误的。
当我第一次渲染模型时,感觉有些不对劲,所以我尝试旋转模型以查看它是什么。
然后我注意到,模型靠近相机的部分看起来更小,而更远的部分看起来更大。
如果它是相关的,我正在使用 assimp 来加载我的模型,这就是我的做法。
这就是我构建投影矩阵的方式。
我摆弄了 XMMatrixPerspectiveFovLH 的 nearZ 和 farZ 参数。
我尝试每帧逐渐增加farZ,然后意识到随着值的增加,远裁剪平面越来越靠近相机,这与我想象的完全相反。
在顶点着色器中,这就是我对顶点位置所做的事情。这是非常基本的。
模型在位置、缩放、旋转和视图位置方面正确渲染。
所以我假设世界和视图变换很好,问题在于投影矩阵。
总而言之,我认为投影顶点的 Z 值以某种方式“翻转”。
我用谷歌搜索了很多次都无济于事。
如果有人能指出我可能做错了什么,将不胜感激。
如果您需要查看我的一些代码来提供帮助,请告诉我。
visual-studio-2012 - 打开从 CMake 生成的代码
我正在尝试构建 Assimp 以在 Visual Studio 2012 中使用。
按照他们网站上的说明:http: //assimp.sourceforge.net/lib_html/cmake_build.htm我尝试构建 assimp,但是我被困在最后一步“打开生成的解决方案/项目文件并玩得开心”
这是由 CMake 创建的构建文件夹 - http://puu.sh/fq8kp/cc16e985c3.png
按照另一个教程的建议,我在终端中打开了它并尝试输入“make”并启动它。但是没有make文件,所以这不起作用。我还输入了“安装”,因为有一个安装文件,但这也不起作用。
教程如下:
- 输入“make”并启动它;你应该看到构建没有问题
- 构建完成后,输入“sudo make install”;它将询问您的密码并安装库!
任何帮助将非常感激!
.net - 在 Mono/Linux 下编译 Assimp.NET
我正在尝试在 Ubuntu 上使用MasterQ32 的 OpenWorld.Engine 。我遵循了“文档”中的示例场景。一切都运行良好,除了资产导入。有趣的是,同样的错误也发生在 Windows 7 上:Assimp.NET's library loader can't find kernel32.dll
. 下面是堆栈跟踪:
这是我正在使用的代码,与文档中的代码基本相同:使用相机和单个对象设置场景。我正在使用存储库中提供的资产,并且我验证了资产路径是正确的。