「Unity2D」使用Unity创建一个2D游戏系列-1

安装unity并且创建你的第一个场景

在第一章,你将会学习到一些非常基本的内容:首先是unity的下载和安装,其次是准备创建我们游戏内的第一个场景。

配置你的环境

我们从简单的部分开始:下载和配置Unity。

安装Unity

从官方网站下载最新的版本。启动可执行的文件,之后一切都会正确的安装。

选择一个代码编译器

Unity是依附于MonoDevelop(4.0.1目前)来编写代码。

Windows

如果你在Windows环境下,那么你可以(也应该)选择另一个选项:

  • Windows版本的Visual Studio 2013 Desktop (C#)

同样:下载并且安装,虽然下载和安装将会花费一些时间,但是整个过程将会非常简单因为其捆绑了所有你所需要的。之后,在Unity的设置中,将Visual Studio设置为你的默认编辑器。

不可不知:Unity是不可能使用Visual Studio 2013 Express 的调试工具。你需要专业版的Visual Studio并且要买UnityVS插件。在Express版本中,你将会有一个更好的代码编辑器,但缺乏一个调试工具将会很严重。

Mac OS X

MonoDevelop 4和Xamarin Studio非常相似。也就是说它比之前Unity版本的旧的MonoDecelop 2要好很多。虽然还不是非常完美,但是如果你是在Mac环境下,那么它仍然会是你的最佳选择。

哪种语音

Unity允许你使用三种语言进行编码:JavaScript(UnityScript),C#和Boo。

我们强烈的推荐你使用C#。它更强大并且更少出错。此外,本教程是用C#编写的。

如果我完全是一个Unity新手?

如果你对于Unity是一个完全的新手,在本教程中,我们讲尽我们最大的努力来进行讲解。

学习去使用Unity的主接口相对来说比较容易。你可能在你第一次打开这个软件的时候被吓到,但随着时间你会慢慢适应它。

这里有一些其他的我们找到的非常有趣并且可以辅助我们课程的东西:

  • Official Unity editor tutorials:官方的视频都是非常好的。你应该花费一个下午的时间来观看所有的——我们保证你不会浪费时间的。

  • Unity Patterns:一个有很多好的文章和工具的新网站。如果你对概念不是很清楚的话,协同程序的教程将是必读的。

第一个场景

创建一个新的项目

进入文件选项,然后创建一个新的项目。暂且不需要检测任何的标准包,你可以在之后需要的时候再导入,否则可能会使得你很困惑。

选择2D设置。像之前一样,你之后可以在项目设置里改变这个设置。

不要担心项目名称。这个项目名称是在选项中定义的,并且想要改变整个项目的名称只需要重命名这个文件夹。

准备项目

正如Damien在另外一个教程中所说的,如果你打算使用Git或者SVN,首先你需要做的就是为团队协作开启一些模糊设置。

不要做别人已经做过的事情,如果你感兴趣的话只需要检查这个教程。:)

Unity布局和面板

你现在看到的是一个漂亮的空的场景。这是我们正在使用的布局,但是你应该花费一些时间将其个性化设置为你想要的界面。我(Damien)个人喜欢让控制台安置在游戏视图的旁边,但是如果你是小屏幕的话,你可能会使用标签而不是面板。

在你创建游戏之前,花几分钟时间来组织一下你的项目和场景。

我们建议在Unity“Project”面板中创建文件夹来管理你的东西。这些文件夹将会科学的被创建在你的项目中的Assets文件夹中。

注:“Assets”文件夹是“superfolder”包含了任何你添加到“project”面板中的东西。在Unity中,它可能不是可见的,这取决于所选的布局面板(单列或者双列),但是如果你打开文件资源管理器,你就会看见它了。

这是Pixelnest中我们的项目所使用结构的一个参考示例,你可以自行调整来满足自己的喜好。

项目资源

在你的“Project”面板中,你可以找到各种不同类型的资源:

Prefabs

可重用的游戏对象(例如:子弹,敌人,奖励)

Prefabs在一个编程语言中可以看作是一个类“class”,可以实例化为游戏对象。它是一个你可以在场景或者游戏执行过程复制和改变的模具。

Scenes

一个场景基本上算是一个关卡或是一个菜单。

对比于你在“Project”面板中创建的其他对象,场景在“File”菜单中被创建。如果你想要创建一个场景,点击“New Scene”子菜单,然后不要忘记将其保存到“Scenes”文件夹下。

