gpt4 book ai didi

c++ - 从变换矩阵向右向上 vector 前进

转载 作者:行者123 更新时间:2023-11-28 04:03:34 26 4
gpt4 key购买 nike

如何从转换矩阵中获取前向、右向和向上 vector ?

我想以这些 vector 为基础,向不同方向的刚体施加力。

btTransform Trans = _RigidBody->getWorldTransform();

btVector3 Forward; // ???
btVector3 Right; // ???
btVector3 Up; // ???

_RigidBody->activate(true);
//
// Move forward/backward
_RigidBody->applyCentralForce(Forward * 5);
_RigidBody->applyCentralForce(-Forward * 5);
//
// Jump
_RigidBody->applyCentralForce(Up * 5);
//
// Move left/right
_RigidBody->applyCentralForce(Right * 5);
_RigidBody->applyCentralForce(-Right * 5);

我还有一个 GLM 模型矩阵,它本质上是 glm::mat4 中子弹变换矩阵的拷贝,我可以在这里使用它并将生成的 vector 转换为子弹,但会很多宁愿在整个这一部分都呆在弹丸之地。

最佳答案

您应该始终明确说明您使用的是什么库。我假设,你使用 this .

operator() 为您提供变换后的 vector 图像,因此我假设,以下操作符合您的要求:

btVector3 Forward = Trans(btVector3{1,0,0});

关于c++ - 从变换矩阵向右向上 vector 前进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59130784/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com