使用 C# 脚本创建 Unity 3D 游戏






4.94/5 (30投票s)
在本文中,我们将了解如何使用 C# 脚本创建简单的 Unity 3D 游戏。
引言
本文涵盖以下主题
- Unity 3D 简介
- 从 Visual Studio 2015 安装 Unity
- 创建您的第一个 Unity 3D 应用程序
- Unity 3D 框架简介
- 如何将 C# 脚本添加到您的 Unity 3D 应用程序
- 如何将 C# 脚本添加到选定对象以产生结果
- 如何构建和运行 Unity 3D 应用程序到 Web
Unity 3D 简介
Unity 用于开发游戏应用程序。使用 Unity,我们可以创建 2D 和 3D 游戏。它还支持多平台,这意味着我们可以将 Unity 程序构建并部署到 WEB、Windows 和 MAC OS、iOS、Android、BlackBerry 等。这很有趣,是的,这是 Unity 的主要优势,因为我们编写一次就可以部署到多个平台。Unity 的另一个优点是我们可以编写 C# 脚本来对游戏对象执行一些操作,例如,我们可以编写 C# 脚本来旋转 3D 文本、立方体等。我们可以看到更多关于如何安装 Unity 以及如何开始并运行我们的第一个 Unity 游戏应用程序的详细信息。
有关更多详细信息,您可以参考 Unity3d 网站 此处。
对于那些不知道如何使用 C# 编写游戏应用程序的游戏爱好者来说,这是一个非常好的开始使用 Unity 的地方。Unity 是一个非常好的平台,可以开始编写您自己的第一个游戏应用程序并使用 C# 编写脚本。
有关 Unity C# 脚本教程,请参阅 此链接。您可以在此找到 C# 脚本 API 和 JavaScript API。
从 Visual Studio 2015 安装 Unity
在此,我使用了 Visual Studio 2015。您可以从此链接 下载 Visual Studio 2015 Community Edition。
安装 Visual Studio 2015 后,单击开始 -> 程序 -> 单击Visual Studio 2015。
单击新建 -> 项目 -> 选择游戏。如果您尚未在计算机上安装 Unity,可以在此处安装。选择安装 Unity,然后单击确定。
单击安装以继续安装 Unity 和 Visual Studio Tools for Unity。
选择 Unity 和 Visual Studio Tools for Unity,然后单击下一步,这将会在您的计算机上安装 Unity。请等待几分钟以完成安装过程。
Unity 安装完成后,单击开始菜单 -> 单击Unity Folder,然后单击Unity。
当您从开始菜单单击 Unity 时,第一次会要求您使用您的 Unity 帐户登录。如果您没有 Unity 帐户,可以创建一个新的 Unity 帐户并使用该帐户登录以打开您的 Unity 框架。
如果您有专业版许可证,可以输入许可证代码,否则选择Unity Personal Edition并单击下一步。
创建您的第一个 Unity 3D 应用程序
单击创建新项目以创建您的第一个 Unity 游戏应用程序。
选择您的项目文件夹,为您的 Unity 应用程序命名,然后选择 2D 或 3D。在此示例中,我使用了 Unity 3D,因此我选择了 3D 并单击创建项目。
现在您可以开始进行您的第一个 Unity 游戏应用程序开发了。
Using the Code
Unity 3D 框架简介
创建新项目后,我们可以看到 Unity 框架如下。在 Unity 框架中,我们可以看到以下六个主要部分
- Hierarchy Window (层级窗口) – 我们场景中添加的所有游戏对象、相机和灯光都将在此窗口中列出。我们可以通过右键单击层级窗口并根据需要进行选择来向我们的场景添加 2D、3D 对象等。(此处,游戏对象如
Cube
、Sphere3D
文本等)。您也可以从GameObject菜单添加对象。 - Project Window (项目窗口) – 我们可以在此窗口中看到我们整个项目文件。我们可以在此窗口中添加 C# 脚本文件。
- Scene Window (场景窗口) – 我们可以在这里看到我们添加到场景中的所有对象,例如,如果我们添加立方体和 3D 文本,我们也可以在此场景窗口中看到它们。
- Game Window (游戏窗口) – 在这里,我们可以看到我们场景的最终输出。我们可以单击运行按钮来查看游戏输出。
- Console Window (控制台窗口) – 在此窗口中,我们可以看到脚本文件中存在的任何错误消息。
- Property Window (属性窗口) – 我们可以更改选定对象的字体颜色、对齐方式等。
当我们在层级窗口中创建 Unity 程序时,默认会看到主相机和定向灯光已添加。
主相机
这将用于从我们放置的任何角度显示我们的对象。
在这里,我们可以看到我已经向场景添加了 3D 胶囊对象和 3D 文本对象。现在,让我们看看如何为每个选定对象使用属性窗口。
Object Toolbar (对象工具栏)
我们可以在 Unity 框架顶部看到以下工具栏。
- 第一个工具用于拖动和调整我们游戏的场景。
- 第二个工具用于移动选定对象并将其放置在我们所需的位置。当我们单击移动工具并从场景中选择某个对象并拖动该对象时,我们可以看到该对象在属性窗口中的 X 和 Y 位置会发生变化。
- 第三个工具用于旋转选定对象。当我们单击旋转工具并从场景中选择某个对象时,通过单击该对象,我们可以按需旋转该对象,我们还可以看到选定对象的 X 和 Y 旋转值会发生变化。要查看实际输出,请单击游戏窗口。
- 第四个工具用于缩放选定对象。我们可以通过单击缩放工具来调整选定对象的大小。
Property Window (属性窗口)
现在我们开始添加颜色和定向灯光。
定向灯光对象将用于为我们的对象添加灯光效果,例如,在这里我们可以看到我已经选择了定向灯光并将其拖动并放置在胶囊对象附近。
现在在属性窗口中,我们可以看到我已经为定向灯光对象选择了绿色,并且我已经从属性窗口增加了灯光对象的强度。
我们可以看到胶囊对象上最终的灯光效果,它最初是白色的,因为灯光放置在胶囊对象上,现在它上面有绿色的灯光效果。
3D 文本属性
在这里,我们可以看到与我们的 Visual Studio 属性窗口类似,3D 文本对象具有文本等属性(我们可以为选定的 3D 文本对象添加任何文本,例如,我将我的名字设为“Shanu
”)。我们可以为Text
属性添加颜色等。我们可以从属性窗口顶部或层级窗口为对象命名,我们可以重命名我们的对象名称。
如何将 C# 脚本添加到您的 Unity 3D 应用程序
到目前为止,我们已经为我们的游戏应用程序添加了基本设计,现在让我们看看如何通过编写简单的 C# 脚本来添加一些基本操作,例如旋转我们的 3D 胶囊和 3D 文本对象。
在我们的 .NET Web 或 Winform 应用程序中,我们可以看到 Code-Behind (.CS) 文件用于添加 C# 代码部分,但在 Unity 中,我们可以通过从项目窗口添加 C# 脚本来添加 C# 代码。
要添加 C# 脚本文件,请右键单击项目窗口,然后选择创建,然后单击 C# 脚本。
添加 C# 脚本文件后,我们可以看到现在添加了 C# 文件。我们可以根据需要重命名 C# 脚本文件,例如,在这里我将 C# 脚本文件命名为“shanuBehaviour”。
要编写脚本文件中的 C# 代码,请双击我们添加的 C# 脚本文件。我们可以看到 C# 脚本文件将在 Mono Editor 中打开,如下所示。
MonoDevelop 是一个 IDE,它是编写 C#、JavaScript 等脚本的默认编辑器。有关 MonoDevelop 的更多详细信息,请参考此链接 此处。
C# 脚本文件代码部分
默认情况下,当我们打开 C# 代码文件时,它将如下所示。
我们可以看到我们的 C# 脚本文件中添加了两个默认命名空间。
我们的整个 C# 脚本类将默认继承 MonoBehaviour
类。MonoBehaviour
是所有脚本派生的基类。有关 MonoBehaviour
的更多详细信息,请参考此链接 此处。
当我们创建 C# 脚本文件时,我们可以看到两个默认方法:Start()
和 Update()
。
Start()
方法:Start()
方法类似于我们的 Webform Page Load 或 Winform Form Load 方法。Start
方法将在程序开始时只运行一次。Update()
方法:Update()
方法是一个重要的方法,因为每次都会调用此方法来执行我们的操作。例如,如果我们想旋转一个Object
,我们将代码写在update
方法中,并将 C# 脚本文件分配给该对象。当我们运行 Unity 程序时,每次都会调用此 update 方法,并且我们可以从游戏输出中看到对象的连续旋转。
using UnityEngine;
using System.Collections;
public class shanuBehaviour : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
用于旋转对象的简单 C# 脚本文件
在这里,我们可以看到我已经在 Update()
方法中编写了一个简单的代码,用于在设定的时间间隔内旋转对象。
transofrm.RotateAround()
方法将用于旋转对象。我们将旋转方向和时间间隔作为参数传递给 RoteAround()
方法。
using UnityEngine;
using System.Collections;
public class shanuBehaviour : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
transform.RotateAround (Vector3.right,Vector3.up , 40 * Time.deltaTime);
}
}
编写 C# 代码后,将其保存在 MonoDevelop
中,我们就可以在 Unity 框架中看到属性窗口右侧的更改。
Console Window (控制台窗口):我们可以从控制台窗口看到 C# 脚本的错误消息。例如,我将“this
”关键字拼写错误为“thisd
”,我们可以在控制台窗口底部看到错误消息,并且当我们单击游戏窗口时,我们也可以看到如下错误消息
如何将 C# 脚本添加到选定对象以产生结果
要将我们的 C# 脚本文件添加到选定对象,请单击 C# 脚本文件并将其拖动到层级窗口中的选定对象上。请参见下面的 GIF 图像,了解如何将 C# 脚本文件添加到我们的对象。
现在我们已经使用 Unity 创建了简单的游戏应用程序,运行程序并从游戏窗口检查输出。
如何构建和运行 Unity 3D 应用程序到 Web
要构建并运行浏览器中的输出,请单击文件 -> 构建和运行。
选择我们的场景,因为我们只有一个场景,我将单击添加当前按钮,这将把我们当前的场景添加到构建和运行中。在平台中,我们可以看到 Web 播放器、PC、iOS、Android 等。我们可以选择任何一个来在选定的平台上查看我们的输出。在这里,我选择了 Web 播放器。
如果我们单击构建,我们可以看到结果输出文件将被添加到我们选择的文件夹中。在这里,当我们单击 BuildOutput.html 文件时,我们可以看到我们的 Unity 游戏将在浏览器中显示。
我们可以安装 Unity Web 播放器来查看输出。
历史
- 2015 年 8 月 5 日:初始版本