【官方制图指南翻译】《人类一败涂地》地图制作/关卡制作/上传/订阅教程

0 点赞
人类一败涂地 / Human Fall Flat
转载

写在前面 声明:本教程是官方教程的提炼版,如有翻译错误以及各种错误欢迎指正,侵删 1. 准备以及配置Unity和重新加载预制件(Configuring Unity for Human Workshop & Reimporting Prefab Thumbnails) 1. 下载Unity 2017.4.13f1y 2. 下载之后打开Unity,新建一个3D项目,名字随便取

3.在Unity上方菜单栏点击【Assets】,选择【Import Package】,再点击【Custom Package】

然后前往你的《人类:一败涂地》安装目录,在你的游戏安装盘(如C盘)中找到以下路径:/ProgramFiles(x86)/Steam/steamapps/common/Human Fall Flat/WorkshopPackage,打开该文件夹并等待加载完成,直至出现相关窗口。

然后按导入并等待进度完成,完成之后完全关闭Unity。 4. 前往C:/ ProgramFiles(x86)/ Steam / steamapps / common / 人类一败涂地 / WorkshopPackage:复制Project Settings文件夹

将其粘贴到你新建的Unity项目源文件夹中,替换现有的Project Settings文件夹。

4. 替换完成后重启Unity,现在可以在下方的Project→Assets窗口中找到Workshop文件夹。

但是你现在会发现Assets/Workshop/Prefab里的缩略图显示不完整,都是蓝色小方块。

这是Unity的一个不会被修复的BUG,若想正确显示,右键单击Prefabs文件夹,选择【全部重新导入】选项,等待完成后即可正确显示(此过程可能需要较长时间)。 2. 创建你的关卡 基本部分 1. 创建一个新场景文件,随意命名并打开它。 2. 删除层级面板中的主摄像机和方向光。 3. 在下方的Workshop > Prefabs中找到关卡预制体并拖入场景。 游戏关卡对象位于Workshop > Prefabs,你可以找到关卡预制体。 场景中可以拖入任何关卡,或者你也可以自己重新制作一个。 如果你不想了解如何制作关卡预制体,请跳至指南的初始级别布局部分。 如何制作关卡 1.1. 创建一个空对象(GameObject→Create empty)并将其重命名为Level。确保所有轴上的位置都设置为0。 2. 在组件中搜索Builtin Level并添加(Component→add...→搜索Builtin Level),该组件允许级别在编辑器中播放。 3. 添加名为Sound Manager的组件,这允许关卡使用游戏音响系统。 4. 添加名为Sound Library的组件,将游戏指向正确的声音库。 5. 添加名为Net Scene的组件,允许场景通过网络进行在线多人游戏。 6. 添加名为Scene Manager(场景管理器)的组件,通过网络控制多人游戏的场景。 7. 在Level下创建一个空对象(empty object),并将其重命名为InitialSpawnpoint,此对象将控制玩家在场景中生成的位置。 8. 为InitialSpawnpoint添加名为Checkpoint的组件(component)。•将位置设置为0,0,0 •将InitialSpawnPoint拖拽到Level的Builtin Level组件中的Spawn Point框和Debug Spawn Point框里 •在Level下创建一个空对象并将其重命名为FallTrigger。此对象将检测玩家何时跌落。 •添加FallTrigger组件和Box Collider组件。 •将位置设置为0,-30,0(预设里需要修改) •将盒子对撞机尺寸更改为200,20,200 •勾选触发器(Is Trigger) •在Level下创建一个空对象,并将其重命名为PassTrigger。这用于检测玩家是否到达关卡终点,当玩家通过关卡后,将进入下一等级。•添加名为PassTrigger的组件(在Level下添加),并添加盒体碰撞器组件。 •将位置设置为0,-3,34。 •将盒体碰撞器的尺寸更改为6,6,6。 •确保勾选触发器(勾选右边的Is Trigger)。 •在层级下拉按钮上,选择机关Triggers。

