Skip to main content

介绍 Unity 和 VRChat 创作者助手(VRChat Creator Companion)

这里有个视频

您是否曾考虑过心动于创建自己的 VRChat 世界,却不知从何开始

创建 Unity 中建立室内场景并没有您想象那么困难要简单得多

这个初学者本入门课程涵盖了构建场景时需要了解的所有内容,包括多项最佳实践案例本教程面向各类人群,包括那些没有从未接触过3D的 3D 创作的人。我们将从头到尾仅使用一个软件:Unity,Unity这样一来您就能够快速高效地创建场景,无需担心从 Blender 等完全不同的软件学习和导出。

首先您需要做的就是安装 Unity Hub,Hub,您可以通过将让您个软件更轻松地使用管理多个 Unity 版本;因此当它不可避免地需要并在更新版本,Unity Hub 会使更轻松地下载新版本、升级或迁移项目变得更加轻松。这也是创建 VRChat 项目的必要条件。

如果您并不打算使用 Unity 而不是制作 VRChat,最好VRChat 作品,推荐您下载 Unity 的最新 LTS 版本。否则反之,请跳过此步骤,下载 VRChat Creator Companion(Companion登录 VRChat 网站后在下载页面或描述中可以找到直接链接),它将帮助您安装正确版本的 Unity。

 Unity Hub中Hub 中,您需要登录您的Unity账 Unity 账户,如果尚未拥有账户,则需创建一个。使用该软件 Unity 需要用到许可证,个人许可证(personal license) 是免费且永久的。如果您在上述步骤中遇到任何问题,请转到 Unity Hub 的首选项偏好(preferences)中的许可证选项卡页面进行修复。我一个专业许可证(professional license),因为我使用的是 Unity 学生版

如果您不是在创建VRChat项 VRChat 项目,请继续直接通过 Hub 创建一个新的Unity项 Unity 项目。对于大多数人来说在普遍情况下最好在开始新项目时应最好选择 URP,URP(Universal Render Pipeline)但本系列课程将涵盖内置渲染管线(的是 BRP(Built-in Render Pipeline)因为 VRChat 使用它),的就是 BRP,两者渲染管线之间仅有很小的差异,主要集中在材质和着色器方面。一旦出现这些差异有所表现时,我会尽可能指出。这边不太建议不要新手 High Definition Render Pipeline(高清渲染管线/HDRP) 开始接触因为那此类渲染管线的使用只会更加复杂。

如果您正在制作 VRChat 项目,您第一个需要的就是一个合适的 VRChat 账户,账户至少需是 New User 级别蓝色,否则您将无法上传任何内容!

在安装了 Unity Hub创作者助手 (Creator CompanionCompanion) 后,创建一个新的 UdonSharpUnity 2022 World 项目。这是一种允许使用 VRChat 的 Udon 编程语言的 C# 脚本的 world 项目。即使您不打算自己进行编程操作,它也会让您导入社区中其他用户创建的许多有趣的玩具;我会在未来的视频中讨论这个问题

这里有一个建议:如果您有多个硬盘,我建议您将所有 Unity 项目全部放在一个文件夹中会是个好主意,因为它们可能会占用很大空间!

