天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军《Unity3D从入门到精通》课程提纲前言:Unity3D(简称U3D):虚拟现实的后起之秀,有前面的几个老大哥引擎的铺垫,U3D一起步就定义为高端大型引擎,且受到业内的广泛关注。起初只可以运行于Mac系统,后来扩展到Windows系统了,难能可贵的是他是免费的(对个人不用于商用的范围)U3D自带了不少的工具,方便制作。互动也是无所不能,但它没什么模块,功能几乎都是基于代码的,画面效果比Q3D还好。另外他可以方便的链接数据库,这样就可以做些多人在线的作品。总的来说,他跟VT一样,可以制作任何领域的作品。如今,不论是业余爱好者还是开发游戏以及网页、桌面、移动平台和家庭游戏机的交互体验的大型工作室,都在使用Unity开发。为了更好的满足广大Unity开发爱好者的需求,天地培训特推出《Unity从入门到精通》的综合课程。让你轻松学会Unity,转眼间,从业余变专业,从小打小闹变成系统科班。学员学完以后可以从事游戏开发、网站开发、应用开发等工作。学习目标1、在你开始研究任何的三维软件之前,理解你将面对的开发环境是十分必要的。因此,我们的课程将在向你介绍Unity操作界面的知识之前,让你对这些重要的3D概念有良好的认识。2、从零开始学习c#语言,熟悉Unity3D模型,从创建环境,角色控制器开始,逐渐从开发中了解并认识Unity。同时学习,数学运算符指定、赋值、比较、逻辑、条件运算符、控制语句与循环语句等编程基础知识。3、深入了解程序逻辑,在游戏项目开发中深入学习并掌握Unity开发中的模型,组件的天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军开发。包括刚体,Prefab,地形系统,角色控制,交互,触发器,粒子系统,收集、物品栏和HUD,游戏菜单制作GUITexture和GUI,游戏性能优化等这些unity组件和知识点4、学习使用Unity3d开发2d游戏的技术。并且会学习到学习AssetStore最火爆的UI插件NGUI5、学习完整开发流程,游戏完善与优化,测试以及跨平台发布6、理解并且能够灵活运用常见的设计模式。包括单例模式、工厂模式、MVC模式等。7、了解项目开发的基本流程,掌握常用项目管理软件的使用,方便学员进入公司以后更快的融入开发团队的日常开发中。第一部分:初识Unity3D1.你先会学到:坐标系和向量;三维图标;材质和纹理;动态刚体;碰撞检测;游戏物体和组件;资源和场景;预制;Unity编译器的界面。2.游戏雏形和脚本基础,你将学到:如何在Unity中创建一个新的工程;如何导入资源包;如何在场景视图和网格层次面板中使用物体对象,移动相机;如何添加材质等3.理解什么是编程,掌握主流的编程语言。用C#编写代码,学习变量、函数、命令;如何使用Translate()命令移动物体;如何使用预制储存物体;如何使用Instantiate()命令生成物体。a)C#介绍和开发环境介绍b)C#中的基本类型c)C#中的流程控制d)C#中的面向对象天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军e)类型与引用f)C#中的常用类和方法g)C#应用练习h)Unity中的点语法i)Unity中的常用类第一部分参考案例一:摧毁那堵墙参考案例二:发射射弹参考案例三:小球滚动,通过创建一个简单的滚球游戏,让你学习unity中的游戏物体,组件,预制,物理引擎和脚步编程。第二部分:Unity3D整合与开发1.创建环境使用Unity自带的地形编辑器(TerrainEditor)在这里我们将来了解一下地形编辑器,并且学习如何使用地形工具构建我们的游戏环境——构造地形、雕刻地貌、应用纹理绘制,我们将侧重研究以下内容:如何使用地形工具构建一个小岛;场景光源;添加声音;导入资源包。参考案例一:创造小岛,太阳,海,海滩2.角色控制器为了帮助大家了解物体和组件是如何组成一个成熟的角色控制器的,让我们会一起学习a)使用检视面板b)解剖角色控制器c)物体中的父子级关系d)角色控制器组件天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军e)检视面板上的公有变量f)角色相机绑定,使用相机创建一个试点g)控制器移动脚本参考案例:跑跑卡丁车自己创建一个竞争性的赛车世界。同时可以让用户对汽车进行换装。a)角色动画控制b)游戏关卡设置c)摄像机控制3.AI角色控制参考案例:潜行类游戏开发,通过创建一个完整的第三人称游戏,了解任务角色的控制和敌人控制(AI),学习写游戏逻辑和游戏管理系统。a)第三人称角色控制b)敌人动画c)敌人AId)游戏逻辑e)游戏音乐控制f)游戏管理参考案例:敌军对战参考案例:3D跑酷游戏类,学习使用跳跃,蹲下技能,在逃跑过程中你会获得金币a)使用ngui制作菜单b)按键和重力感应控制天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军c)Mecanim和旧动画系统的支持d)完整的菜单界面e)商店系统f)任务系统和全球成就系统g)游戏声音和背景音乐h)高度的移动端优化4.虽然Unity能让我们在对引擎源代码最少的了解创造游戏,但我们需要了解更多的脚本代码来给Unity发布命令,在这里我们将深入学习C#进阶知识a)C#接口和抽象类b)枚举和集合c)C#文件读写d)异常处理e)事件与委托5.我们将进一步研究在游戏开发中对象之间3中重要的交互作用碰撞检测——通过检测对象的碰撞器之间是否发生碰撞,来检测他们之间的相互作用;触发器碰撞检测——检测是否有碰撞器进入被设置为触发器状态的碰撞器范围;光线投射——在3D世界中从一个点到另一个点绘制一条直线(或者向量),以便在碰撞器没有发生碰撞和相互进入的情况下检测到可能发生的碰撞。参考案例:飞机大战游戏a)碰撞检测b)太空机移动控制天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军c)敌机AId)游戏状态控制参考案例:哨岗模型6.游戏动态血量条难度控制第三部分:Unity3D功能拓展1.收集、物品栏和HUDa)制作能量源预制b)编写玩家Inventory脚本c)显示能量源HUDd)为玩家提供提示参考案例:赛车游戏2.实例化和刚体a)NvidiaPhysX物理引擎学习b)结合Instantiate命令,使用刚体和预制c)为玩家提供反馈d)在碰撞发生时出发动画e)使用整数型变量计算得分f)连接两个不同的游戏参考案例:冲入岗哨a)创建椰子预制b)创建Launcher物体天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军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个数值之间的变换天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军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事件触发和进度条天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军第四部分:程序优化1.游戏完善和最后的调整a)调整地形和玩家的起始位置;b)添加雾带来真实感;c)对小岛环境使用光照贴图;d)在火山中添加粒子系统;e)为火山添加爆发时的音效;参考案例:打椰子游戏2.跨平台发布a)单机版游戏发布教学:PC和Macb)网页版游戏发布教学:WEBc)Android手机平台发布及上架流程教学d)iOS手机平台发布及上架流程教学3.测试a)测试游戏的方式,完成你的游戏b)优化你的游戏c)分析游戏的测试数据第五部分:shader1.shader开发a渲染管线bshader分类天地培训——9RIA.com天地会官方培训机构——Adobe官方认证培训中心9RIA.com天地会——全球最大的Flash开发者社区——Adobe亚太地区最具影响力的社区冠军cshader各种属性及命令d手写自己的shadere用shader制作序列帧动画第六部分:综合项目一:游戏方向unity3dARPG网络游戏编程实践d)网络连接(unityNetWork与socket的对比)e)登录界面(登录协议与模型定制及流程开发)f)角色选择(进入游戏后的角色选择界面及通信流程)g)角色创建(角色创建的界面与流程)h)进入场景(选择角色后进入场景实例化自身及场景信息流程)i)游戏UI(进入游戏后的UI界面更新及操作事件监听)j)玩家信息(场景中各个玩家的头顶信息[血条,姓名..等等扩展信息]及自身UI信息)k)场景聊天(与场景内其他玩家交互功能)l)场景NPC(添加场景NPC及其状态,功能控制)m)战斗场景(添加战斗场景及