零基础学习vr难吗?( 二 )


设计模型:单列、工厂模式、有限状态机;
Unity3D C#脚本基础API
Unity引擎的界面、组件等介绍; 3D坐标系、向量概念介绍; MonoBehaviour类了解Unity引擎的运作机制; 使用GameObject类构建基本的游戏对象; 学习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导航系统、场景烘焙、遮挡剔除 烘培使用技巧;
【零基础学习vr难吗?】Unity3D 文件系统与UI界面
C#文件内存数据流开发;
XML文件读写;
Jsone文件读写;
UGUI布局与适配;
使用NGUI插件实现游戏UI制作;
计算机基础图形学
渲染基础概念理解(GPU工作流程简介);
学习Unity3D引擎的 ShaderLab语法;
Cg语言基础学习;
Cg语言与Unity3D引擎结合实现渲染;
基础光照着色算法(Diffuse、Phong、BinPhong);
切线空间学习实现凹凸贴图渲染;
引擎控制着色器代码工作;
Unity3D高级开发
C++语言基础:指针 。引用、函数和类定义
C++语言高级开发:重载函数与运算符、OOP技术、泛型、STL模板:
C++文件数据流操作;
C#调用C++动态库;
Unity3D 高级网络应用开发
Linux、Windows、OSX多线程开发;
线程安全学习与应用;
网络套接字(Socket)套接字基础知识学习;
套接字基础通讯;
实现客户端/服务端通讯;
实现Unity引擎调用C++套接字实现引擎网络化;
Unity项目实训
学习Editor自定义组件;
学习EditorWindow工具化开发 。实现Unity引擎自定义工具制作;
实现地遍系统构建;AssetsBundle打包与读取 。
Unity项目实训
程序构建战斗系统核心框架;策略类游戏分析 。
实现战斗系统中的控制系统;策略类游戏实现(地图编辑系统 。角色技能系统、寻路系统、游戏数据读写 。网络通信);
实现战斗系统中的寻路技术;
实现战斗系统中的NPC的人工智能控制;
Unity项目实训
优化战斗系统;
对于计算密度高的算法向C++方式移植;
构建MVVM视图架构 。添加UI视图;
实现数据系统 。让所有的角色拥有数指属性;
Unity项目实训
优化数值系统;
优化美术资源的内存占用;
优化程序的冗余算法;
优化算法的精细度;
开始移植Android和IOS平台;
本人对学习VR开发及长期知识积累的一些建议(仅供参考) 。
(1)计算机图形学技术的学习及相关知识储备 。
(2)虚拟现实系统的交互设备 。eg:三维跟踪、人体运动、手部姿势、立体显示、声音输出、触觉力觉、三维扫描、三维打印等 。
(3)虚拟现实系统的关键技术:立体显示、环境建模、三维虚拟声音、人体自然交互以及相关开发软件及辅助软件的学习 。
(4)Vizard虚拟显示开发平台的使用 。
该平台下模型浏览、流程控制、人物角色、窗口界面、媒体素材、物理引擎、交互设备、网络控制等技术 。
(5)Python语言的学习及上述技术的语言辅助 。
注:VR的学习 。是长久技术的积累 。是知识的沉淀 。并非一日之功 。道阻且长!
其他观点:
没有基础学习VR也是可以的 。不过要比那些有基础的人付出更多努力才行 。至于难不难因人而异 。努力可以克服困难 。

推荐阅读