3.初始关卡布局 •在工坊预制目录中搜索GreyStoneEdgeLargeGrassFlooringStraight1.prefab •把它拖动到场景中 •位置设为0,-1,0 •旋转设置为0,0,0 •移到你的Level下 •标为Floor1 •在下方工坊中搜索LightSandStoneFloorSmallAztecFloorPattern1 •将预制件拖动到场景中 •位置设为0,-0.5,12 •旋转设置为90,0,0 •移动到Level •标为Floor2 •在工坊中搜索LightWoodFloorTreePlatform1 •将预制件拖动到场景中 •位置设为0,0,25 •旋转设置为0,90,0 •比例3,1,09 •移动到关卡 •标记为【Floor3】 •同时选择(按住Ctrl单击这三个)【Floor1】、【Floor2】和【Floor3】,按【Ctrl+D】复制所有三个对象 •将每个重命名为【Floor4】、【Floor5】、【Floor6】 •将【Floor4】位置设置为0,-1,37 •将【Floor5】位置设置为0,-0.5,55 •将【Floor6】位置设置为9,0,55,旋转设置为0,0,0 你的关卡现在看起来应该和图里一样

4.添加机械预制件 •在下方创意工坊中搜索MetalMechPressureSwitchDoorwLight1并拖入 •移至关卡中 •将其重命名为DoorPuzzle1 •位置设为0,0,0 •单击层级面板中DoorPuzzle1旁的小三角形展开下拉列表 •然后选择PressurePlate •将位置设置为-3,0.1,14 •选择指标Indicator •将位置设置为0,2.5,26 •选择AutomaticDoor •将位置设为0,0.1,26 现在你的关卡看起来像这样:

•在创意工坊中搜索LightGreyMetalMechMediumDanglingLantern1并拖入场景 •在层级面板中移动到关卡游戏对象 •将位置设置为0,6,46 5.过关机关 这个功能可以让玩家进入后过关并前往下一关 •在层级面板中选择PassTrigger •把位置设置为15,-3,55 6.刚体和多人在线游戏 任何具有刚体组件的游戏对象都需要添加Net Body组件,以确保其在整个网络中正确同步,从而支持在线多人游戏 你可以通过单击Crate1x1x1对象来查看此示例。添加Net Body组件还将自动添加Net Identity组件,并在保存关卡时自动为其分配值 通常,如果对象在场景中移动且具有刚体组件,则它还应具有Net Body组件7.光源 •打开Windows菜单并导航到Lighting,然后选择Settings •将Skybox Material更改为Sky •将【Level prefab附带的】Directional Light拖入Sun Source框 •把Environmental Lighting下的Source改为Color •把Ambient Color改为#6C7B96(注意#号) •把Environmental Reflections Intensity Multiplier改为0.7

8.存档点(Checkpoint) 前往Workshop>Prefabs,可找到Checkpoint预制件(prefab) 可直接拖入Level object以节省时间,也可手动创建存档点Checkpoint: 1.在Level下点击上方GameObject→Creat Empty Child,创建后重命名为Checkpoint 2.点击上方Component→Add→搜索Box Collider并添加 3.将size设置为6,6,6 4.勾选Box Collider上的Is Trigger 5.点击上方Component→Add→搜索Checkpoint并添加 6.将右侧Checkpoint的Number改为1 7.将右侧的Layer选为Triggers 8.将position设为0,3.5,35 9.如需添加更多检查点,复制此对象并移动到目标位置;每添加一个检查点,需将Checkpoint组件的number增加1

这个是检查点预制件(Prefab)

现在如果你添加了检查点,您的关卡看起来应该和下图一样

9. 把人类扔进你的地图(Drop Human) 1. 按Play/Run 2. 选择场景选项卡(Sence Tab) 3. 将窗口移动到你想扔下人类的位置 4. 在上方选择人类(Human),点击扔下人类(Drop Human) 5. 你的人类现在会掉下去了 6. 现在你可以在游戏选项卡(Game tab)测试你的地图了 10. 把关卡导出到本地(Exporting to local levels) 你已经在Unity中测试了你的关卡,现在你已经准备好将它导出到游戏中,这样你就可以继续测试地图并在那里进行游戏。但是在导出之前需要满足很多导出要求。 导出流程首先,你需要在Play播放/运行测试地图的时候截一张地图的封面图。如果按Play之后没有生成在关卡中,你可以在控制台看到当前地图中的错误,控制台中的错误暂停按钮设置为ON。如果将其设置为关闭,你会发现自己可以在关卡中正确生成

进入播放/运行模式后,在适当位置按F9可以截取封面图。这样做会显示一条【缩略图已捕获】确认消息。

