游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1451|回复: 1

碰撞后无规则运动的烦恼,恳请大侠救命 555555555~~~~~~~

[复制链接]

19

主题

36

帖子

36

积分

注册会员

Rank: 2

积分
36
发表于 2008-5-16 14:41:00 | 显示全部楼层 |阅读模式
是这样的,汽车撞到路障上,要求汽车震几下,然后停止,现在呢,是震完后开始无规则运动,我想把无规则运动给去掉,只保留"震"的效果,
其中路障的刚体在Application中的CreateScene()函数中,代码:
OgreNewt::Collision* col = new OgreNewt::CollisionPrimitives::Cylinder(m_World, 2.5, 5);
OgreNewt::Body* bod = new OgreNewt::Body( m_World, col );
delete col;
bod->attachToNode( pNode_lumian );
而汽车的牛顿和刚体在listener中的framestart中的,代码:
OgreNewt::Collision* col = new OgreNewt::CollisionPrimitives::Box( m_World, pNode_che->getPosition());
body = new OgreNewt::Body( m_World, col );
delete col;
Ogre::Vector3 inertia = OgreNewt::MomentOfInertia::CalcSphereSolid( 1.0, 1.0 );
// attach to the scene node.
body->attachToNode( pNode_che );
body->setMassMatrix( 10.0, inertia );
body->setStandardForceCallback();
//pNode_che->setPosition(camPos2.x,camPos2.y,-1380.0f);
body->setPositionOrientation( pNode_che->getPosition(), orient );


3

主题

13

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2008-5-23 12:53:00 | 显示全部楼层

Re: 碰撞后无规则运动的烦恼,恳请大侠救命 555555555~~~~~~~

=========================================================================
OgreNewt::Collision* col = new OgreNewt::CollisionPrimitives::Box( m_World, pNode_che->getPosition());
body = new OgreNewt::Body( m_World, col );
delete col;
Ogre::Vector3 inertia = OgreNewt::MomentOfInertia::CalcSphereSolid( 1.0, 1.0 );
// attach to the scene node.
body->attachToNode( pNode_che );
body->setMassMatrix( 10.0, inertia );
body->setStandardForceCallback();
===========================================================================
这段为什么要放到循环中?应该是放到初始化中吧?
此外,关于汽车的运动,你可以参考 日本人做的playstunt
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 11:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表