Unity技术美术(TA)指北——Scripting脚本
原文指路:注意:经验丰富的程序员可以跳过该章节
Unity提供了许多工具来处理游戏开发中最常见的用例(use cases),作为TA,你可能会遇到需要自定义工具来帮助团队更有效地工作的情况,了解Unity中的代码工作方式以及如何利用脚本API,可以给你更大的灵活性以简化生产的任何部分,包括为设计师创建程序化系统(procedural systems)或可视化脚本工具(Visual Scripting tools),以及高度定制的资产导入工作流。
如果您缺乏编码经验并且想要在Unity中创建脚本,我们建议您阅读下面的这篇简短介绍,并细阅以下初学者资源清单。
Unity支持C#,这是一种与Java或C++类似的行业标准语言。在Unity中开发时,所有游戏性和交互性(gameplay and interactivity)都建立在三个基本构建块(fundamental building blocks)上:GameObjects、Components和Variables。
在Unity游戏中,任何对象都是一个GameObject,包括角色、灯光、特效、道具等。GameObjects本身不能做任何事情。为了使它们更加生动,您需要通过添加components给GameObjects赋予它们的属性。
Components定义和控制它们所附加的GameObject的行为。一个简单的例子是创建一个灯光,这涉及到将一个Light组件附加到一个GameObject上,又或者是将Rigidbody组件添加到一个GameObject上使其下落。
组件具有任意数量可编辑的属性(或变量),其可以在Unity编辑器的Inspector窗口或通过C#脚本进行调整,在上面的例子中,灯光的一些属性包括范围、颜色和强度。
Unity Learn提供了许多优秀的免费教程和课程来学习Unity中的C#脚本,可以查看以下三条推荐的学习路径:
[*]简短脚本教程:初级编程 - Unity Learn中级编程 - Unity Learn
[*]编码的Creator Kit:完成创作者套件:初学者代码 - Unity Learn,探索C#代码的基础知识,并将其应用于动作角色扮演游戏(RPG)
[*]用代码创造:Create with Code - Unity Learn
Unity中的可视化脚本
Unity的可视化脚本系统使您能够在不编写传统代码的情况下为Unity项目创建游戏逻辑。在Unity 2021 LTS或更新的版本中,可视化脚本会作为来自编辑器的包默认安装。对于较早的版本,包括2019 LTS和2020 LTS,您需要从Unity Asset Store安装它。
可视化脚本包括visual, node-based graphs,程序员和非程序员都可以使用它们来设计最终逻辑并快速创建原型。它提供了一种更加可访问的方法(more accessible way)来协作(collaborate)脚本,并且可以与项目中现有的C#脚本一起使用。您甚至可以使用它来实时观察您的基于图的逻辑如何执行。
构建游戏需要使用可视化脚本中的四个概念:
[*]Nodes:这些是用可视化脚本创建交互的基本构建块(basic building blocks for creating interactions)。它们可以做很多事情,比如监听事件(listening for events),确定变量的值(determining the value of a variable),并修改GameObject的Component。节点可以相互连接,以定义可视化脚本的数据或逻辑
[*]Graphs:Graphs可以可视化地表示一组为应用程序创建逻辑的节点。有两种类型的Graph:Script Graphs和State Graphs 。Script Graph用于以特定时间和特定顺序定义要执行的行为。相比之下,State Graph状态图包含了状态(用户定义的行为集合)以及它们之间的过渡(在满足特定的用户定义的参数时whenever certain user-defined parameters are met .)
[*]Script Machines and State Machines:让你能够在应用程序中使用上面两种Graph的Component,你需要将Component附加到GameObject上
[*]Variables:用于存储值和数据的容器,然后Graph中的节点可以引用它们。变量中的值在运行时可能会改变。
可视化脚本为程序员和TA提供了一个解决方案,用于创建扩展、模板和工具以更好地与艺术家和设计师合作。它确保项目中的每个人都能够按照流程进行工作,无论他们是否了解C#。
更多资料
Game Designer Playbook (unity.com)
Unity Visual Scripting | Unity
Introduction to Visual Scripting - Unity Learn
页:
[1]