U3D游戏开发工程师班
Unity引擎基础概述
行业知识汇总(引擎概念、游戏发展、VR AR的应用领域)
需求分析“概念”(对于提出的需求可以在逻辑上拆解成相应步骤);
开发工具介绍:VistualStudio IDE、MonoDevelop IDE
C#脚本语言基础:数据类型、数学运算、逻辑运算三大模块基础。
C#脚本语言模块化开发
过程性模块化封装:方法定义,理解形参、实参和返回值的意义;
面向对象模块化封装:类对象申请与使用、类对象继承、虚拟化类使用、结构体、枚举、宏;
C#脚本语言面向对象开发
C#语言00P技术:类对象的创建和使用,理解构造和析构函数的申请与释放过程、了解C#内存申请释放的处理过程;成员变量属性化操作、纯虚类继承设计方案、类抽象性变化、使用泛型完成任意类型对象、深度复制和浅复制的操作、0bject基类的使用、集合应用;
数据结构(C#版本)
类对象的抽象接口开发。
数据结构:单双向链表的构建与实际应用,栈的构建与使用,队列的构建与使用;
排序算法:冒泡排序、排序、插入排序;
设计模型:单列、工厂模式、有限状态机;
Unity3D C#脚本基础API
Unity引擎的界面、组件等介绍; 3D坐标系、向量概念介绍; MonoBehaviour类了解Unity引擎的运作机制; 使用Game0bject类构建基本的游戏对象; 学习Transform类使我们的3D世界动起来; 学习Vector2/3/4类使用; 学习Mathf数学类。 学习Input辅助类掌握Unity引擎对硬件控制的反馈处理。 学习Time类使用;
基础3D数学
向量数学计算、向量数学计算与几何意义;
自定义设计向量计算类;
3X3矩阵线性计算、4X4齐次放射矩阵计算、矩阵求逆、四元数数学计算 ;
实现向量空间转换计算器;
补充三角函数(Sin, Cos, Tan, ArcCos, ArcSin, ArcTan);
Unity3D组件编程与应用
简易多线程:协同。
基础物理系统:刚体,碰撞体,射线。
摄像机组件与应用坐标系以及各个坐标系的转化。
灯光与音效组件的使用;
渲染组合套件和网格过滤组件控制。
2D物理组件;
资源系统和组件系统:Resources,Component集合。
Unity3D动画与粒子系统
使用Animation旧动画系统实现简单的重复性运动;
使用脚本实习旧动画系统实现状态机控制;
MecAnim新动画系统的学习和使用;
2D Animator动画系统综合应用;
利用新动画系统采用图示化的方式构建动作执行方案;
使用代码控制动画状态机产生运动变化;
动画系统结合粒子系统的综合应用;
Unity导航系统、场景烘焙、遮挡剔除 烘培使用技巧;
Unity3D 文件系统与UI界面
C#文件内存数据流开发;
XML文件读写;
Jsone文件读写;
UGUI布局与适配;
使用NGUI插件实现游戏UI制作;
计算机基础图形学
渲染基础概念理解(GPU工作流程简介);
学习Unity3D引擎的 ShaderLab语法;
Cg语言基础学习;
Cg语言与Unity3D引擎结合实现渲染;
基础光照着色算法(Diffuse、Phong、BinPhong);
切线空间学习实现凹凸贴图渲染;
引擎控制着色器代码工作;
Unity3D开发
C++语言基础:指针,引用、函数和类定义
C++语言开发:重载函数与运算符、00P技术、泛型、STL模板:
C++文件数据流操作;
C#调用C++动态库;
Unity3D 网络应用开发
Linux、Windows、0SX多线程开发;
线程安全学习与应用;
网络套接字(Socket)套接字基础知识学习;
套接字基础通讯;
实现客户端/服务端通讯;
实现Unity引擎调用C++套接字实现引擎网络化;
Unity项目实训
学习Editor自定义组件;
学习EditorWindow工具化开发,实现Unity引擎自定义工具制作;
实现地遍系统构建;AssetsBundle打包与读取。
Unity项目实训
程序构建战斗系统核心框架;策略类游戏分析。
实现战斗系统中的控制系统;策略类游戏实现(地图编辑系统,角色技能系统、寻路系统、游戏数据读写,网络通信);
实现战斗系统中的寻路技术;
实现战斗系统中的NPC的人工智能控制;
Unity项目实训
优化战斗系统;
对于计算密度高的算法向C++方式移植;
构建MVVM视图架构,添加UI视图;
实现数据系统,让所有的角色拥有数指属性;
Unity项目实训
优化数值系统;
优化美术资源的内存占用;
优化程序的冗余算法;
优化算法的精细度;
开始移植Android和I0S平台;