•再次按“播放/运行”以结束游戏。 •选择【人类】选项,然后选择【人类导出】。

关卡标题:地图名称,可自定义,但需控制在129个字符以内(含空格),超出部分将被截断,请取简洁名称。 关卡描述:详细描述你的关卡,Steam限制为8000个字符(含空格),超出部分将被截断,发布至创意工坊后可修改。 地图类型【Dream Type(标签)】:选择你的地图适合单人游戏还是多人游戏,多人游戏请选择【Multiplayer】。 推荐玩家数量【Recommended Players(标签)】:选择你的地图适合的玩家数量,可在1-8人之间选择。 主题标签【Theme Tags】:接下来会显示主题标签勾选框。默认情况下,系统会根据你在关卡中使用的预制件自动勾选相应主题。作为示例,我们提供的中级示例场景将自动填充【大厦】【火车】【拆除】【城堡】【水】【发电厂】和【阿兹特克】的主题标签,因为它包含来自所有这些关卡主题的预制件。 【主题标签】:接下来你会看到主题标签勾选框。默认情况下,这些勾选框会检测你在关卡中使用的任何预制件,并自动勾选相应的主题。 【导出地图】:然后按【Human Export】窗口底部的【Export Dream】按钮。等一会导出完成就可以关闭Human Export窗口了。 下一部分介绍怎么把地图上传到创意工坊。 导出错误:以下是导出地图时可能出现的错误及造成原因: 1. 场景中不应有摄像机。 2. 场景中有多个级别。 3. 场景中没有关卡对象(Level Object),检查示例场景。 4. SpawnPoint未在Level上定义。 5. 关卡中没有光源(Lighting),检查示例场景。 6. 关卡中没有FallTriggers,检查示例场景。 7. 级别中没有LevelPassTrigger。检查示例场景 检查点丢失 梦境标题不能为空 梦境描述不能为空 无效的元数据 需要梦境图像 人类导出功能 “人类导出”窗口中还有许多其他按钮可供您分解,如下所示: 语言选择:在“人类导出”窗口的顶部有一个语言选择选项,您可以在其中将“人类导出”窗口中的任何文本更改为您选择的语言,同时游戏也支持该语言。这有助于理解在导出关卡之前可能需要清除的任何导出错误。 打开创意工坊文件夹:这将打开导出关卡保存到的本地位置,如下所示: C:/Users/user.路径:name/AppData/LocalLow/NoBrakesGames/Human/Workshop 加载截图:单击会加载截取的最后一张图(通过按F9,同时通过本地关卡菜单主动播放关卡)或Unity中加载梦想图像:如果之前已经把地图导出到本地,则此选项将从导出的关卡重新加载已保存的缩略图,而不是显示自将关卡导出到游戏后您已截取的任何新缩略图。 换句话说,加载截图会切换到您的新屏幕截图,而加载梦想图像会切换到您关卡的现有屏幕截图(如果之前已将其导出到游戏中)玩-测试地图&上传到Steam创意工坊 一旦成功从Unity导出了地图,就可以在游戏中进行测试,你可以在单人游戏和合作模式中测试地图,然后再发布到Steam创意工坊。只有在你发布并订阅该地图后,才能在在线多人游戏中游玩。以下是上传及订阅方法: 1. 打开【人类:一败涂地】。 2. 选择【游玩】>【本地】>【选择关卡】。 3. 选择【本地关卡】,你应该能在该菜单中看到导出到本地的地图。

如您所见,可以看到地图名称、地图描述和地图封面,以及从Unity导出时的所有关卡设置。 下面还有一些选项: 【创意工坊使用协议】:任何内容在上传到创意工坊之前都需要同意此协议,同意后才可以发布到创意工坊。

运行地图:在发布到创意工坊之前应该测试你的地图。 截图:除了能够在本地进行测试以确保您对它感到满意之外,您还可以按照以下步骤捕获游戏屏幕截图: 1. 在正在玩的地图中按F9捕获缩略图屏幕截图。 2. 如果您正在大厅,您首先必须按F8两次才能进入正确的摄像机视图,然后在地图中按F9捕获缩略图屏幕截图。

你可以看到截图成功的消息,截图会保存在:C:/Users/user.name/AppData/LocalLow/NoBrakesGames/Human