完成了所有这些上述步骤后,Unity 会一些时间设置一切,然自动打开应用程序此时,现在应该便能够看到您在创建项目时使用的默认 Unity 布局。如果您想在要更改界面主题(浅色深色模式之间切换 Unity 界面可以转到 Edit>Preferences>General>Editor ThemeTheme。

最大且最显眼的窗口当然是场景视图;这是 Unity 场景的 3D 视图。您可以使用鼠标滚轮进行放大缩小。您可以使用按住鼠标中键进行平移(或按 Q 使用鼠标左键),如果您按住 Alt 并鼠标左键则可以旋转。您可以通过按住鼠标右键并移动鼠标可以环顾四周,长按鼠标右键的同时在按住时还可以使用 WASD 键以及 E 和 Q 键进行移动(E 上升,Q 下降来导航场景

默认情况下,场景中应该有两个对象。您可以在位于屏幕左侧的 Hierarchy(次结构”选项卡级窗口)中看到它们。单击 Main Camera(主摄像机,它就会编辑器界面突出高亮显示,Scene(场景选项卡窗口)中的对象上会对应出现一个三轴 gizmo,并且而有关 Main Camera(主摄像机)的相关信息会显示在最右侧的 Inspector(检查器”选项卡窗口)中。Inspector(检查窗口)会显示指定对象的所有信息,每个折叠部分窗被称为组件。每个对象都具有一个变换组件以用于表示其 XYZ 位置、旋转和缩放。如果您在 Inspector(检查窗口)中编辑数值,对象会在场景视图中进行对应更新,反之亦然。

理解 Game Object(游戏物体对象)了解参透 Unity 的关键。在 Unity 中,一切的一切都是 Game Object(游戏物体对象),并且每个 Game Object(游戏物体对象)都可以包含赋予组件以执行各种操作。换句话说,Game Object(游戏物体对象)本质上只是用于容纳可以实际执行操作的组件的一个容器

例如

  • Main Camera(主摄像机不是一个摄像机对象;它是一个带有摄像机组件的 Game Object(游戏物体对象)
  • 平行光源不是光源对象;是一个带有光源组件的Game Object(游戏物体对象)
  • 视频电子游戏中角色不是角色对象,而是一个带有蒙皮网格渲染器组件和角色控制器组件以及其他大量组件和脚本的Game Object(游戏物体对象),这些组件和脚本使其成为可玩视频的电子游戏角色。

只有当您开始考虑了解组件时,才能真正了解 Unity。

屏幕底部应该是“,我们可以找到 Project (项目”视图窗口),它出了一个项目中的所有游戏资源,其中许多资源可以快捷地拖放到场景中。

Unity 场景就像独立的级别或类似,VRChat 世界:我们可以在单个 Unity 项目中创建也包含多个不同的场景,但每个场景都是独立的,无法像 VRChatUnity 世界仅限于那样在个项目中创建多个场景。

可以根据自己的喜好重新排列这些面板窗口。为了保持一致性易于学习,我将保持本系列教程将保留默认布局,除非明确。如果某个环节需打开所需的新标签,我会明确指出提醒。如果将窗口重置为默认布局,只需可以点击右上角的下拉菜单,选择 Layout(布局,然后选择 Default(默认,或者点击“窗口” Window>“布局”Layouts>“默认”。Default。

现在我们将置一个测试场景。首先,我们需要为玩家站立的平台添加一个地面。要添加对象,请转到 Hierarchy(次结构”级窗口)面板,右键击并选择 3D object>Plane(3D 对象>平面(或者您可以使用顶部的“游戏对象” Game Object 菜单)。在 Scene(场景选项卡中窗口)选中对象后F"F",以将其带入视野。默认情况下,对象中心应该有一个 gizmo,其中包含 3 个箭头;您的 gizmo,你可以使用 W、E、R、WERTY 键在不同 gizmo 之间切换。我们希望这个将把平面位于放置在场景的中心,也就是原点位置要实现这一点为此,请确保选择平面,转到检查器被选中,然后在 Hierarchy(层级窗口)中,找到 Transform(变换组件下,单并点击三个垂直点,然后 Reset(重置。这将使对象的 XYZ 位置和旋转复位为 0, 0, 0,缩放复位为 1, 1, 1。

如果您仅在 Unity 中制作环境场景,不是并非在 VRChat,您可以导入并拖动您选择的角色控制器,例如 Unity 的第一人称控制器模板。

本课程的其余部分将确保您可以将工作世界项目上传至 VRChat。

如果您使用 VRChat Creator Companion 制作此项目,则会在菜单栏中看到一个名为 VRChat SDK 的菜单。在开始之前,请转到 Project(项目”选项卡窗口),而不是 Assets(资产窗口),点击下方的 Package(”选项卡窗口,点击搜索栏并键入“VRCWorld”。

请注意!这是一个包,而非资产!

将 VRCWorld.prefab 拖拽到 层级窗口(Hierarchy)中。如果还未完成,请将其所有的 Transform(变换)重置到世界原点处。

现在,打开 VRChat SDK,SDK>Show Control Panel,,会看到一个新窗口弹出,您可以自由选择停靠是否将其吸附。登录后选择构建选项卡 build 界面

在本地测试中,勾选强制非VR选 force non VR 选项。VRChat 应该就会启动,如果一切顺利,您会看到一个飞机平面顶部在场景中生成!

建议在不需要时关闭 VRCSDK 窗口,因为已知有可能会减慢 Unity 的运行速度。如果窗口未停靠吸附,可以通过单击右上角的x关 x 关闭窗口,或右键单击选项卡然后选择 Close(关闭选项卡”

VRWorldToolkit 为我们提供了一系列工具,帮助我们优化我们的世界并确保其不会被破坏;可以VRChat创 VRChat 创作者伴侣助手中导入工具包。

如需要在整个系列系列教程范围内获得帮助,建议您在Unity论 Unity 论坛或官方 VRChat Discord中Discord 中提问,因为这样更有可能得到回应(当然是如果您礼貌提问并附上相关截图)。此外,评论部分不适合解决技术问题。

这节课就到此为止,下一节课我们将开始建我们的房间!