位置: 编程技术 - 正文

Bullet之了解Force Torque Impulse

编辑:rootadmin

推荐整理分享Bullet之了解Force Torque Impulse,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

在了解Force Impulse Torque 之前,先来看看setLinearVelocity,setAngularVelocity

一个是线速度,一个是角速度

理解起来是很简单的设置body的线速度和角速度

现在来了解Force

applyCentralForce 给body提供一个作用力,查看源码

可知在body原有作用力的基础上再加force*m_linearFactor,至于这个m_linearFactor

就是对施加的力三个方向各缩放一定的倍数。

applyForce 同样是给body提供一个作用力,

向量的叉乘得到垂直于这两个向量的另一个向量

rel_pos.cross(force*m_linearFactor)可以得到扭转力

假设force = (0, 0, -), rel_pos = (0, 1, 0),

Force * rel_pos = (-, 0, 0),得到绕x轴的扭转力

记住applyForce并不是单独施加力

现在来看Torque

Bullet之了解Force Torque Impulse

前面的applyForce已经提到过,提供一个扭转力

假设torque = (, 5, -)

就是绕torque.normalize这个轴旋转。

现在来了解Impulse

把所有的Impulse都列了出来,关于冲量的介绍可以看百科。

既然要用,简单理解impulse * 质量的倒数 = 增加的速度(线速度或者角速度)

看源码就知道了applyCentralImpulse,applyImpulse就跟applyCenterForce 和 applyForce 差不多

如果要用Force使body移动就要每帧都去施加力,Impulse是瞬间提供一个速度,只在需要时施加

对于set****Factor只有在apply***时才使用,而set***Velocity不使用。

void clearForces ()

清除施加的Force和Torque,但body还是会受重力的影响。

_ballBody->setActivationState(ACTIVE_TAG);

当然在施加作用力时,要将body的状态设置为活动,只有活动的对象才能被模拟,这也是优化的一个方面。

没有源码,没有示例,只是简单了解,不足很多,只为学习。

cocos2dx文字描边问题解决 很久以前做过的事了,突然想到就拿出来分享下,也顺便复习复习。cocos2dx的文字描边一直有问题,ios和android的显示都不正确,后者是描边很黑,遇见

cocos2dx quicxk 3.3 导入Json文件布局 UI localmyUILoader=cc.uiloader.new()localnode,width,height=myUILoader:load(UIJsonExport/loginFrame.Json)node:addTo(self)spanstyle=white-space:pre/span--localloginButton=myUILoader:seekNodeByName(node,log

cocos2dx3.1.1版本的手机屏幕适配 1.这是AppDelegate里的方法boolAppDelegate::applicationDidFinishLaunching(){//initializedirectorautodirector=Director::getInstance();autoglview=director-getOpenGLView();if(!glview){glview=GLView::

本文链接地址:https://www.jiuchutong.com/biancheng/372702.html 转载请保留说明!

上一篇:cocos2dx触摸摇杆(coco触控)

下一篇:cocos2dx文字描边问题解决(cocos2dx ui编辑器)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络