基于Unity引擎的游戏开发基础
Learn how to develop high-quality 3D mobile games using the Unity engine. This course covers physics, graphics, audio, and more. Start your game development journey now!
随着互联网和智能手机的快速发展,《Angry Birds》(愤怒的小鸟)、《Temple Run》(神庙逃亡)等手游作品取得巨大成功,让独立开发者赚得第一桶金。移动平台的3D网络游戏开发成为趋势,优秀作品雨后春笋般涌现,Supercell Oy公司开发的《Clash of Clans》(部落冲突)与Blizzard Entertainment公司开发的《Hearth Stone》(炉石传说)风靡全球。网易、腾讯、巨人、恺英网络等业界著名公司也将游戏业务重心转向移动平台,市场涌现出莉莉丝、银汉科技等一大批新锐手游公司。
Unity引擎简单易用、功能丰富、具有跨平台等优秀特性,已成为业界最重要的开发工具。目前,全球大部分独立开发者与游戏工作室都选择Unity游戏引擎作为开发工具,快速开发高品质的手游作品。
《Unity游戏编程基础》课程主要讲述了如何使用Unity引擎开发移动端3D游戏。与课程内容同步,我们设计基于移动平台的第一人称3D射击游戏《慕课英雄》(MOOC HERO)。整个过程分为三个阶段:第一阶段,介绍物理系统、图形系统和音频,用于构建多米诺骨牌的场景;第二阶段,使用Unity的地形系统搭建游戏场景,将第一阶段的多米诺骨牌模型添加到游戏场景中,添加玩家与敌人角色,使用动画系统控制玩家与敌人角色动画的播放,编写Unity脚本实现玩家与敌人的行为和场景中的游戏逻辑;第三阶段,使用uGUI设计游戏交互界面,使用粒子系统与线渲染器实现玩家开枪效果和场景火焰效果,同时制作了场景中收集物以及游戏胜利与失败画面,最终将项目部署到移动平台。
此外,网络开发、人工智能、Shader(着色器)编程等Unity引擎高级功能将在本专项课程有关游戏编程的第二门课中进行学习。
通过本门课程的学习,你将理解Unity引擎的主要功能,学会利用Unity引擎开发移动平台的3D游戏,在入职游戏行业或独立游戏开发道路上迈出重要一步。
What you will learn
欢迎
大家好,欢迎学习本门课程,踏上游戏开发之路! 本课程,我们使用Unity游戏引擎学习游戏开发,将开发的游戏部署到PC端和移动终端。本周课程的学习中,我们首先介绍课程的基本信息。接着,我们学习下载、安装Unity编辑器,并对Unity编辑器的界面、操作进行初步了解;最后,我们学习图形、音频等游戏资源的相关知识以及制作获取途径。 如果在概念、测试或是技术细节上遇到困难,可以在讨论区寻求帮助。希望大家融入Coursera学习社区,互相帮助,共同进步。 现在,让我们开始游戏开发之旅!
Unity开发基础 — Project 1:多米诺骨牌
大家好,欢迎进入第二周的学习!从本周起,我们将开始本门课程3D手机游戏项目—《慕课英雄》(MOOC HERO)的制作。 在本周,我们学习制作一个《多米诺骨牌》项目。在这个项目中,我们实现的场景效果为:三个颜色不同的圆球从金字塔顶端平台高处滚落,分别推动三排多米诺骨牌接连倒下。 通过这个项目,我们首先学习Unity工程创建、场景构建、资源包导入等基本步骤以及基本游戏对象的创建。接着,我们对Unity的物理系统、图形系统、音频进行初步讲解和运用。最后,我们在PC和移动平台上部署该项目。本周内容涉及一些脚本代码,大家暂时不需理解它们,我们将在第四周的课程中进行讲解。
Unity编程语言 — C#编程
大家好,欢迎进入第三周的学习!本周我们将学习 Unity 脚本语言—C#,它是学习 Unity 脚本编程的基础。如果已经具备 C#编程基础,可以直接完成相关测验,进入下一周的学习;如果具备 Java、 C++等面向对象的程序设计语言编程基础,可以快速学习本周内容,熟悉 C#编程语言;如果具备 C、 Pascal 等面向过程的程序设计语言编程基础,也许需要在面向对象的章节花一些精力。通过本周的学习,大家能够了解 C#开发的基础知识,这些知识能够胜任本课程涉及的 Unity 脚本编程。在本周的学习中,我们讲解 C#基本语法(包括变量声明、流程控制、函数定义等)以及面向对象的程序设计(包括类与对象的声明、类的继承、方法重载等)。 我们使用 Unity内嵌的 MonoDevelop 学习编写、运行 C#代码。
Unity脚本编程 — Project 2:慕课英雄 MOOC HERO(第三人称射击简易版)
大家好,欢迎进入第四周的学习! 通过本周的学习,我们制作《慕课英雄》(MOOC HERO)第三人称射击游戏的简易版。在这个游戏中,玩家通过键盘控制自己的avatar慕课英雄,躲避僵尸的袭击,射击消灭僵尸,直到玩家生命值为零或者射杀足够数量的僵尸取得胜利。在本周课程中,我们首先回顾《多米诺骨牌》项目中的代码,讲解Unity脚本的编写,包括脚本生命周期以及一些常用的API(应用程序编程接口)。接着,我们学习使用Unity的地形系统构造山地、树木、草地,并将多米诺骨牌模型放置在构造好的地形中。然后,我们在游戏场景中添加玩家和敌人,使用Unity动画系统控制玩家与敌人的动画播放,学习玩家和敌人脚本的编写,实现玩家的移动、攻击、生命值管理以及敌人的追踪、攻击、死亡等功能。最后,我们使用脚本控制游戏的整体进程,包括游戏胜利、失败的判断以及敌人的自动生成等。 本周内容涉及Unity图形用户界面(uGUI)、线渲染器(枪械射线)等知识,大家暂时不需要理解它们,我们将在第五周的课程中进行讲解。