版本:Unity 6 (6000.0)
语言:英语
脚本入门
创建脚本

脚本入门

Unity 在设计上是可定制和可扩展的,几乎所有东西在某种程度上都是可脚本化的。您可以通过各种 编辑器视图 配置的许多项目都有相应的公共 C# 类表示,您可以在代码中与它们交互。

您可以使用编辑器 API 来定制和扩展编辑器创作工具,以改善您的开发工作流程。您可以使用引擎 API 来定义应用程序的运行时功能,包括图形、物理、角色行为以及对用户输入的响应。

脚本 API 参考 提供了所有公共 Unity API 的完整和权威参考。手册提供额外的背景和指导。

Unity 脚本环境

Unity 支持使用 C# 编程语言进行脚本编写。C#(发音为 C-sharp)是一种托管的、面向对象的编程语言,它是 .NET 平台的一部分,并在跨平台的 .NET 运行时中运行。如果其他 .NET 语言可以编译兼容的 DLL,则可以在 Unity 中使用它们,有关更多详细信息,请参阅 托管插件

脚本环境指的是两者

  • 您自己的本地环境或编写代码的上下文。这包括您的代码编辑器(IDE)和集成的源代码控制解决方案和操作系统。
  • Unity 提供的 C# 脚本环境。给定的 Unity 版本支持给定的 .NET 平台版本,这决定了您可以在代码中使用的 .NET 库。

有关脚本环境和工具的更多信息,请参阅 环境和工具

Unity 中的脚本工作原理

C# 脚本(扩展名为 .cs 的文件)是您项目中的 资源任何可在您的游戏或项目中使用的媒体或数据。资源可能来自在 Unity 之外创建的文件,例如 3D 模型、音频文件或图像。您也可以在 Unity 中创建某些资源类型,例如动画控制器、音频混音器或渲染纹理。 更多信息
请参阅 词汇表
,存储在 Assets 文件夹中并作为 资源数据库 的一部分保存。您可以通过 Assets > Create 菜单的 Scripting 子菜单创建从常见的 内置 Unity 类型 派生的模板脚本。

您可以配置一个默认的 外部脚本编辑器,它是 Unity 用于打开脚本资源以进行编辑的程序。通常,这将是用于 Unity 开发的 支持的 IDE 之一。

您可以创建自己的常规 C# 类型和逻辑以在您的游戏中使用,只要您编写的代码与活动 .NET 配置文件 兼容即可。但是,当您的脚本类型从内置的 Unity 类型继承时,它们会在 Unity 中获得额外的功能。

如果您的自定义类型从 UnityEngine.Object 继承,那么它们将可以分配到 检视器Unity 窗口,显示有关当前选定游戏对象、资源或项目设置的信息,允许您检查和编辑值。 更多信息
请参阅 词汇表
窗口中的字段。从 MonoBehaviour 继承允许脚本作为组件附加到 游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、摄像机、路径点等。游戏对象的功用由附加到它的组件定义。 更多信息
请参阅 词汇表
,以控制 场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是在逐块设计和构建您的游戏。 更多信息
请参阅 词汇表
中游戏对象的行为。

有关您可以从其继承的基本 Unity 类型的更多信息,请参阅 基本 Unity 类型

有关在检视器中查看 脚本一段代码,允许您创建自己的组件、触发游戏事件、随时间修改组件属性以及以您喜欢的任何方式响应用户输入。 更多信息
请参阅 词汇表
和编辑脚本组件的更多信息,请参阅 检查脚本

编译和代码重新加载

编译 将您编写的 C# 代码转换为在给定目标平台上运行的代码。编译的某些方面受您的控制,而另一些则不受您的控制。通过 将您的脚本组织成程序集,您可以减少不必要的重新编译并有效地管理依赖项。使用 条件编译,您可以选择性地将代码的部分包含或排除在编译之外。

根据您的设置,Unity 会在各种上下文中 重新编译和重新加载您的代码。重新加载代码对于使更改生效或在编辑模式和播放模式之间转换时保留状态很重要,但它也会影响性能和迭代时间。了解这些成本以及如何配置 Unity 的代码重新加载行为以减轻这些成本很重要。

其他资源

脚本入门
创建脚本