场景需要手动保存,在对场景和其中的元素进行了改变之后却没有保存,这是在Unity中的一个经典的错误。你的版本控制工具将不会看到任何的变化,直到你保存之后。

Sounds

我猜这个很清晰了,看看你是否会将音乐分到另外一个文件夹中。

Scripts

所有的代码都在这里。这个文件夹相当于一个C#项目的根文件夹。

Textures

纹理是你的游戏中的精灵和图像。在一个2D项目中,你可以重命名这个文件夹为“Sprites”。

这在2D项目中并不是非常重要的,但是保留这个命名“Textures”,Unity将会识别和自动执行一些任务。如果你想了解这个问题的话,你可以阅读这个或者这个。

注意“Resources”文件夹:如果你之前已经使用过了Unity,那么你可能知道“Resources”是一个非常有用而且独特的文件夹。它允许你在脚本中加载一个对象或者一个文件(通过使用静态的Resources类)。

我们将不会使用它直到最后(在关于菜单的这一章)。因此,为了简化,我们现在决定不使用它。

我们的第一个游戏场景

“Hierarchy”面板包含了场景中可用的每一个对象。这些都是当你按下“Play”按钮,开始游戏时候所操纵的对象。

对Unity来说,场景中的每一个对象都是一个“game object”。你可以在根场景中创建一个对象,或者创建一个游戏对象的孩子对象。你可以在任何时刻移动一个对象来改变它的父对象。

正如你所看到的,在Level对象下我们有三个孩子对象。

空对象

在Unity中的一个诀窍是创建一个空的对象并且将其作为其他游戏对象的一个“folder”。这将会简化你场景的层次结构。

确保他们都是在(0,0,0)的位置上,这样你将可以更容易的跟踪他们。位置并不重要,因为空对象并不使用它。

注意:改变位置将会影响孩子的相对位置。在本教程中将不会讨论这个问题,所以暂时让空对象的位置是(0,0,0)。

将这些空对象看成是纯粹的逻辑对象。

填充场景

默认情况下,一个新的场景被创建都将伴随一个默认的主摄像机。暂时先不管它。

目前,你需要创建这些空的对象:

  • Scripts:我们将会在这里添加全局脚本。我们使用这个对象来附加一些与其他对象并不相关联的脚本。例如,我们将会附加一个“Game”管理脚本到上面。
  • Render:在这里移动摄像机。同时我们也将光线对象放到里面。
  • level

在Level对象中,添加三个空的孩子对象:

  • 0 - Background
  • 1 - Middleground
  • 2 - Foreground

保存这个场景到“Scenes”文件夹中。将其命名为你想要的(例如“Stage1”)。

你应该有:

提示:默认情况下,一个游戏对象的位置是相对于其父对象的。

这种行为也对摄像机游戏对象产生了一个好的副作用:如果一个摄像机对象是一个对象的子对象,它将自动跟踪其父对象的位置。如果这个摄像机对象在根场景中或者是在一个空的游戏对象内,那么视角将会是固定的。但是,如果你将一个摄像机对象放入一个移动的游戏对象中,那么这个摄像机将会在这个场景中跟随着这个游戏对象。

尽管如此,对于我们的游戏,我们想要使摄像机固定,这也就是为什么我们将摄像机对象放到Render这个空游戏对象中。但是记住这个摄像机的属性将会非常有用。

我们将会在之后的“Parallax Scrolling”章节中讨论这个话题。

下一步

对于一个游戏我们还有很多没有实现,对吗?

我们刚刚创建了我们游戏的基本结构。在下一章中我们将会添加一些有趣的东西:背景和一些元素!

标签: none

