问题标签 [ogre3d]

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.

0 投票
2 回答
9153 浏览

c++ - Bullet Physics - 在身体的局部空间中应用扭矩脉冲

我目前正在为我正在使用 C++ 和Ogre3D编写的 3D 太空游戏评估Bullet 物理库。通过从 btMotionState 派生并插入我的 SceneNodes,我已经很好地集成了 Ogre3D 和 Bullet,但是现在我在计算应该传递给 btRigidBody::applyCentralImpulse 和 btRigidBody::applyTorqueImpulse 方法以实现的值时遇到了很多麻烦我正在寻找的结果。

当我按下键盘上的 LEFT 或 RIGHT 键时,我希望飞船在本地 Z 轴上滚动。当我按下 UP 或 DOWN 时,我希望它在本地 X 轴上倾斜。当我按下 A 或 Z 时,我希望它在局部 Z 轴的方向上加速/减速。我可以使用一些四元数数学在 Ogre 中完美地实现这一点,并直接在 SceneNode 上应用平移/旋转,但我真的想使用力/扭矩方法在子弹引擎中应用这些值,以便它继续移动/俯仰/滚动即使在用户停止按键之后,摩擦力也会作用在对象上,使其在必要时减慢速度。

那么,我如何计算提供给这两种脉冲方法的必要值,以确保脉冲根据身体当前的方向而不是使用世界轴进行作用?

谢谢,马克

更新:

我能够计算出向前和向后运动所需的脉冲,但我仍在努力调整偏航/俯仰/滚动值的方向,以便将它们与扭矩脉冲法一起使用。这是我进行向前/向后运动的方式:

0 投票
2 回答
39694 浏览

math - 两个四元数之间的“差异”

我在食人魔工作,但这是一个普遍的四元数问题。

我有一个对象,我最初对其应用旋转四元数 Q1。后来,我想让它就像我最初用不同的四元数 Q2 旋转对象一样。

如何计算四元数,该四元数将采用已经由 Q1 旋转的对象,并将其对齐,就好像我所做的只是将 Q2 应用于初始/默认方向一样?我正在查看(s)lerping,但我不确定这是否仅在方向而不是旋转上有效?

0 投票
2 回答
3813 浏览

c++ - 如何在 OGRE 中使用 SDL?

当我将OGRESDL一起使用时(如本文所述),我似乎遇到了出现在主渲染窗口后面的第二个窗口的问题。基本上,我使用的代码是这样的:

问题是,我如何摆脱额外的窗口?

只是为了后代,我使用的是 OGRE 1.6.4、Mac OS X 10.6.2 和 SDL 1.2.14。

0 投票
2 回答
2789 浏览

c++ - 多显示器 3D 应用程序

我遇到了一个 C++ 3D 应用程序项目,该项目将使用 3 台显示器,每台显示器都来自不同的相机。

最近我了解了 Ogre3D,但不清楚它是否支持将不同的相机输出到不同的显示器/GPU。

有没有人有类似的设置和食人魔或其他引擎的经验?

0 投票
1 回答
479 浏览

c++ - Ubuntu 上的 Ogre3D 基本框架问题

我一直在尝试学习使用 Ogre3D,并且已经到了想要开始比它附带的示例更严肃的阶段,所以我找到并复制了Basic Ogre Framework

我使用的是 Ubuntu 9.10,但是已经从 Ogre3D 网站编译了 Ogre 1.7,我使用的是带有 c++ 插件的 Netbeans 6.8 IDE。

Basic Ogre Framework Demo App 编译并运行,但进入主循环,检查渲染窗口是否处于活动状态,否则调用sleep(1000);

正在检查的 if 语句if(OgreFramework::getSingletonPtr()->m_pRenderWnd->isActive())总是返回 false,尽管专门设置了m_pRenderWnd->setActive(true);

从阅读相关的论坛帖子来看,没有其他人遇到这个问题,但他们主要使用 Windows 或 Mac。

Ubuntu上的Ogre3D是否存在问题,或者netbeans生成的自动生成的makefile可能存在问题?

0 投票
1 回答
367 浏览

c++ - Ogre3d restoreConfig 导致应用程序在 Ubuntu 上挂起

使用 Ogre3D、CEGUI、OIS 为 Ubuntu 构建一个应用程序,现在所有这些都可以按预期编译和运行。运行基本应用程序后,我决定现在构建一个自定义配置文件,我可以存储图形设置(即分辨率、全屏等)以及我在应用程序中需要的其他可配置设置。

作为起点,我从每次启动时调用 mRoot->showConfigDialog() 更改为:

这是为了从存在的“ogre.cfg”文件中恢复配置,所以它确实做到了,但是在第一个场景创建时加载了天空盒纹理,只是坐在那里什么都不做。

由于这不是我想要的,所以我尝试手动设置,例如:

这些与我之前在 showConfigDialog() 函数中使用的“ogre.cfg”中的设置相匹配。然而,我在这个手动配置中遇到了同样的问题,在加载天空盒纹理时它只是停止了。

我无法弄清楚为什么这些更改对应用程序的运行方式有任何影响,并且由于 OIS 获取输入并将鼠标锁定在屏幕上,我在尝试使用 gdb 调试它时遇到了麻烦。

0 投票
1 回答
90 浏览

c++ - 无法修改嵌入在 C++ 中的 Python 代码中 time.time() 返回的值

我面临一个非常奇怪的问题。

以下代码:

在从 C++(嵌入)调用的 Python 代码中不起作用!

target_time 与 time.time() 具有相同的值,并且任何修改它的尝试都会在 pdb 控制台中保持该值不变...

替代文字 http://dl.dropbox.com/u/3545118/time_bug.png

它发生在我在 Ogre3D 图形引擎中调用 root.initialise() 之后,但仅在使用 Direct3D 时发生,而不是在使用 OpenGL 时。

所以这可能与Direct3D有关......

0 投票
2 回答
3508 浏览

qt - 在 Qt 中集成 OGRE 1.7

我需要在 Qt 4 中集成 Ogre 3d。我发现了一些不幸过时的代码和建议。我喜欢这个教程

http://irmatden.developpez.com/tutoriels/qt/integration-ogre-qt/

它适用于 Ogre 1.4.9 (Eihorn),但不适用于最新版本 1.7.0。使用最近的应用程序编译应用程序会导致链接器错误

什么可能导致这种情况,我该如何解决?

0 投票
2 回答
1303 浏览

windows - 如何在 Ogre 中获得无窗口应用程序?

我正在尝试创建一个无窗口的 Ogre 应用程序,但该应用程序似乎完全忽略了 RenderWindow::setVisible(false) 方法。有没有办法做到这一点?


谢谢托马索_

0 投票
1 回答
407 浏览

c++ - 启用 Direct3D 特定功能(透明度 AA)

我正在尝试在我的 Ogre-Direct3D 应用程序中启用透明抗锯齿,但它不起作用。

此方法取自NVidia 的技术报告

可以通过 NVIDIA 控制面板手动启用透明度 AA,但我当然不能要求我的用户这样做。有人有什么想法吗?

感谢您的时间,

账单