计算机
类型
可以朗读
语音朗读
925千字
字数
2017-07-01
发行日期
展开全部
主编推荐语
3D/VR技术与Bullet物理引擎应用
内容简介
本书内容一共分为两大板块:3D及VR渲染技术和Bullet物理引擎,主要内容为:介绍使用Cocos2d-x游戏引擎开发3D游戏的一些基础知识,并给出丰富案例,极大地提升了吸引力。介绍3D游戏开发中常用的技巧标志板、天空盒及立方纹理。 介绍VR开发相关的知识,以及VR应用于普通3D应用交互、操控等方面的不同及特色,并给出一个使用VR模式的Demo。
目录
- 版权信息
- 内容提要
- 前言
- 第1章 初识Cocos2d-x
- 1.1 Cocos2d-x的概述
- 1.1.1 Cocos2d-x的发展史
- 1.1.2 Cocos2d-x的市场前景
- 1.2 Cocos2d-x开发环境的搭建
- 1.2.1 Android Studio以及Android SDK的下载与配置
- 1.2.2 Android NDK的下载与配置
- 1.2.3 Cocos2d-x的下载与配置
- 1.3 初识Cocos2d-x应用程序
- 1.3.1 本书案例的导入与运行
- 1.3.2 Cocos2d-x案例导入后的相关修改
- 1.3.3 创建自己的项目
- 1.4 本章小结
- 第2章 3D开发基础
- 2.1 与3D开发相关的基础知识
- 2.1.1 基础知识
- 2.1.2 加载obj格式模型的案例
- 2.1.3 背面剪裁
- 2.1.4 摄像机背景画笔
- 2.2 骨骼动画的使用
- 2.2.1 基础知识
- 2.2.2 c3b文件的生成
- 2.2.3 加载骨骼动画的案例
- 2.2.4 骨骼动画关键帧回调的使用
- 2.3 3D精灵的异步加载
- 2. 3.1 异步加载的基础知识
- 2.3.2 3D精灵的异步加载案例
- 2.4 三种基本变换的灵活使用
- 2.4.1 背景知识
- 2.4.2 桌球案例的实现策略
- 2.4.3 案例的开发
- 2.5 3D基本动作
- 2.5.1 基础知识
- 2.5.2 案例的开发
- 2.6 自定义着色器基础
- 2.6.1 背景知识
- 2.6.2 Cocos2d-x中的相关方法
- 2.6.3 自定义着色器案例
- 2.7 本章小结
- 第3章 常用的3D开发技巧
- 3.1 标志板技术的应用
- 3.1.1 基础知识
- 3.1.2 一个简单案例的开发
- 3.2 天空盒
- 3.2.1 基础知识
- 3.2.2 一个简单案例的开发
- 3.3 立方图纹理
- 3.3.1 基础知识
- 3.3.2 一个简单案例的开发
- 3.4 让游戏更加灵动——水特效
- 3.4.1 基础知识
- 3.4.2 一个简单案例的开发
- 3.5 压缩纹理的使用
- 3.6 材质系统
- 3.6.1 基础知识
- 3.6.2 一个简单案例的开发
- 3.7 本章小结
- 第4章 3D地形和导航网格
- 4.1 地形的基础知识
- 4.2 地形制作相关工具
- 4.2.1 TerrainEditTool的下载
- 4.2.2 TerrainEditTool的使用
- 4.2.3 地形预烘焙贴图制作
- 4.3 3D地形案例开发
- 4.3.1 定向光照案例
- 4.3.2 可变方向光照案例
- 4.4 导航网格的相关类
- 4.5 导航网格设计软件
- 4.5.1 设计软件的下载与编译
- 4.5.2 设计软件的使用
- 4.6 导航网格案例
- 4.7 本章小结
- 第5章 拾取与包围盒
- 5.1 AABB包围盒
- 5.1.1 基础知识
- 5.1.2 一个简单案例的开发
- 5.2 拾取
- 5.2.1 基础知识
- 5.2.2 一个简单案例的开发
- 5.3 AABB包围盒的不精确性
- 5.4 OBB包围盒
- 5.4.1 基础知识
- 5.4.2 一个简单案例的开发
- 5.5 本章小结
- 第6章 光照和阴影
- 6.1 光照的使用
- 6.1.1 基础知识
- 6.1.2 光照开发的案例
- 6.2 阴影的重要性
- 6.2.1 阴影可以帮助判断物体在三维空间中的位置关系
- 6.2.2 阴影可以反映接收体的形状
- 6.2.3 阴影可以表现出一些当前视点看不见的物体的信息
- 6.2.4 通过阴影可以判断出光源的数目、位置
- 6.3 平面阴影
- 6.3.1 案例效果与基本原理
- 6.3.2 案例的开发步骤
- 6.4 投影贴图
- 6.5 多轮渲染
- 6.5.1 基本原理及实现策略
- 6.5.2 镜像技术的实现
- 6.5.3 高真实感水面倒影的实现
- 6.6 本章小结
- 第7章 3D粒子系统与拖尾效果的使用
- 7.1 3D粒子系统
- 7.1.1 基础知识
- 7.1.2 3D粒子系统编辑器Particle Universe Editor
- 7.1.3 一个简单粒子系统的制作
- 7.1.4 3D粒子系统展示案例
- 7.2 3D拖尾效果
- 7.2.1 基础知识
- 7.2.2 一个简单案例的开发
- 7.3 本章小结
- 第8章 杂项
- 8.1 正六边形瓦片地图
- 8.1.1 基本原理及特点
- 8.1.2 正六边形地图的设计
- 8.1.3 网格定位案例
- 8.2 正六边形地图的路径搜索
- 8.2.1 路径搜索示例基本框架的搭建
- 8.2.2 广度优先路径搜索算法BFS
- 8.2.3 广度优先路径搜索算法BFS的实现
- 8.2.4 Dijkstra路径搜索算法
- 8.2.5 Dijkstra路径搜索算法的实现
- 8.2.6 用A*思想优化广度优先路径搜索
- 8.2.7 用A*思想优化Dijkstra路径搜索
- 8.3 手机截屏
- 8.3.1 基础知识
- 8.3.2 案例开发
- 8.4 本章小结
- 第9章 初识3D物理引擎Bullet
- 9.1 常用类的介绍
- 9.1.1 Vec3类——三维向量类
- 9.1.2 Mat4类——矩阵类
- 9.1.3 Physics3D类——3D物理类
- 9.1.4 PhysicsSprite3D类——3D物理精灵类
- 9.1.5 Physics3DRigidBody类——刚体类
- 9.1.6 Physics3DWorld类——物理世界类
- 9.1.7 Physics3DShape类——碰撞形状类
- 9.2 箱子撞击案例
- 9.2.1 案例运行效果
- 9.2.2 案例的基本框架结构
- 9.2.3 场景管理类——SceneManager类
- 9.2.4 信息布景类——My2DLayer类
- 9.2.5 物理世界布景类——My3DLayer类
- 9.3 物体下落案例
- 9.3.1 案例运行效果
- 9.3.2 物体下落布景类——My3DLayer类
- 9.4 旋转的陀螺
- 9.4.1 案例运行效果
- 9.4.2 旋转的陀螺布景类——My3DLayer类
- 9.5 消失的木块
- 9.5.1 案例运行效果
- 9.5.2 消失的木块布景类——My3DLayer类
- 9.6 物体碰撞下落
- 9.6.1 案例运行效果
- 9.6.2 自定义物理世界类——MPhysicsWorld类
- 9.6.3 物体碰撞下落布景类——My3DLayer类
- 9.7 三角形网格形状的介绍
- 9.7.1 三角形索引数组类——btTriangleIndexVertexArray类
- 9.7.2 层次包围结构三角形网格形状类——btBvhTriangleMeshShape类
- 9.7.3 层次包围结构三角形网格形状类的案例——波动的水纹
- 9.8 固定三角形网格形状类的介绍
- 9.8.1 固定三角形网格形状类——btGImpactMeshShape类
- 9.8.2 固定形状物体案例
- 9.9 本章小结
- 第10章 3D物理引擎Bullet——关节
- 10.1 初识3D关节
- 10.2 铰链关节
- 10.2.1 基础知识
- 10.2.2 案例开发
- 10.3 齿轮关节
- 10.3.1 基础知识
- 10.3.2 案例开发
- 10.4 点对点关节
- 10.4.1 基础知识
- 10.4.2 案例开发
- 10.5 滑动关节
- 10.5.1 基础知识
- 10.5.2 案例开发
- 10.6 六自由度关节
- 10.6.1 基础知识
- 10.6.2 案例开发
- 10.7 本章小结
- 第11章 3D物理引擎Bullet——交通工具
- 11.1 交通工具类——btRaycastVehicle类
- 11.2 交通工具的案例——移动的小车
- 11.3 本章小结
- 第12章 3D物理引擎Bullet——软体及光线投射
- 12.1 初识3D软体
- 12.2 软布
- 12.2.1 案例运行效果
- 12.2.2 软布布景类——My3DLayer类
- 12.2.3 软布开发中需要注意的问题
- 12.3 三角形网格软体案例
- 12.3.1 案例运行效果
- 12.3.2 三角形网格软体类——MyCustomSprite3D类
- 12.3.3 三角形网格软体布景类——My3DLayer类
- 12.4 绳索软体
- 12.4.1 案例运行效果
- 12.4.2 案例开发过程
- 12.5 光线投射
- 12.5.1 光线投射回调结构体ClosestRayResultCallback
- 12.5.2 光线投射的案例——旋转光线
- 12.6 本章小结
- 第13章 VR游戏开发
- 13.1 背景知识
- 13.1.1 发展历史
- 13.1.2 基本特征
- 13.1.3 关键技术
- 13.2 Cocos2d-x开发VR环境搭建
- 13.3 Cocos2d-x开发VR游戏前的准备
- 13.4 Cardboard平台VR游戏的开发
- 13.4.1 背景知识
- 13.4.2 基础知识
- 13.4.3 VR场景漫游案例的准备工作
- 13.4.4 VR场景漫游案例的开发
- 13.5 GearVR平台VR游戏的开发
- 13.5.1 背景知识
- 13.5.2 Oculus Home
- 13.5.3 基础知识
- 13.5.4 VR场景射击案例的准备工作
- 13.5.5 VR场景射击案例的开发
- 13.6 本章小结
- 第14章 益智类游戏——指尖方块
- 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 游戏常量类——Constant
- 14.5 场景相关类
- 14.5.1 游戏场景管理类——SceneManager
- 14.5.2 欢迎布景类——BeginLayer
- 14.5.3 主菜单场景布景类——MainMenuScene2D
- 14.5.4 帮助场景布景类——HelpLayer
- 14.5.5 设置场景布景类——SetLayer
- 14.5.6 选择关卡场景布景类——SelectGameLayer
- 14.6 游戏场景布景类
- 14.6.1 2D布景类——My2Dlayer
- 14.6.2 3D布景类——FirstLayer
- 14.7 辅助类
- 14.7.1 方块类——Cubes
- 14.7.2 地图类——GameMap
- 14.7.3 暂停和通关界面类——GameSet
- 14.7.4 机关类——Organ
- 14.7.5 碰撞检测类——Collision
- 14.8 引擎引用入口类——AppDelegate
- 14.9 游戏的优化及改进
- 14.10 本章小结
- 第15章 射击解谜类游戏——绿色行动
- 15.1 游戏的背景及功能概述
- 15.1.1 游戏开发的背景概述
- 15.1.2 游戏的功能介绍
- 15.2 游戏的策划及准备工作
- 15.2.1 游戏的策划
- 15.2.2 游戏的准备工作
- 15.3 游戏的架构
- 15.3.1 游戏中各类的简要介绍
- 15.3.2 游戏的框架简介
- 15.4 游戏常量头文件——AppConstant
- 15.5 游戏场景布景类
- 15.5.1 CG 1场景2D布景类——CG2DLayer
- 15.5.2 CG 1场景3D布景类——CG3DLayer
- 15.5.3 CG 2场景3D布景类——CG3Dlayer
- 15.5.4 主菜单场景2D布景类——MainMenuScene2D
- 15.5.5 主菜单场景3D布景类——MainMenuScene3D
- 15.5.6 异步加载类——LoadLayer
- 15.5.7 2D场景类的开发
- 15.5.8 3D场景类的开发
- 15.5.9 场景管理类的开发
- 15.6 辅助类
- 15.6.1 数据类——GameData
- 15.6.2 暂停和设置界面类——GameSet
- 15.6.3 音乐音效管理类——MusicManager
- 15.6.4 粒子系统管理类——ParticleManager
- 15.6.5 波动水面类Water
- 15.6.6 英雄类——Hero
- 15.7 引擎引用入口类——AppDelegate
- 15.8 游戏的优化及改进
- 15.9 本章小结
- 欢迎来到异步社区!
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。