「Unity2D」使用Unity创建一个2D游戏系列-1相关推荐

  1. 「Unity2D」使用Unity创建一个2D游戏系列-9

    菜单选项 - 载入和重启游戏 本文由泰然教程组成员 betterdenger 翻译,原文请参阅「Menus - loading and restarting the game」 我们已经完成了我们游戏 ...

  2. 「Unity2D」使用Unity创建一个2D游戏系列-8

    现在我们通过使用粒子改进了游戏的视觉效果,接着我们会在工程里里添加一些音乐和声音.使用Unity我们可以很简单做到,但是这部分却对游戏非常重要重要. 你会学到在哪里去找游戏的声音和音乐,选取一些声音用 ...

  3. Unity学习笔记第二章:如何创建一个2D游戏

    ps:发文章只是为了稳固自己的学习记录一下,如果有什么错误麻烦多指教 目前学习到了自己的第一个2D游戏,记录一下大概流程以及Sprite的操作 1:地形的创建设置以及Sprite的操作: 创建地形这块 ...

  4. ChatGPT 设计游戏剧情 | 基于 AI 5 天创建一个农场游戏,完结篇!

    欢迎使用 AI 进行游戏开发! 在本系列中,我们将使用 AI 工具在 5 天内创建一个功能完备的农场游戏.到本系列结束时,您将了解到如何将多种 AI 工具整合到游戏开发流程中.本文将向您展示如何将 A ...

  5. 学习用C#在Unity中创建一个2D Metroidvania游戏

    学习用C#在Unity中创建一个2D Metroidvania游戏 你会学到: 构建2D Unity游戏 用C#编程 玩家统计,水平提升,米尔和远程攻击 敌方人工智能系统 制定级别和级别选择 Lear ...

  6. 用Unity和Playmaker创建一个限时游戏 Creating a Time Limit game with Unity and Playmaker

    本课程结束时,您将拥有在Unity中使用Playmaker创建游戏的工具 你会学到: playmaker状态的基础以及它们如何与动作一起工作. 安装悬停车,可以在竞技场内行驶. 不同力度的射击地雷驱动 ...

  7. unity创建一个6面体的3D模型,确保它每一个面都是不同的。能旋转每一个面唤醒不同的物品

    文章目录 前言 unity创建一个6面体的3D模型,确保它每一个面都是不同的.能旋转每一个面唤醒不同的物品 一.物体每一面旋转停止呼出不同面板 二.使用步骤 1.控制旋转与唤醒 总结 前言 unity ...

  8. 基于unity创建一个简单的VR demo

    创建一个VR项目 我们将使用Unity创建一个简单的VR项目demo,其效果是在VR头盔中观察一个立方体. Step 1 打开Unity,创建一个新的空项目. Step 2 在Unity的菜单中选择F ...

  9. 使用Unity创建塔防游戏(Part1)

    How to Create a Tower Defense Game in Unity - Part1 原文作者:Barbara Reichart 文章原译:http://www.cnblogs.co ...

最新文章

  1. css为元素添加样式,JQuery如何为元素添加样式
  2. 深度学习初学者使用Keras构建和部署CNN模型
  3. python相对路径找不到文件_Python相对路径从子文件夹导入
  4. AngularJS(三):重复HTML元素、数据绑定
  5. kotlin 第一个程序_Kotlin程序添加两个矩阵
  6. win10无法运行C语言文件,主编告诉你win10打不开pdf文件的详尽处理办法
  7. 22岁大学生获谷歌天价offer,击败6000人年薪百万
  8. Python版课堂管理系统中使用UDP广播远程关闭客户端程序思路与源码
  9. android sqlite orm,ioc,Afinal 0.2 发布 Android的快速开发框架(ORM,IOC)
  10. Git基础知识与常用命令
  11. python 干什么工作具有明显优势-python语言的优势是什么
  12. JAVA基础语法 - 继承
  13. 简单集成华为PUSH
  14. 图像识别用什么神经网络,图神经网络可以做什么
  15. win7利用pycharm代码连接夜神模拟器运行appium,被杀进程怎么办
  16. 同一个ssh key用在多台电脑上
  17. 【腾讯地图API】制作多途经点的线路导航——路线坐标规划
  18. java75-GUL文本框和标签
  19. 痞子衡嵌入式:i.MXRT连接特殊Octal Flash时(OPI DTR模式下反转字节序)下载与启动注意事项(以MX25UM51245为例)...
  20. 智能内容安全平台的运营维护与分享

热门文章

  1. 苹果手机充电孔变松了_用iPhone 12的MagSafe无线充电器给安卓手机充电?苹果:你想多了|充电器|安卓手机|手机|iphone|iphone手机...
  2. [2020 icassp] PitchNet-Unsupervised Singing Voice Conversion with Pitch Adversarial Network
  3. 前端入门: 用css设置文字样式。
  4. 航天信息a6无法连接服务器,航天信息a6帐套中的会计期间怎么设置
  5. 数据结构系列二---[一周leetcode刷题记录]
  6. 他99年出生,本科身份摘FOCS 2021最佳学生论文奖,曾4刷NOI金牌
  7. linux+压缩率最高的命令,Linux压缩解压命令tar、tgz、tar.bz2压缩比率对比
  8. 几张产生视觉错觉的图片
  9. Could not resolve com.youzanyun.open.mobile:x5sdk:6.4.25.
  10. QNX-Screen官方文档理解(Configuring Screen)