这只是将此缩略图文件移动到Levels文件夹下的正确文件夹,方便替换。 重新加载关卡 除了能够在游戏中捕捉你关卡的截图,你还可以在关卡的暂停菜单中找到【重新加载关卡】的附加选项,但只能在从【本地关卡】菜单中播放时使用。

这是一个非常有用的功能,用于在游戏中测试您的关卡,在Unity中对其进行更新和改进。您可以按如下方式使用它: 首先运行游戏然后运行Unity,以便它们同时处于活动状态。 在Unity中成功导出一个关卡,以便在游戏中的本地关卡菜单中可用。 切换到游戏并在本地关卡菜单中找到导出的关卡并进行游玩。 进入关卡后,切换回Unity。 对关卡进行更改,如果需要,请使用新的缩略图屏幕截图,然后重新导出。 切换回游戏,进入暂停菜单并选择重新加载关卡选项。 关卡将完全重新加载,现在将包括您从Unity上次导出的更改。发布 暂停菜单中唯一的其他附加选项是【在创意工坊中显示关卡】,但只有在您成功发布了正在测试的关卡后,该选项才会添加到暂停菜单中。我们将在本指南后面讨论【在创意工坊中显示关卡】选项,现在让我们实际看看如何将地图发布到Steam。 选择【发布到创意工坊】选项,即可立即开始上传到Steam。

上传完成后,Steam界面将自动打开,我们将在本指南的下一部分中介绍。 12. 订阅、评分和举报 订阅 在关闭Steam界面之前,需要订阅刚刚发布到Steam的地图,它才可以出现在已订阅关卡菜单中,这样就可以在单人游戏或合作模式中进行本地游戏。更重要的是,订阅您发布的地图允许使用该地图主持在线多人游戏。 您还可以从创意工坊中心订阅并下载其他人的地图、大厅和模型(皮肤)。 关闭Steam界面并重新进入游戏后,请执行以下操作: 选择游玩>本地>选择关卡 选择已订阅关卡 您应该在此菜单中看到您订阅的任何地图。

已订阅地图菜单中还有【打开Steam创意工坊】选项。选择此选项将打开Steam覆盖层并查看地图、大厅或模型(皮肤),可以快速导航到创意工坊中心,以便快速浏览和订阅。当您是会话主持人时,也可以通过在线多人游戏中的【选择关卡】选项找到【已订阅关卡】屏幕。

对于您订阅的任何地图,如果喜欢玩,请花时间通过Steam界面评分。在游玩该地图时,可以使用游戏中暂停菜单中的【在创意工坊中显示关卡】选项,轻松访问创意工坊中心的任何已发布地图的创意工坊页面。选择此选项将立即打开Steam界面,您可以在其中订阅并给它评分。 如果您不喜欢正在玩的地图,并且某个关卡包含令人反感的内容,也可以通过同一屏幕将其报告给Steam。

游玩就是这样,你现在可以自由发挥了! 请查看我们的其他指南,了解有关多人游戏支持、向后兼容1.2 Alpha2、示例创意工坊关卡、模板、预制测试平台以及节点图系统等信息。 13.提示和技巧 【最大地图大小】如果你想在多人游戏中创建一个没有问题的关卡,需要将它保持在合理大小。当距离关卡原点超过500单位(0.5公里)时,对象可能无法正常运行(这是现有游戏中最大地图的两倍大小)。此限制是由于网络系统的范围,多人游戏中通过网络发送位置的最大范围为500单位。超过此范围会导致对象在多人游戏中断开连接。作为参考,水位中的水仅占该距离的一半以下,实际可玩区域甚至小于此值。 预制件放置、网络范围警告和使用网络场景父节点 除了必须将关卡保持在适合多人游戏的合理单位大小外,如果想要使用大量预制件放置,还需要确保关卡中的场景已设置妥当以应对大量预制件放置。如果在Unity控制台中收到以下类型的警告,则需要考虑在场景的层级结构中添加网络场景父节点: 网络范围“Level”(网络ID=0)可能生成大于1200字节的数据包,这在某些平台上可能无法发送!此作用域的预估最坏情况大小为1395字节;最大安全限制为1193字节。上述警告与未在网络场景节点间分配过多放置物有关。您可以在我们提供的Unity包中的PrefabTestbeds里查看所需设置的示例。

