6游戏开发中的物理学
6.1 碰撞检测基本技术
6.1.1 AABB包围盒的基本原理
6.1.2 AABB包围盒的计算
6.1.3 AABB包围盒的碰撞检测
6.1.4 一个AABB包围盒的案例
6.1.5 旋转后的AABB包围盒
6.1.6 AABB包围盒的使用要点
6.1.7 OBB包围盒
6.2 穿透效应
6.2.1 案例的运行效果与基本原理
6.2.2 具体开发步骤
6.3 粒子系统
6.3.1 案例运行效果与基本原理
6.3.2 CPU版案例的开发
6.3.3 GPU版案例开发步骤
6.4 弹簧质点模型模拟旗帜
6.4.1 弹簧质点模型基本原理
6.4.2 弹簧质点模型案例的运行效果及开发步骤
6.5 弹簧质点模型模拟球网
6.5.1 弹簧质点模型的基本原理
6.5.2 弹簧质点模型的案例的运行效果及开发步骤
6.6 小结
73D物理引擎一——JBullet
7.1 物理引擎很重要
7.1.1 什么是物理引擎
7.1.2 常见的物理引擎
7.2 JBullet物理引擎概览
7.2.1 基本的物理学概念
7.2.2 JBullet中常用类的介绍
7.3 箱子相互碰撞的案例
7.3.1 案例运行效果及准备工作
7.3.2 案例的基本框架结构
7.3.3 常量类——Constant
7.3.4 3D场景渲染类——MySurfaceView
7.3.5 水平地面——TexFloor类
7.3.6 箱子——TexCube类
7.4 复合碰撞形状的使用
7.4.1 案例运行效果
7.4.2 立方体圆柱复合形状——CubeCylinder类
7.5 凹凸地形的案例
7.5.1 案例运行效果
7.5.2 地形类——LandForm
7.6 任意形状物体的碰撞
7.6.1 案例运行效果
7.6.2 加载物体类——LoadedObjectVertexNormal
7.6.3 加载物体刚体类——LoadRigidBody
7.7 铰链关节
7.7.1 铰链关节的基本知识
7.7.2 铰链关节案例的运行效果
7.7.3 铰链关节旋转角速度的计算
7.7.4 3D界面渲染类——MySurfaceView
7.8 滑动关节
7.8.1 滑动关节的基本知识
7.8.2 案例效果图
7.8.3 3D界面渲染类——MySurfaceView
7.9 六自由度关节
7.9.1 六自由度关节的基本知识
7.9.2 六自由度关节案例的运行效果
7.9.3 人偶类——Doll
7.9.4 拾取时采用的点对点关节
7.10 交通工具
7.10.1 交通工具开发要点
7.10.2 交通工具案例的运行效果
7.10.3 3D场景渲染类——MySurfaceView
7.10.4 汽车类——Car
7.10.5 汽车绘制类——VehicleDraw
7.11 小结
83D物理引擎二——Bullet
8.1 Bullet中的常用类和结构体
8.1.1 btScalar类——被封装的浮点类
8.1.2 btVector3类——三维向量类
8.1.3 btTransform类——变换类
8.1.4 btRigidBody类——刚体类
8.1.5 btDynamicsWorld类——物理世界类
8.1.6 btDiscreteDynamicsWorld类——离散物理世界类
8.1.7 btSoftRigidDynamicsWorld类——支持模拟软体的物理世界类
8.1.8 btCollisionShape类——碰撞形状类
8.1.9 btStaticPlaneShape类——静态平面形状
8.1.10 btSphereShape类——球体形状类
8.1.11 btBoxShape类——长方体盒碰撞形状类
8.1.12 btCylinderShape类——圆柱形状类
8.1.13 btCapsuleShape类——胶囊形状类
8.1.14 btConeShape类——圆锥形状类
8.1.15 btCompoundShape类——复合碰撞形状类
8.2 简单的物理场景
8.2.1 案例运行效果
8.2.2 案例的基本框架结构
8.2.3 3D场景渲染类——GL2JNIView类
8.2.4 主控制类——HelloBulletActivity类
8.2.5 本地方法声明及动态库加载类——JNIPort类
8.2.6 封装的物体类——TexBody类
8.2.7 矩形绘制类——TextrueRect类
8.2.8 长方体物体类——TexCuboid类
8.2.9 水平地面类——TexPlane类
8.2.10 初始化及渲染函数文件——main.cpp
8.3 各式各样的物体下落
8.3.1 案例运行效果
8.3.2 圆锥物体类——TexCone类
8.3.3 球物体类——TexBall类
8.3.4 胶囊物体类——TexCapsule类
8.3.5 圆柱物体类——TexCylinderShape类
8.3.6 初始化及渲染函数文件——main.cpp
8.4 旋转的陀螺
8.4.1 案例运行效果
8.4.2 陀螺物体类——MyCompoundShape类
8.4.3 初始化及渲染函数文件——main.cpp
8.5 消失的木块
8.5.1 案例运行效果
8.5.2 初始化及渲染函数文件——main.cpp
8.6 物体碰撞下落
8.6.1 案例运行效果
8.6.2 初始化及渲染函数文件——main.cpp
8.7 关节
8.7.1 关节的父类——btTypedConstraint类
8.7.2 铰链关节——btHingeConstraint类
8.7.3 铰链关节的案例——球落门开
8.7.4 齿轮关节——btGearConstraint类
8.7.5 齿轮关节的案例——转动的齿轮
8.7.6 点对点关节——btPoint2PointConstraint类
8.7.7 点对点关节的案例——悬挂的物体
8.7.8 滑动关节——btSliderConstraint类
8.7.9 滑动关节的案例——六个方向的物体滑动
8.7.10 六自由度关节——btGeneric6DofConstraint类
8.7.11 六自由度关节的案例——掉落的蜘蛛
8.8 三角形网格形状类
8.8.1 三角形索引数组类——btTriangleIndexVertexArray类
8.8.2 层次包围结构三角形网格形状类——btBvhTriangleMeshShape类
8.8.3 层次包围结构三角形网格形状类的案例——波动的水纹
8.9 交通工具类
8.9.1 交通工具类——btRaycastVehicle类
8.9.2 交通工具的案例——移动的小车
8.10 固定三角形网格形状类
8.10.1 固定三角形网格形状类——btGImpactMeshShape类
8.10.2 固定形状物体案例
8.11 软体
8.11.1 软体帮助类——btSoftBodyHelps类
8.11.2 软布案例
8.11.3 三角形网格软体案例
8.11.4 绳索软体案例
8.12 光线投射回调结构体
8.12.1 光线投射回调结构体ClosestRayResultCallback
8.12.2 光线投射的案例——旋转光线
8.13 小结
9骨骼动画
9.1 自己开发骨骼动画
9.1.1 骨骼动画的基本原理
9.1.2 开发步骤
9.1.3 机器人模型在地面上运动时的问题
9.2 ms3d文件的加载
9.2.1 ms3d文件的格式
9.2.2 将3ds Max动画文件转换为ms3d文件
9.2.3 Java语言加载ms3d文件案例的开发
9.2.4 C++语言加载ms3d文件案例的开发
9.3 自定义格式骨骼动画的加载
9.3.1 bnggdh文件的格式
9.3.2 Bnggdh类
9.3.3 加载bnggdh文件的案例
9.4 小结
13Android NDK体育竞技游戏——火力篮球
13.1 游戏背景及功能简述
13.1.1 背景概述
13.1.2 功能介绍
13.2 游戏的策划及准备工作
13.2.1 游戏的策划
13.2.2 Android平台下游戏开发的准备工作
13.3 游戏的架构
13.3.1 各个类简要介绍
13.3.2 游戏的框架简介
13.4 游戏公共类
13.4.1 游戏入口类——BasketBulletActivity
13.4.2 场景渲染类——GL2JNIView
13.4.3 本地方法声明及动态库加载类——JNIPort
13.4.4 现实本地方法的相关文件——jni_code.c
13.4.5 现实本地方法的相关文件——main.cpp
13.5 辅助界面相关类
13.5.1 着色器管理类——ShaderManager
13.5.2 着色器脚本的开发
13.5.3 数据库工具类——SQLiteUtil
13.5.4 纹理矩形类——TextureRect
13.5.5 游戏资源加载界面类——LoadingView
13.5.6 菜单界面类——MenuView
13.5.7 记录界面类——RecordView
13.6 游戏界面相关类
13.6.1 游戏界面类——GameView
13.6.2 墙面刚体封装类——TexCuboid
13.6.3 篮球刚体封装类——TexBall
13.6.4 任何形状类——AnyShapeByVectices
13.6.5 任何形状刚体封装类——TexTriangleMesh
13.6.6 任何形状软体封装类——SoftObj
13.7 游戏的优化及改进
14iOS休闲类游戏——方块翻转
14.1 游戏背景及功能概述
14.1.1 游戏背景概述
14.1.2 游戏功能介绍
14.2 游戏的策划及准备工作
14.2.1 游戏的策划
14.2.2 手机平台下游戏的准备工作
14.3 游戏的架构
14.3.1 各个类简要介绍
14.3.2 游戏框架简介
14.4 界面显示类
14.4.1 GLView类
14.4.2 显示界面类RenderingEngine2
14.4.3 游戏界面类GameView
14.4.4 帮助界面类HelpView
14.5 辅助工具类
14.5.1 常量类Constant
14.5.2 计算交点坐标辅助类IntersectantUtil
14.6 绘制相关类
14.6.1 3D模型绘制类的开发
14.6.2 2D物体绘制类的开发
14.7 游戏的优化及改进
14.8 小结
2顶点着色器的妙用
2.1 飘扬的旗帜
2.1.1 基本原理
2.1.2 开发步骤
2.2 扭动的软糖
2.2.1 基本原理
2.2.2 开发步骤
2.3 风吹椰林场景的开发
2.3.1 椰子树随风摇摆的基本原理
2.3.2 开发步骤
2.4 展翅飞翔的雄鹰
2.4.1 基本原理
2.4.2 开发步骤
2.5 二维扭曲
2.5.1 基本原理
2.5.2 开发步骤
2.6 吹气膨胀特效
2.6.1 特效基本原理
2.6.2 特效开发步骤
2.7 固定渲染管线与可编程渲染管线实现方案的对比
2.8 小结