首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从文件加载Bullet物理网格

从文件加载Bullet物理网格
EN

Stack Overflow用户
提问于 2011-02-10 07:46:30
回答 2查看 2.3K关注 0票数 1

我正在尝试使用Ogre和Bullet来设置一个城市环境,但我在弄清楚如何将网格加载到Bullet时遇到了麻烦。谷歌显示了对Collada进口商的引用,但似乎已从SVN中删除。

Ogre网格将是最好的导入,但我也有.dae和.blend文件,如果可能的话,可以使用这些文件。

EN

回答 2

Stack Overflow用户

发布于 2011-02-17 00:07:23

在Irrlicht中使用Bullet时,我也有同样的要求。除了自己编写物理加载代码之外,我找不到任何解决方案。我在3d编辑器中使用了对象命名约定,在加载模型时,我遍历子对象并为每个标记的对象构造一个合适的btRigidBody。

例如。

代码语言:javascript
复制
        if (needsBody) {
            if (prefix == "ball") {
                body = createSphereBody(mesh, density);
            }
            else if (...

关节也是如此:

代码语言:javascript
复制
            if (parent && parent->body) {
                // add constraint
                ...
                if (prefix == "ball") {
                    // ball/socket joint                    
                    constraint = new btGeneric6DofConstraint(
                            *parent->body, *body, frameInA, frameInB, true);
                }
                else if (...

createSphereBody()函数根据网格顶点计算半径。

希望这能有所帮助。

票数 3
EN

Stack Overflow用户

发布于 2013-11-28 03:12:35

如果使用3DS Max进行建模,则可以使用OgreMax插件导出OGRE的场景,使用3DS Max的项目符号插件导出物理对象。您可以将这两个集合分别加载为OGRE节点和bullet对象,并根据它们的名称组合物理/图形模型。

这就是我在我自己的游戏中是如何做到的:

来源:https://github.com/SabinT/Wings-Of-Chaos

演示:http://www.youtube.com/watch?v=eryWgIuqC7I

我很久以前就停止了这方面的工作,但希望这段代码能对从事Ogre/Bullet工作的人有所帮助。也许有人会从中收集一些有用的代码。

您可能对CsGameLevel.cpp文件感兴趣。Load()方法首先加载Ogre场景,然后通过LoadStaticGeometry()方法加载项目符号刚体。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4951896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档