1) 键盘控制角色,不管是赛车那种第三人称跟随弹性视角还是fps游戏,做起来都不难.
但是鼠标控制就要难一些,因为涉及到2D坐标转换到3D坐标,新的运动轨迹,以及方向等等
2) 碰撞的话只做了高度检测,没有做path寻路,所以我可以上房,飞崖之类
由于我的地形是实体,所以要自己做地形三角面的碰撞,原理就是射线查询到了地形实体
就可以获得地形mesh的数据,再用Math::intersects做三角面的碰撞
MOC就是这么实现
3) 鼠标点地面会有一个标识,用decal来说,做一个manualobject,更新mesh的顶点高度,就可以贴在地形上,
4) 点击地面的时候,只有地面和WCollision有效,点到其他实体无效,所以要自己做查询掩码
OGRE的查询掩码很怪异...不要查询的就设置为0
由于还有些小问题没搞定,弄好了再放相关源码~~~~



本文深入探讨了游戏开发中鼠标控制角色的实现及碰撞检测技术,包括2D坐标转换到3D坐标、运动轨迹计算、方向判断等关键步骤。详细介绍了如何仅通过高度检测进行碰撞检测,并实现上房、飞崖等效果,同时阐述了鼠标点击地面的标识创建及查询掩码的自定义方法。
6929

被折叠的 条评论
为什么被折叠?



