内容简介:
本书以虚拟现实为背景,介绍了虚拟现实引擎的架构及其涉及的渲染引擎和物理引擎,阐述了实时动态仿真的步骤和影响因素,针对物理引擎中的物体移动原理、碰撞检测中的包围盒模型、层次分割方法、包围盒相交性计算展开论述,并以粒子和刚体为对象,介绍了相互作用力计算、碰撞检测和碰撞响应的计算方法,同时对铰接式刚体进行了分析,最后以虚拟现实开发引擎Unity 3D为对象,介绍了开发架构、渲染引擎和物理引擎的应用,并给出了一个简单的示例。
本书可以作为高等院校机械工程及其相关专业的教材和教学参考书,也可作为从事虚拟现实相关工作的开发人员的自学教材。
目录:
第1章 导论
1.1 虚拟现实特征
1.2 虚拟现实引擎
1.2.1 VR引擎的PC体系结构
1.2.2 典型的VR引擎
1.3 渲染引擎
1.3.1 渲染流水线
1.3.2 图形流水线瓶颈及优化
1.4 物理引擎
1.4.1 物理引擎简介
1.4.2 PhysX物理引擎
1.5 实时动态仿真架构
1.6 章节安排
本章小结
第2章 实时动态仿真的因素
2.1 渲染引擎和物理引擎的接口
2.2 物体的移动
2.3 碰撞检测
2.4 凸体碰撞时间的计算
2.5 碰撞求解
本章小结
第3章 实时动态仿真建模技术
3.1 三维建模
3.1.1 三维建模基础知识
3.1.2 三维建模方法
3.2 模型的运动
3.2.1 平移
3.2.2 旋转
3.3 物理建模
3.3.1 碰撞检测算法
3.3.2 接触力模型
本章小结
第4章 物体层次分割与相交性计算
4.1 包围盒模型
4.1.1 轴向包围盒
4.1.2 方向包围盒
4.1.3 包围球
4.1.4 凸包
4.2 包围盒相交性
4.2.1 计算四方体间相交性
4.2.2 计算球体间相交性
4.2.3 计算四方体一球体相交性
4.3 连续包围盒相交性
4.3.1 连续球体间相交性
4.3.2 连续四方体间相交性
本章小结
第5章 粒子系统
5.1 粒子动力学
5.2 基本交互作用力
5.2.1 重力
5.2.2 黏性阻力
5.2.3 阻尼弹簧
5.2.4 依赖于空间的作用力
5.3 粒子间碰撞检测
5.4 粒子间碰撞响应
5.4.1 计算单一碰撞的冲力
5.4.2 计算多个同时碰撞的冲力
本章小结
第6章 刚体动态仿真
6.1 刚体动力学
6.2 基本相互作用力
6.2.1 重力
6.2.2 黏性阻力
6.2.3 阻尼弹簧
6.3 刚体碰撞检测概述
6.4 凸体之间的碰撞检测
6.5 计算凸体问最近点的GJK算法
6.6 刚体间的碰撞响应
6.6.1 计算单一碰撞的冲力
6.6.2 计算多个同时碰撞的冲力
6.6.3 计算单一接触的接触力
6.6.4 计算多个接触的接触力
本章小结
第7章 铰接式刚体系统
7.1 铰接式刚体动力学
7.2 单铰链系统
7.2.1 球形铰链
7.2.2 万向节
7.2.3 旋转铰链
7.2.4 圆柱铰链
7.2.5 棱柱铰链
7.2.6 刚性铰链
7.3 多铰链系统
7.4 碰撞检测
7.5 碰撞响应
7.5.1 计算单个或多个外部碰撞的冲力
7.5.2 计算单个或多个外部接触的接触力
本章小结
第8章 虚拟现实开发引擎Unity 3D
8.1 Unity 3D简介
8.2 Unity 3D开发架构
8.2.1 软件安装
8.2.2 IJnity 3D编辑器
8.2.3 资源导入
8.2.4 创建工程和游戏场景
8.3 渲染引擎
8.3.1 Unity 3D中的自定义Shader
8.3.2 相关编程接口介绍
8.3.3 图形管线基本原理介绍
8.3.4 渲染管线
8.4 Physx物理引擎
8.4.1 刚体
8.4.2 碰撞体
8.4.3 角色控制器
8.4.4 关节
8.5 C#言简介
8.5.1 概述
8.5.2 C#语言的编译和运行环境
8.6 Unity 3D案例实解
本章小结
第9章 实用的三维几何结构
9.1 简介
9.2 点在线上的投影
9.3 点在面上的投影
9.4 线段与面相交
9.5 直线与线段之间最接近的点
9.6 从碰撞或接触法线向量计算碰撞或接触局部坐标系
9.7 将叉积表示为矩阵一向量乘法
9.8 位置和方向插值
第10章 四元数
10.1 简介
10.2 四元数基本运算
10.2.1 加法
10.2.2 点积
10.2.3 乘法
10.2.4 共轭
10.2.5 模
10.2.6 逆
10.3 单位四元数
10.3.1 使用单位四元数的旋转矩阵表示法
10.3.2 使用单位四元数的优势
参考文献
好评度