《Unity 3D 从入门到精通》课程大纲
制定人: (教研组组长) (参与) 审核人: (专业部主任) (教务科科长) 批准人: (分管校领导)
一、说 明
1.课程的性质和内容:
Unity3D(简称 U3D):虚拟现实的后起之秀,有前面的几个老大哥引擎的铺垫,U3D一起步就定义为高端大型引擎,且受到业内的广泛关注。起初只可以运行于 Mac 系统,后来扩展到 Windows 系统了,难能可贵的是他是免费的(对个人不用于商用的范围)U3D自带了不少的工具,方便制作。互动也是无所不能,但它没什么模块,功能几乎都是基于代码的,画面效果比 Q3D 还好。另外他可以方便的链接数据库,这样就可以做些多人在线的作品。总的来说,他跟 VT 一样,可以制作任何领域的作品。
如今,不论是业余爱好者还是开发游戏以及网页、桌面、移动平台和家庭游戏机的交互体验的大型工作室,都在使用 Unity 开发。为了更好的满足广大 Unity 开发爱好者的需求,天地培训特推出《Unity 从入门到精通》的综合课程。让你轻松学会 Unity,转眼间,从业余变专业,从小打小闹变成系统科班。学员学完以后可以从事游戏开发、网站开发、应用开发等工作。
2.课程的任务和要求:
1.在你开始研究任何的三维软件之前,理解你将面对的开发环境是十分必要的。因此,我们的课程将在向你介绍Unity操作界面的知识之前,让你对这些重要的3D概念有良好的认识。
2、从零开始学习c#语言,熟悉Unity3D模型,从创建环境,角色控制器开始,逐渐从开发中了解并认识Unity。同时学习,数学运算符指定、赋值、比较、逻辑、条件运算符、控制语句与循环语句等编程基础知识。
3、深入了解程序逻辑,在游戏项目开发中深入学习并掌握Unity开发中的模型,组件的开发。包括刚体,Prefab,地形系统,角色控制,交互,触发器,粒子系统,收集、物品栏和HUD, 游戏菜单制作GUITexture和GUI,游戏性能优化等这些unity组件和知识点
4、 学习使用Unity3d开发2d游戏的技术。并且会学习到学习Asset Store最火爆的UI插件NGUI
5、 学习完整开发流程,游戏完善与优化,测试以及跨平台发布
6、 理解并且能够灵活运用常见的设计模式。包括单例模式、工厂模式、MVC模式等。
7、 了解项目开发的基本流程,掌握常用项目管理软件的使用,方便学员进入公司以后更快的融入开发团队的日常开发中。
3.教学中应注意的问题:
4. 推荐教材及学时说明
三、课程内容及要求
第一部分:初识Unity 3D
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中的游戏物体,组件,预制,物理引擎和脚步编程。
第二部分:Unity 3D整合与开发
1. 创建环境使用Unity自带的地形编辑器(Terrain Editor)在这里我们将来了解一下地形编辑器,并且学习如何使用地形工具构建我们的游戏环境——构造地形、雕刻地貌、应用纹理绘制,我们将侧重研究以下内容:如何使用地形工具构建一个小岛;场景光源;添加声音;导入资源包。
参考案例一:创造小岛,太阳,海,海滩
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. 游戏动态血量条难度控制
第三部分:Unity 3D功能拓展
1. 收集、物品栏和HUD
a) 制作能量源预制 b) 编写玩家Inventory脚本 c) 显示能量源HUD d) 为玩家提供提示
参考案例:赛车游戏
2. 实例化和刚体
a) Nvidia PhysX物理引擎学习
b) 结合Instantiate命令,使用刚体和预制