《Unity3D从入门到精通》课程大纲文档格式.docx
《《Unity3D从入门到精通》课程大纲文档格式.docx》由会员分享,可在线阅读,更多相关《《Unity3D从入门到精通》课程大纲文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
2.课程的任务和要求:
1.在你开始研究任何的三维软件之前,理解你将面对的开发环境是十分必要的。
因此,我们的课程将在向你介绍Unity操作界面的知识之前,让你对这些重要的3D概念有良好的认识。
2、从零开始学习c#语言,熟悉Unity3D模型,从创建环境,角色控制器开始,逐渐从开发中了解并认识Unity。
同时学习,数学运算符指定、赋值、比较、逻辑、条件运算符、控制语句与循环语句等编程基础知识。
3、深入了解程序逻辑,在游戏项目开发中深入学习并掌握Unity开发中的模型,组件的开发。
包括刚体,Prefab,地形系统,角色控制,交互,触发器,粒子系统,收集、物品栏和HUD,游戏菜单制作GUITexture和GUI,游戏性能优化等这些unity组件和知识点
三、课程内容及要求
第一部分:
初识Unity3D
1.你先会学到:
坐标系和向量;
三维图标;
材质和纹理;
动态刚体;
碰撞检测;
游戏物体和组件;
资源和场景;
预制;
Unity编译器的界面。
2.游戏雏形和脚本基础,你将学到:
如何在Unity中创建一个新的工程;
如何导入资源包;
如何在场景视图和网格层次面板中使用物体对象,移动相机;
如何添加材质等
3.理解什么是编程,掌握主流的编程语言。
用C#编写代码,学习变量、函数、命令;
如何使用Translate()命令移动物体;
如何使用预制储存物体;
如何使用Instantiate()命令生成物体。
a)C#介绍和开发环境介绍
b)C#中的基本类型
c)C#中的流程控制
d)C#中的面向对象
e)类型与引用
f)C#中的常用类和方法
g)C#应用练习
h)Unity中的点语法
i)Unity中的常用类第一部分
参考案例一:
摧毁那堵墙
参考案例二:
发射射弹
参考案例三:
小球滚动,通过创建一个简单的滚球游戏,让你学习unity中的游戏物体,组件,预制,物理引擎和脚步编程。
第二部分:
Unity3D整合与开发
1.创建环境使用Unity自带的地形编辑器(TerrainEditor)在这里我们将来了解一下地形编辑器,并且学习如何使用地形工具构建我们的游戏环境——构造地形、雕刻地貌、应用纹理绘制,我们将侧重研究以下内容:
如何使用地形工具构建一个小岛;
场景光源;
添加声音;
导入资源包。
创造小岛,太阳,海,海滩
2.角色控制器为了帮助大家了解物体和组件是如何组成一个成熟的角色控制器的,让我们会一起学习
a)使用检视面板
b)解剖角色控制器
c)物体中的父子级关系
d)角色控制器组件
e)检视面板上的公有变量
f)角色相机绑定,使用相机创建一个试点
g)控制器移动脚本
参考案例:
跑跑卡丁车自己创建一个竞争性的赛车世界。
同时可以让用户对汽车进行换装。
a)角色动画控制
b)游戏关卡设置
c)摄像机控制
3.AI角色控制
潜行类游戏开发,通过创建一个完整的第三人称游戏,了解任务角色的控制和敌人控制(AI),学习写游戏逻辑和游戏管理系统。
a)第三人称角色控制
b)敌人动画
c)敌人AI
d)游戏逻辑
e)游戏音乐控制
f)游戏管理
敌军对战
3D跑酷游戏类,学习使用跳跃,蹲下技能,在逃跑过程中你会获得金币
a)使用ngui制作菜单
b)按键和重力感应控制
c)Mecanim和旧动画系统的支持
d)完整的菜单界面
e)商店系统
f)任务系统和全球成就系统
g)游戏声音和背景音乐
h)高度的移动端优化
4.虽然Unity能让我们在对引擎源代码最少的了解创造游戏,但我们需要了解更多的脚本代码来给Unity发布命令,在这里我们将深入学习C#进阶知识
a)C#接口和抽象类
b)枚举和集合
c)C#文件读写
d)异常处理
e)事件与委托
5.我们将进一步研究在游戏开发中对象之间3中重要的交互作用
碰撞检测——通过检测对象的碰撞器之间是否发生碰撞,来检测他们之间的相互作用;
触发器碰撞检测——检测是否有碰撞器进入被设置为触发器状态的碰撞器范围;
光线投射——在3D世界中从一个点到另一个点绘制一条直线(或者向量),以便在碰撞器没有发生碰撞和相互进入的情况下检测到可能发生的碰撞。
飞机大战游戏
a)碰撞检测
b)太空机移动控制…
c)敌机AI
d)游戏状态控制
哨岗模型
6.游戏动态血量条难度控制
第三部分:
Unity3D功能拓展
1.收集、物品栏和HUD
a)制作能量源预制
b)编写玩家Inventory脚本
c)显示能量源HUD
d)为玩家提供提示
赛车游戏
2.实例化和刚体
a)NvidiaPhysX物理引擎学习
b)结合Instantiate命令,使用刚体和预制
c)为玩家提供反馈
d)在碰撞发生时出发动画
e)使用整数型变量计算得分
f)连接两个不同的游戏
冲入岗哨
a)创建椰子预制
b)创建Launcher物体
c)使用脚本发射椰子子弹
d)限制实例数量,移除物体
e)添加小屋
f)赢得胜利
3.渲染效果-3D粒子系统
a)粒子系统组件和设置
b)使用粒子系统模拟烟和火
c)进一步完善对玩家的知道信息和反馈
d)在游戏运行的时候,使用脚本激活粒子系统
e)创建篝火粒子系统
4.事件系统的封装
a)针对委托的封装
b)方便功能扩展
5.Avatar换装系统
a)运动中的角色换装
b)换装角色的美术规范
6.虚拟摇杆
a)控制角色移动
7.动画管理器
a)GUITexture和脚本编辑淡入淡出
b)线性插值在2个数值之间的变换
c)在动画窗口中使用动画曲线修改动画
d)放置2D对象
8.局域网聊天功能
射击局域网对战类游戏,这里的游戏环境,游戏商店,枪支全部由我们来控制,在这个游戏中你将学习到如果使用Unity中的network系统创建一个局域网对战环境。
a)第一人称角色控制
b)角色动画控制
c)商店系统
d)局域网连接
e)地形系统
9.档案记录功能
10.AssetStore最火爆的UI插件NGUI的脚本学习
a)Unity3dNGUI制作字体简易教程
b)Unity3D插件NGUI的屏幕自适应
c)界面插件NGUI的使用
d)NGUI密码输入框
e)使用插件NGUI制作小地图
f)Unity3d中NGUI显示清晰中文字体
g)unity3d中使用Ngui实现幻灯片效果
h)NGUI的button事件触发和进度条
第四部分:
程序优化
1.游戏完善和最后的调整
a)调整地形和玩家的起始位置;
b)添加雾带来真实感;
c)对小岛环境使用光照贴图;
d)在火山中添加粒子系统;
e)为火山添加爆发时的音效;
打椰子游戏
2.跨平台发布
a)单机版游戏发布教学:
PC和Mac
b)网页版游戏发布教学:
WEB
c)Android手机平台发布及上架流程教学
d)iOS手机平台发布及上架流程教学
3.测试
a)测试游戏的方式,完成你的游戏
b)优化你的游戏
c)分析游戏的测试数据
第五部分:
shader
1.shader开发
a渲染管线
bshader分类
cshader各种属性及命令
d手写自己的shader
e用shader制作序列帧动画
第六部分:
综合项目
一:
游戏方向
unity3dARPG网络游戏编程实践
d)网络连接(unityNetWork与socket的对比)
e)登录界面(登录协议与模型定制及流程开发)
f)角色选择(进入游戏后的角色选择界面及通信流程)
g)角色创建(角色创建的界面与流程)
h)进入场景(选择角色后进入场景实例化自身及场景信息流程)
i)游戏UI(进入游戏后的UI界面更新及操作事件监听)
j)玩家信息(场景中各个玩家的头顶信息[血条,姓名..等等扩展信息]及自身UI信息)
k)场景聊天(与场景内其他玩家交互功能)
l)场景NPC(添加场景NPC及其状态,功能控制)
m)战斗场景(添加战斗场景及初始化信息)
n)战斗功能(打怪损血升级一系列游戏主体功能开发)
o)技能系统(加入技能攻击让游戏更具可玩性)
二:
应用方向
虚拟现实参考项目案例
1.3D汽车展示
2.房地产项目
3.虚拟超市项目
4.工业虚拟模拟
5.数字城市建设
6.军事、古迹复原