导语
OpenSceneGraph(OSG)是一个历史悠久的三维渲染引擎,至今仍然有广泛的用户群体,以及大量成功的开源和商业应用。PhysX是一款来自NVIDIA的专业物理仿真引擎,它也是Unity3D和Unreal两款知名商业引擎共同选择的底层依赖库。
本系列是有关OSG与PhysX两个引擎结合的教程,选择PhysX来讲解物理引擎的基本结构和功能,尝试将它和OSG结合在一起,把物理仿真的结果通过图形渲染的方式快速地呈现出来,并结合多种交互式操作来实现第一人称视角/过肩视角射击游戏的一些常见效果/功能。
这篇教程的目标并不是游戏本身,也不是要推介什么产品和理念。而是通过渐进的方式,一起尝试去攻克一些项目中常见的功能需求问题,并从中发现乐趣,或者一点点学习的方法。
本文适合这样的受众群体:
在享受科技便利性的同时,仍然有兴趣钻研钻木取火之原理的朋友;
想要把自己打造成熟知系统底层原理,未来能够有机会自研引擎的朋友;
喜欢看看别人写的东西,填充一些冷知识或者权当一乐的朋友。
本系列内容会持续更新,有兴趣的朋友请多多关注~
系列内容预告
本系列计划分为以下几个主要小节(有可能继续细分):
0、定义开发依赖库,相关资源,明确需求/玩法
1、实现最基本的刚体碰撞
2、网格烘焙,地形碰撞体构建
3、实现过肩视角的角色控制
4、加强OSG中的角色动画效果
5、手持武器射击,子弹命中判断
6、人物与载具切换,车辆的构成
7、物理关节,人物死亡与Ragdoll
8、网络通讯和实时语音,多人游戏的雏形
9、房屋和物件破碎系统
10、无限大地形物理的构建
随着内容更新,可能越不像是一个纯粹的物理引擎讲解文。会有越来越多的依赖库填充进来,以求快速构建一个相对完整的应用雏形。这个过程可能会有些杂乱,但是也会有它独特的魅力——要实现一个哪怕看起来简单的功能需求,从来都不是只有OSG,或者只有一两个库参与而已。
暂无评论内容