zoukankan      html  css  js  c++  java
  • Unity 5.X 3D游戏开发技术详解与典型案例

    Unity 5.X 3D游戏开发技术详解与典型案例

    1Unity基础以及开发环境的搭建

    1.1 Unity基础知识概览

    1.1.1 初识Unity
    1.1.2 Unity的诞生及发展
    1.1.3 Unity广阔的市场前景
    1.1.4 独具特色的Unity

    1.2 Unity开发环境的搭建

    1.2.1 Windows平台下Unity的下载及安装
    1.2.2 Mac OS平台下Unity的下载及安装
    1.2.3 目标平台的SDK与Unity集成

    1.3 第一个Unity程序

    1.4 本书案例的导入及运行

    1.5 本章小结

    2Unity集成开发环境详解

    2.1 Unity集成开发环境的整体布局

    2.1.1 Unity集成开发环境的整体布局
    2.1.2 菜单栏
    2.1.3 工具栏
    2.1.4 场景设计面板
    2.1.5 游戏预览面板
    2.1.6 游戏组成对象列表
    2.1.7 项目资源列表
    2.1.8 属性查看器
    2.1.9 状态栏与控制台
    2.1.10 动画视图
    2.1.11 动画控制器编辑视图

    2.2 菜单栏

    2.2.1 文件(File)
    2.2.2 编辑(Edit)
    2.2.3 资源(Assets)
    2.2.4 游戏对象(GameObject)
    2.2.5 组件(Component)
    2.2.6 窗口(Window)
    2.2.7 帮助(Help)

    2.3 本章小结

    3Unity脚本程序开发

    3.1 Unity脚本概述

    3.2 Unity中C 脚本的注意事项

    3.2.1 继承自MonoBehaviour类
    3.2.2 类名字必须匹配文件名
    3.2.3 使用Awake或Start方法初始化
    3.2.4 Unity脚本中协同程序有不同的语法规则
    3.2.5 只有满足特定情况变量才能显示在属性查看器中
    3.2.6 尽量避免使用构造函数
    3.2.7 调试

    3.3 Unity脚本的基础语法

    3.3.1 常用操作
    3.3.2 记录时间
    3.3.3 访问游戏对象组件
    3.3.4 访问其他游戏对象
    3.3.5 向量
    3.3.6 成员变量和静态成员变量
    3.3.7 实例化游戏对象
    3.3.8 协同程序和中断
    3.3.9 一些重要的类
    3.3.10 性能优化
    3.3.11 脚本编译

    3.4 综合案例

    3.4.1 案例策划及准备工作
    3.4.2 创建项目及场景搭建
    3.4.3 飞机控制脚本实现
    3.4.4 摄像机跟随脚本实现

    3.5 本章小结

    4Unity 3D图形用户界面基础

    4.1 GUI图形用户界面系统

    4.1.1 图形用户界面组件的变量
    4.1.2 图形用户界面中的常用控件
    4.1.3 图形用户界面控件综合案例

    4.2 UGUI图形用户界面系统

    4.2.1 创建UGUI控件
    4.2.2 Canvas画布
    4.2.3 EventSystem
    4.2.4 RectTransform组件
    4.2.5 Panel控件
    4.2.6 Button控件
    4.2.7 Text控件
    4.2.8 Image控件
    4.2.9 Raw Image控件
    4.2.10 Slider控件
    4.2.11 Scrollbar控件
    4.2.12 Toggle控件
    4.2.13 Input Field控件
    4.2.14 UGUI布局管理的使用及相关组件介绍
    4.2.15 UGUI中不规则形状的按钮的碰撞检测
    4.2.16 Scroll View的制作
    4.2.17 UGUI综合案例——音乐播放器的UI搭建

    4.3 预制件(prefab)资源的应用

    4.3.1 预制件(prefab)资源的创建
    4.3.2 通过prefab资源进而实例化对象

    4.4 常用的输入对象

    4.4.1 Touch输入对象
    4.4.2 Input输入对象

    4.5 与销毁相关的方法

    4.5.1 Object.Destroy方法
    4.5.2 NetWork.Destroy方法
    4.5.3 MonoBehaviour.OnDestroy方法

    4.6 本章小结

    5Unity 3D第三方2D组件库——NGUI

    5.1 初识NGUI

    5.1.1 NGUI背景概述
    5.1.2 NGUI的导入
    5.1.3 UI层简介

    5.2 NGUI菜单介绍

    5.2.1 “Selection”菜单
    5.2.2 “Create”菜单
    5.2.3 “Attach”菜单
    5.2.4 “Tween”菜单
    5.2.5 “Open”菜单
    5.2.6 其他菜单

    5.3 控件工具的使用

    5.3.1 图片精灵——Sprite
    5.3.2 文本标签——Label
    5.3.3 图片精灵——Texture
    5.3.4 组件容器——Widget
    5.3.5 锚点——Anchor
    5.3.6 面板——Panel
    5.3.7 滚动视图——Scroll View
    5.3.8 网格——Grid
    5.3.9 表格——Table

    5.4 UI库中默认组件的制作

    5.4.1 按钮——Colored Button
    5.4.2 复选框——Colored Checkbox
    5.4.3 水平滚动条——Colored Horizontal Scroll Bar
    5.4.4 滑块——Colored Slider
    5.4.5 弹出列表——Colored Popup List
    5.4.6 输入框——Control-Simple Input Field

    5.5 杂项

    5.5.1 Atlas图集制作
    5.5.2 中文字体制作
    5.5.3 动画曲线编辑

    5.6 一个NGUI的综合案例

    5.6.1 界面一制作
    5.6.2 界面二制作
    5.6.3 界面三制作

    5.7 本章小结

    6物理引擎

    6.1 刚体

    6.1.1 刚体特性
    6.1.2 物理管理器

    6.2 碰撞器

    6.2.1 碰撞器的添加
    6.2.2 碰撞过滤
    6.2.3 物理材质

    6.3 粒子系统

    6.3.1 粒子系统的简介
    6.3.2 粒子系统的特性
    6.3.3 粒子系统的综合使用

    6.4 关节

    6.4.1 铰链关节的特性
    6.4.2 铰链关节的创建
    6.4.3 固定关节的特性
    6.4.4 固定关节的创建
    6.4.5 弹簧关节的特性
    6.4.6 弹簧关节的创建
    6.4.7 角色关节的特性
    6.4.8 角色关节的创建
    6.4.9 可配置关节的特性
    6.4.10 可配置关节的创建
    6.4.11 关节综合案例——机械手

    6.5 交通工具

    6.5.1 车轮碰撞器添加
    6.5.2 车轮碰撞器的特性
    6.5.3 车轮碰撞器的应用

    6.6 布料

    6.6.1 蒙皮网格
    6.6.2 布料特性
    6.6.3 布料的简单案例

    6.7 力场

    6.7.1 力场组件特性
    6.7.2 力场综合案例

    6.8 物理引擎在动画系统中的使用

    6.8.1 场景的搭建
    6.8.2 脚本的开发
    6.8.3 运行效果

    6.9 物理引擎综合案例

    6.9.1 场景的搭建
    6.9.2 界面的搭建
    6.9.3 脚本的开发
    6.9.4 案例开发总结

    6.10本章小结

    7着色器——Shader

    7.1 初识着色器

    7.1.1 着色器概述
    7.1.2 ShaderLab语法基础
    7.1.3 着色器中涉及的各种空间概念

    7.2 着色器的3种形态

    7.2.1 固定管线着色器
    7.2.2 顶点片元着色器
    7.2.3 表面着色器

    7.3 表面着色器

    7.3.1 表面着色器基础知识
    7.3.2 通过表面着色器实现体积雾

    7.4 渲染通道的通用指令

    7.4.1 设置LOD数值
    7.4.2 渲染队列
    7.4.3 混合模式介绍
    7.4.4 Alpha测试
    7.4.5 深度测试
    7.4.6 通道遮罩
    7.4.7 面的剔除操作
    7.4.8 抓屏操作

    7.5 着色器的组织和优化

    7.5.1 着色器的组织和复用
    7.5.2 移动平台上的优化

    7.6 综合案例

    7.6.1 案例策划及准备工作
    7.6.2 创建项目及场景搭建
    7.6.3 着色器及相关脚本的开发
    7.6.4 结点对象的创建及相关脚本的开发

    7.7 本章小结

    83D游戏开发的常用技术

    8.1 天空盒的应用

    8.1.1 Unity天空盒资源
    8.1.2 开发实际需要的天空盒

    8.2 3D拾取技术

    8.3 视频贴图

    8.3.1 基础知识
    8.3.2 视频贴图案例

    8.4 动态字体

    8.5 重力加速度传感器

    8.6 PlayerPrefs类

    8.7 虚拟按钮与摇杆的使用

    8.7.1 下载并导入标准资源包
    8.7.2 虚拟按钮和摇杆使用的案例

    8.8 声音

    8.8.1 声音类型
    8.8.2 音频管理器——AudioManager
    8.8.3 音频监听器——Audio Listener
    8.8.4 音频源——Audio Source
    8.8.5 音频效果——Audio Effects
    8.8.6 音频混响区——Audio Reverb Zones
    8.8.7 简单的声音控制案例
    8.8.8 混音器——AudioMixer

    8.9 水特效

    8.9.1 基础知识
    8.9.2 案例

    8.10 雾特效

    8.10.1 案例效果与基本原理
    8.10.2 场景搭建及开发步骤

    8.11 本章小结

    9光影效果的使用

    9.1 光源

    9.1.1 点光源(Point Light)
    9.1.2 定向光源(Directional Light)
    9.1.3 聚光灯光源(Spot Light)
    9.1.4 区域光光源(Area Light)
    9.1.5 发光材质

    9.2 光照贴图的烘焙与使用

    9.2.1 对场景进行光照烘焙
    9.2.2 光照烘焙参数详解

    9.3 法线贴图

    9.3.1 在Unity中使用法线贴图
    9.3.2 如何在3D Max中制作法线贴图

    9.4 镜子的开发

    9.4.1 场景的搭建
    9.4.2 镜面着色器的开发
    9.4.3 C 脚本的开发

    9.5 真实的水面效果开发

    9.5.1 基本原理
    9.5.2 场景的搭建
    9.5.3 C 脚本的开发
    9.5.4 镜面着色器的开发

    9.6 Unity 3D光照系统中的高级功能

    9.6.1 渲染路径与颜色空间
    9.6.2 Cookies
    9.6.3 Flare镜头光晕
    9.6.4 Culling Mask光照过滤
    9.6.5 阴影的设置
    9.6.6 Light Probes光探头

    9.7 Unity 3D 5.0中新增的光照功能详解

    9.7.1 基于物理学的标准着色器
    9.7.2 反射探头(Reflection Probe)
    9.7.3 全局光照技术详解

    10模型与动画

    10.1 3D模型导入

    10.1.1 主流3D建模软件的介绍
    10.1.2 Unity与建模软件单位的比例关系
    10.1.3 将3D模型导入Unity

    10.2 网格Mesh

    10.2.1 网格过滤器(Mesh Filter)
    10.2.2 Mesh属性和方法介绍
    10.2.3 Mesh的使用
    10.2.4 使用Mesh使物体变形的一个简单案例

    10.3 第三方切割工具库Shatter Toolkit的使用

    10.3.1 Shatter Toolkit简介
    10.3.2 使用Shatter Toolkit的一个简单案例

    10.4 旧版动画系统

    10.4.1 导入角色动画资源
    10.4.2 动画控制器(Animation)
    10.4.3 动画脚本
    10.4.4 使用旧版动画系统的简单案例

    10.5 Mecanim动画系统

    10.5.1 角色动画的配置
    10.5.2 动画控制器的创建
    10.5.3 动画控制器的配置
    10.5.4 角色动画的重定向
    10.5.5 角色动画的混合——创建动画混合树
    10.5.6 角色动画的混合——混合类型介绍
    10.5.7 Mecanim中的代码控制
    10.5.8 案例分析

    10.6 本章小结

    11地形与寻路技术

    11.1 地形引擎

    11.1.1 地形的创建
    11.1.2 灰度图的使用

    11.2 拖尾渲染器--Trail Renderer

    11.2.1 背景介绍
    11.2.2 拖尾渲染器属性介绍
    11.2.3 拖尾渲染器的使用
    11.2.4 产生汽车轮胎拖痕案例
    11.2.5 产生汽车刹车痕案例

    11.3 自动寻路技术

    11.3.1 基础知识
    11.3.2 一个简单的案例

    11.4 本章小结

    12游戏资源更新

    12.1 AssetBundle资源包

    12.1.1 AssetBundle简介
    12.1.2 创建AssetBundle
    12.1.3 AssetBundle的下载
    12.1.4 AssetBundle的加载和卸载
    12.1.5 关于AssetBundle
    12.1.6 本节小结

    12.2 Lua热更新

    12.2.1 热更新的基本介绍
    12.2.2 Lua的基本情况介绍
    12.2.3 SimpleFramework框架介绍
    12.2.4 热更新案例
    12.2.5 本节小结

    12.3 本章小结

    13多线程技术与网络开发

    13.1 多线程技术

    13.1.1 基本知识
    13.1.2 多线程技术用于大量计算
    13.1.3 多线程技术在网络开发中的应用

    13.2 WWW类

    13.2.1 用WWW类访问网络资源
    13.2.2 场景搭建
    13.2.3 C 脚本的编写

    13.3 网络类——Network

    13.3.1 静态变量
    13.3.2 静态方法
    13.3.3 消息发送

    13.4 基于Unity Network开发网络游戏

    13.4.1 非授权服务器和授权服务器
    13.4.2 Network View 网络视图组件
    13.4.3 案例的效果预览
    13.4.4 案例场景的搭建
    13.4.5 项目主体脚本的开发
    13.4.6 服务器和客户端的发布

    13.5 基于Socket开发Unity网络游戏

    13.5.1 网络游戏架构简介
    13.5.2 案例的效果预览与资源准备
    13.5.3 案例场景的搭建
    13.5.4 服务器端的开发
    13.5.5 客户端的开发

    13.6本章小结

    14Unity 2D游戏开发

    14.1 Unity 2D基础介绍

    14.1.1 Unity 2D项目的创建
    14.1.2 Unity 2D功能简要介绍
    14.1.3 Unity 2D游戏开发工作流程的简要介绍

    14.2 Unity 2D核心功能对象——Sprite

    14.2.1 Sprite对象的创建和基本用法
    14.2.2 换帧动画的制作
    14.2.3 制作换帧动画的具体步骤

    14.3 Unity 2D中的物理引擎

    14.3.1 2D刚体
    14.3.2 2D碰撞器
    14.3.3 2D关节
    14.3.4 使用2D物理引擎制作撞冰块案例

    14.4 一个完整的2D游戏案例

    14.4.1 游戏玩法以及功能概述
    14.4.2 游戏的策划及准备工作
    14.4.3 游戏的架构
    14.4.4 菜单场景
    14.4.5 游戏场景

    14.5 本章小结

    15常用性能优化技术

    15.1 程序性能的分析

    15.1.1 Profiler使用方法
    15.1.2 Profiler的参数说明

    15.2 代码的断点调试

    15.2.1 通过MonoDevelop调试
    15.2.2 Microsoft Visual Studio Tools for Unity的使用

    15.3 优化事项

    15.3.1 遮挡剔除技术
    15.3.2 批处理技术
    15.3.3 移动平台的优化技巧

    15.4 本章小结

    16综合案例——指间足球

    16.1 背景以及功能概述

    16.1.1 游戏背景概述
    16.1.2 游戏功能简介

    16.2 游戏的策划及准备工作

    16.2.1 游戏的策划
    16.2.2 使用Unity开发游戏前的准备工作

    16.3 游戏的架构

    16.3.1 各个场景的简要介绍
    16.3.2 游戏架构简介

    16.4 游戏主场景

    16.4.1 场景搭建
    16.4.2 主摄像机设置及脚本开发
    16.4.3 守门员游戏对象相关脚本开发
    16.4.4 检测板游戏对象相关脚本开发
    16.4.5 提示板游戏对象相关脚本的开发
    16.4.6 门框游戏对象相关脚本的开发
    16.4.7 其他脚本的开发

    16.5 游戏界面的开发

    16.5.1 主菜单界面的搭建
    16.5.2 主菜单界面监听脚本的开发
    16.5.3 游戏界面的搭建
    16.5.4 游戏界面监听脚本的开发
    16.5.5 游戏暂停界面监听脚本的开发

    16.6 游戏的优化与改进

    思维导图

    Unity 5.X 3D游戏开发技术详解与典型案例

    防止博客图床图片失效,防止图片源站外链:

    http://www.processon.com/chart_image/5e5b2f02e4b069f82a1a52d1.png)

    思维导图在线编辑链接:

    https://www.processon.com/view/5e5b2f02e4b069f82a1a52ce

  • 相关阅读:
    Spring MVC “404 Not Found”错误的解决
    oracle高级编程2
    oracl 处理中文问题
    oracle中调用存储过程
    【Java多线程】使用多线程计算阶乘累加 1!+2!+3!+...+19!+20!。其中一个线程计算阶乘,另一线程实现累加并输出结果
    年轻人不讲武德,竟然还搞不懂JVM?求你们来看阿里Java开发岗的招聘要求吧!
    想拿到10k40k的offer,这些技能必不可少!作为程序员的你了解吗?
    一位面试官询问我:Java中的JVM内存溢出和内存泄露是什么?我这么回答成功拿到了offer。
    (四) Spring整合ActiveMQ超详细教程
    基于Java的Socket类Tcp网络编程实现实时聊天互动程序(一):QQ聊天界面的搭建
  • 原文地址:https://www.cnblogs.com/jingle1267/p/12821474.html
Copyright © 2011-2022 走看看