上述警告与在未使用网络场景节点分隔的情况下放置过多对象有关。你可以在我们提供的Unity资源包中的PrefabTestbeds里查看所需的设置示例: PrefabTests最初是一个单独的PrefabTested,但在开发过程中,由于对象数量过多,我们不得不将PrefabTestbed拆分为多个独立关卡。即便如此,在测试预制件的多人游戏功能时,每个关卡内仍需拆分为多个独立的网络场景。 如果出现此警告,你需要将关卡拆分为多个独立的网络场景,以确保关卡在多人游戏模式下正常运行。如果没有至少几个网络场景父节点,所有内容默认都会处于单个网络场景下,这将导致此错误。 台阶尺寸标准: 在关卡中建造台阶和楼梯时,每个台阶的高度不应超过35厘米,深度不应低于35厘米。这样在游玩关卡时,你就能直接走上台阶。如果不遵循这些尺寸标准,你会发现自己很难直接走上楼梯,而必须跳上去。 跳跃尺寸标准: 垂直跳跃距离:跳跃以抓住上方边缘的距离约为2米。•水平跳跃距离 - 这需要根据具体情况进行调整和测试,因为跳跃距离取决于物理效果和关卡区域的地形,例如是上坡跳跃还是下坡跳跃。 FBX模型 使用Maya、3DS Max和Blender等程序为你的关卡创建新模型! 热键 本页面概述了Unity的默认键盘快捷键。 掌握Unity Unity互动教程 官方Unity学习播放列表 ProBuilder ProBuilder是快速构建理想关卡的出色工具,并且已包含在Unity中!截图 请记住,在“游玩/运行”模式下测试关卡时,你需要按F9键创建缩略图截图。操作后会显示“缩略图已捕获”的确认消息。

当你准备好将其导出到游戏并最终发布到Steam时,它将被分配到你的关卡中。 你也可以在游戏内截取关卡截图,但如果你正在游玩大厅,需要先按两次F8进入正确的相机视角,然后在关卡中按F9截取缩略图。 14.延伸阅读 请查看我关于《人类:一败涂地》创意工坊功能的其他指南: 人类创意工坊:功能、多人游戏支持及与1.版本的向后兼容性2 Alpha2 人类工坊:示例工坊关卡、模板和预制件测试台 人类工坊:编辑器改进和节点图系统 人类工坊:节点图参考指南 人类工坊:发布后修复、更新和新增内容 - 即将推出! 15.附录 检查点:这些是玩家通过一次后才会激活的生成点,会替换之前的生成点。 掉落触发器:定义玩家落入后会被重置并落回关卡的区域体积。 文件夹:导出关卡前先创建一个文件夹。 游戏窗口:用于测试的游戏渲染窗口。 图形节点:附加到对象的不同脚本之间交互性的图形表示。层级:当前场景中所有游戏对象的列表。 检视面板:当前选中对象的所有信息。 关卡:每个关卡都需要的空游戏对象,用作关卡中其他必要对象的父对象。 关卡描述:将在主游戏中显示的关卡说明。请务必填写此项,以便其他玩家了解关卡内容! 关卡预制件:在工坊文件夹的预制件目录下有一个关卡预制件。你只需将其拖入关卡,即可完成所有相关设置。 关卡标题:为你的关卡起一个有趣的名称以吸引其他玩家。 网络实体:这是一个特定脚本,允许对象在在线多人游戏中同步,并且在掉落关卡时能够重生。通过触发器:定义玩家进入后触发当前关卡结束并加载下一关卡的区域。构建大厅关卡时不需要此触发器。 物理材质:这些不同的材质会改变物体的物理属性。 预制件:在预制件文件夹中可找到现成的物体。也可查看资源>工坊>场景>关卡>预制件测试台。我们为游戏中的每个关卡都创建了单独的预制件测试台,你可以打开它们。然后你可以进入播放/运行模式,以便浏览该关卡的所有预制件! 查看这些场景可以快速了解所有内容!如果你在预制件中找不到想要的东西,请告诉我们,我们会将其添加到待办工作中,为你创建。项目资源列表:当前项目中所有资源的列表。可从此处直接将资源拖放到场景窗口。 刚体:使物体成为物理对象并能与其他物体产生交互的组件。 场景窗口:用于导航游戏世界以及操作物体的窗口。 生成点:显示玩家首次生成到关卡时下落轨迹的区域。