NxOgre经验总结(持续更新)
来源:互联网 发布:centos下安装图形界面 编辑:程序博客网 时间:2024/06/08 04:25
最近在做基于NxOgre的赛车游戏..用到了很多NxOgre的功能,也遇到了很多问题.特在此记录下来遇到的问题和决绝的方案…..
1) 赛车启动/刹车后一直运行,向完全没有阻力的样子
设定mLinearDamping参数
NxOgre::RigidBodyDescription description;
// 线性抖动参数,用于对直线运行的抖动
// 亦可实现控制摩擦力效果
description.mLinearDamping = 0.305;
2)NxOgre绑定Mesh后模型没有显示或者显示不正常
Mesh大小有问题,在NxOgre中以米为计量单位,而在3Dmax中很容易将模型做为几十到几百个长度,而Ogre计量单位为相对单位,可以想象一下一辆好几百米长的赛车,肯定不符合常理.可以通过更改模型大小来实现.
3)赛车容易翻车 同2),修改模型大小,使其合乎常理 4)在3Dmax中对模型进行缩放后,导入Ogre/NxOgre中没有反应,仍旧是缩放之前的大小. 我使用OgreMax导出mesh,在里面没有找到设置Scale的设置选项,借助OgreCommandLine工具中的MeshMagick工具对mesh模型进行缩放进行模型的缩放可以解决问题,如 5)关于3Dmax到处模型在Ogre中没有阴影的问题 可以有两种办法 1.在OgreMax的SceneSetting中的Mesh中勾选Generate Edge List选项. 2.生成Entity后设置Entity::getMesh()->setAutoBuildEdgeLists(true) 6)关于NxActor构造的赛车可能不能启动的情况(进入睡眠状态) 设置NxActor::wakeUp(1E8)设置一个较大的参数,可以设置此NxActor不睡眠. 7)关于NxOgre场景切换问题 开始我只使用了一个SceneManager,在场景切换的时候出现模型奇妙的崩溃,后来才发现是在场景退出的时候调用了clearScene()清除了全部的场景内物体,由于NxOgreScene需要更新场景内的物体,而此时场景内物体全部被清除,会导致崩溃.所以我干脆创建了两个SceneManager,一个用于包含物理的游戏场景,另一个不包含物理(用于菜单,选项界面等),这样问题差不多就解决了. 8)开启Compositor混合后GUI受到影响, 将false改为true 9)关于碰撞模型导入的问题. 这几天关于碰撞模型导入的问题一直困扰着我,我用superracing的模型,更改成.nxs文件,导入程序里面开始的时候这样写,程序在debug模式下没有问题,但是在release模式下,清理NxWord的时候就会崩溃..试了好多方法,也修改了模型,依旧没有解决 NxOgre::ResourceSystem::getSingleton()->openArchive("media","file:../../media/models/tracks/common"); std::string nxs = "media:" + trackId + ".nxs"; NxOgre::Mesh*triangleMesh = NxOgre::MeshManager::getSingleton()->load(nxs.c_str()); NxOgre::TriangleGeometry*triangleGeometry = new NxOgre::TriangleGeometry(triangleMesh); PhycisSystem::getScene()->createSceneGeometry(triangleGeometry); 今天早上,我把media的路径更改为完整路径file:D:/program/Ogre/S-Racing V0.3/S-Racing/media/models/tracks/common,竟然奇迹般的没有任何异常了,太囧了… 10)记录NxWheel调节赛车操作的参数
MeshMagick transform -scale=0.5/0.5/0.5 car002Glass.mesh
mGUIRenderer = new CEGUI::OgreCEGUIRenderer(mRenderWindow,
Ogre::RENDER_QUEUE_OVERLAY, true, sceneManager );记录一下NxOgre中NxWheel的一些常用参数以及作用 #详细参数#设定弹簧减震系数#实现赛车缓冲,左右微震更加逼真#缓冲距离SuspensionTravel=0.125SuspensionSpring=2500SuspensionDamper=5000#线性抖动参数,用于对直线运行的抖动#亦可实现控制摩擦力效果AngularDamping=1.75Lineardamping=0.075#-------车轮参数-------------------#设定轮胎侧向受力,可实现漂移效果LateralTireAsymptoteSlip=2LateralTireAsymptoteValue=0.01#数值越小月不容易翻车,但是漂移效果越差LateralTireExtremumSlip=0.35LateralTireExtremumValue=0.02#设定漂移程度LateralTireStiffnessFactor=2500#手动设置InputLongSlipVelocity,还是参数设置#false手动,true自动EnableInputLongSlipVelocity=false#设定动力对正向的加速度等的影响LongitudalTireAsymptoteSlip=2LongitudalTireAsymptoteValue=0.5LongitudalTireExtremumSlip=0.2LongitudalTireExtremumValue=0.02LongitudalTireStiffnessFactor=157500
- NxOgre经验总结(持续更新)
- NxOgre经验总结
- linux经验总结(持续更新)
- Nginx经验总结(持续更新)
- 嵌入式系统应用经验总结---持续更新
- OSX各种经验总结记录(持续更新)
- MyEclipse,工程项目经验总结(持续更新中)
- struts2,项目经验总结(持续更新中)
- Hibernate 项目经验总结(持续更新中)
- hive使用经验总结(持续更新中)
- NxOgre
- 经验总结。持续更新,全部个人理解,如果错误欢迎指正
- Extjs 4.0.7 中经验总结(--持续更新)
- JAVA WEB开发人员面试题与经验总结【持续更新】
- Android中Webview使用经验总结(持续更新)
- C++ 和 汇编 混合编程幼儿园经验总结**持续更新** 学习笔记贴
- 【Java学习】eclipse,javaWeb项目的一些技巧,经验总结,持续更新
- 微信小程序开发过程中一些经验总结(后续持续更新)
- Silverlight 4 + RIA Services之商业应用系列----1 使用RIA Services
- 链表
- 什么是多态?
- 哈夫曼编码
- 第一部分 第五章 启动关机,在线求助,执行命令的方式
- NxOgre经验总结(持续更新)
- 逛CSDN少了
- FlexContext.getFlexSession()在servlet的doPost方法中不能用的问题解决
- Ubuntu安装.run文件
- Mapping Letter Frequency on Keyboard
- Ogre贴花
- Mplayer常用快捷键整理
- OgreMax的一些使用经验
- 给大家推荐一个好的网络资源,分享给大家。。。