Unity学习笔记之Human fall flat

  • 主要参考《人类一败涂地》官方教程
    • Unity版本
    • 详细教程获取
    • 开始工程导入
    • 素材包介绍
    • 界面介绍
    • 工具简介
    • 常用组件简介
      • 多人游戏组件
    • 地图构建和关卡设计
    • 保存点的设置
    • 运行测试
    • 导出及测试
    • 写在最后

主要参考《人类一败涂地》官方教程

Unity版本

Unity版本:Unity2017.4.13f1
下载链接:Unity2017.4.13f1.
复制链接打开即可下载安装
安装好之后完成注册和登录即可使用了

详细教程获取

教程地址:打开steam,点击Human fall flat。进入“指南”,搜索“Getting started”,既可以看到这个叫Mildred Bumble 出的教程了。

开始工程导入

首先进入Unity,会提示更新版本,这里千万不要进行更新!

然后我们开始导入人类一败涂地的工坊资源包
Assets–>Import Package–>Custom Package
然后导航到你的steam安装目录
进入steamapps–>common–>Human fall flat–>WorkshopPackage,找到Human.unitypackage这个包,开始导入!

然后就进入了漫长的等待,等待加载完毕,会显示要导入的包,确认一遍,导入即可,然后又进入了漫长的等待(5-30min,由你的系统决定)

整个导入完毕之后,我们关闭Unity,然后打开目前这个工程所在的目录,接着打开刚才那个WorkshopPackage目录,将其中的ProjectSetting文件夹复制到你当前的工程文件夹中。

至此,导入工作就完成了。

素材包介绍

这里我只是简单的介绍一下我的理解,不详细介绍了。
首先打开刚才的工程,可以看到所有的资源包已经导入进去了
然后主要的素材在Assets–>Workshop–>Prefabs中,如下图所示

然后玩过这款游戏的同学就会发现,这些文件夹打的名字对应的都是Human fall flat中的基础关卡,然后每个文件夹都包含了对应关卡中地图的元素的素材,然后在这里我们称这些“素材”为预制件。

有些同学打开文件夹可能会遇到许多“小蓝块”,我们只需要点击Prefabs,右键–>Reimport All即可解决这一问题。

界面介绍

我们主要完成的是地图的构造,然后我们不需要camera什么组件,我们只需要Perfabs文件夹中的“level组件”,然后拖动这一组件到左边的Hierarchy栏中即可。就像这样!

然后我们的关卡就有了一些初始的元素了。
接着我们展开“level”,可以看到有以下几个元素。

这里应该是四个的,我把PassTrigger(通关点)已经放在地图里了,所以没在这儿显示。然后InitialSpawnpoint(人物出生点),FallTrigger(死亡触发点),Directional Light(平行光源),他们的作用也显而易见啦。

我们所要添加的所有的地图资源都要放在“level”文件夹底下,然后为了整合你的零零散散的资源,你可以重新建立一下包来将他们整合起来。
Create Empty–>Rename

这样就可以创建一个你命名的资源整合包啦,然后把你的预制件全部拖到这个包里就不会显得很凌乱了。

工具简介


主要的工具就上图中的6个,然后看图标就可以知道他们的作用。
从左到右分别是视角拖动,移动,旋转,立体缩放,平面缩放,自由改变工具,然后可以依次对一个预制件使用来看看效果,熟练运用即可开始制作地图了。

多练练就熟悉了,很简单的

常用组件简介

我们创建一个3DCube对象,就是一个方块,然后查看它的Inspector参数

下面一一介绍一下。

1.网格过滤器(Mesh Filter)
网格过滤器指的是物体给外界展示的外貌和形状,现在的状态是Cube,当然你也可以点击右边的小圆圈,选择并切换成其他形状

2.盒子碰撞器(Box Collider)
这个组件的作用是让这个物体可以被碰撞,可以被抓取。
而当我们不勾选盒子碰撞器时,这个物体就不可以被抓取,不可以被碰撞,也就是人物可以“穿过去”。

3.Mesh Renderer
不常用,这个组件的作用主要控制玩家能不能看到这个物体,也就是这个物体真实存在但是玩家看不见。

4.刚体(Rigidbody)
ADD Component,搜索并添加rigidbody即可。
这样一来这个物体就有了它自身的物理特性,如下图所示:

其中
Mass(质量),就是物体的质量了,一般情况下设置成25是比较合适的,是符合实际情况的;
Drag(阻力),表示你在拖动它时受到的阻力的大小;
Angular Drag(角阻力),表示你在旋转时受到的角阻力的大小;
Use Gravity(使用重力),用来控制物体是否受到重力影响;
Is Kinematic(是动力学的),一般来说勾选之后就会使得物体保持静止,就相当于没有刚体一样,所以一般要使得物体可移动的话,就不能勾选这一项了。

最后一个重要的参数就是Constraints,这个参数决定了我们可以固定物体在XYZ轴的位置,如果都不勾选,那么这个物体就是可以随意移动的。

其中X轴和Z轴是左右和前后方向,Y轴就是上下方向。
如果我们想物体只能上下移动,那么我只需要勾选Freeze Position中的X和Z,不勾选Y,这样一来我们就可以固定X轴和Z轴并使得物体上下移动了。
旋转也是一样,勾选Freeze Rotation的参数即可。
我们可以通过设置Constraints来固定物体,设计一些有趣的谜题和玩法了

其他的常用的还有网格碰撞器(Mesh Collider),它不可以和移动的物体一起运动,但是可以覆盖整个物体,一般情况下都是使用这个碰撞器,可以使人物可以和整个物体进行交互,也使得物体更加真实!

我们可以随意地修改这些参数来帮助理解他们对于物体的作用,这样一来我们也能让物体在游戏中显得更为真实。
一般来说,不必修改Drag和Angular Drag,只需要修改Mass就可以使得物体变得很真实。

多人游戏组件

在多人游戏中,常常需要用到“Net Body”组件,添加方法只需点击AddComponent,搜索并添加Net Body即可。

在地图中,如果你想要让你的物体被扔出地图后能重生,就只需要勾选“Respawn”即可,这在多人游戏中非常重要,一般来说,每个刚体物体都需要设置这个参数来保障物体能重生。

为了检查这一点,只需在搜索栏搜索“rigibody”,然后逐一查看被高亮的刚体物体即可,如下图所示:

地图构建和关卡设计

首先我们按照用上面的工具和预制件简单地制作一下地图,这里就略过了,按照个人的地图设计思路来就好了,然后我设计的一部分是这样的。

在做完这些步骤后,我们接下来要做的是设置小人的出生点(InitialSpawnpoint),这里我们只要点击“InitialSpawnpoint”,然后将这个出生点放置在你设计的出生点即可。

上图中,白线表示人物坠落的的地方,红圈表示人物落地的地点,其他的几个小灰点是其他玩家坠落后的着陆点。设置好之后,关卡一启动人物就会掉落在这个红圈里了。

至此,出生点就设置好了!

接下来我们开始设置掉落死亡区域,只要我们的小人掉落触碰到这个区域就死亡了,然后就会重新回到保存点。这一部比较简单,我们只需点击FallTrigger(死亡触发点),然后将它移动到整个地图的外部,调整大小即可,当人物掉落到地图外部之后,就会死亡了。

然后我设计的是这样的!

反正尽量设置的大一些,能覆盖整个地图,当然也可以自定义这个区域,也可以设置多个死亡触发区域,以迎合关卡的设计思路。

至此,死亡触发点就设置好了!

再接下来我们就来设置一个PassTrigger(通关点),当小人触碰到这个通关点就完成了整个关卡,然后就回到了游戏大厅了。
这里我将通关点放置在一个小岛的门边,当小人通关这个门就视为通关了。如下图所示:

然后我们可以用工具随意地设置通关点的大小和形状,按照自己设计思路来即可。

至此,通关点就设置好了!

还有一个就是Directional Light(平行光源),这个主要为你的关卡提供照明的光,当然一般情况下用默认设置就可以了,它可以提供很好的光照。
当然要是你制作的是恐怖系列的地图,你就要设置这个光源了

在Directional Light的Inspector设置里面,我们可以设置一系列参数,这些参数的作用都很好理解,看字面意思就行,自己设置就好。
这里我用的就是默认设置。

至此,平行光源就设置好了!

保存点的设置

人类一败涂地的关卡中都会设置保存点,用来保存玩家的游戏进度,可以让玩家获得很好的游戏体验,而保存点的设置也是考验设计者的思路啦。

然后我们创建一个空的物体,重命名为“checkpoint1”,然后进入其Inspector设置里面,点击“Add Component”,搜索并添加“Checkpoint(Script)”。
接着设置参数“Number”为1,这一步非常重要!!!

如果不设置的话,默认是0,会导致checkpoint1(检查点1)和InitialSpawnpoint(人物出生点)重合,人物就会直接出生到checkpoint1(检查点1)了,所以会导致错误。

另外“Box Collider”中的“Is Trigger”也要勾选一下,说明这个也是一个触发器,并且是可碰撞的。

整体设置如下图所示:

接着我们将设置好的checkpoint1(检查点1)按照设计思路放置在关卡保存点上,具体操作就像设置InitialSpawnpoint(人物出生点)一样的。

整个关卡中肯定要设置多个检查点的,而后续的步骤只需要将“Number”参数设置成2,3,4…即可。

运行测试

再构造完所有地图之后,我们就可以开始测试了。
在运行测试之前,我们要先打开并运行Steam客户端,当运行测试之后,会自动检测你的Steam上是否有《Human Fall Flat》 这个游戏,如果你没有这个游戏,那就别说测试的事儿了…

再运行Steam客户端之后,我们就可以点击“Play”按钮进行测试了。

运行结果如上图所示,然后就可以开始玩啦

导出及测试

点击Human–>Human Export即可

然后输入Dream Title和Dream Description,点击Export Dream即可。

要注意的一点是要将所有预制件放在包里面,不能在包外面,否则会提示无法导出,也就没有Export Dream这个按钮了

就像上图中的包结构一样,都是灰色的文件包就是正确的可导出的。

然后等待一会儿就可以导出成功了。最后我们打开Steam,进入《Human Fall Flat》 游戏,打开本地梦境,就可以在游戏中进行测试了。

写在最后

关卡设计主要还是看个人的设计思路,综合利用多种工具和组件,熟练运行在地图中,就可以设计出有趣的人类一败涂地关卡了。

Unity学习之Human fall flat创意工坊地图制作相关推荐

  1. 人类一败涂地steam创意工坊地图制作教程交流

    下载.安装.创建项目.导入游戏包.熟悉Unity 1-1.下载安装Unity2017.4.13f1 下载地址:Unity2017.4.13f1 ←点击下载,人类一败涂地创意工坊必须使用2017.4.1 ...

  2. 腐蚀rust高速箭怎么做不了_腐蚀RUST创意工坊皮肤制作教程

    新的编辑器非常简单易用 需要的工具 1.正版Rust 2.Photoshop或其他图形编辑工具 1.运行Rust,进入主菜单后,点击右上角的国旗将语言切换成英文(原因后文阐述),然后点击右下角的WOR ...

  3. csgo服务器搭建 linux,请问搭建csgo服务器切换创意工坊地图报错怎么办

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Unknown command "sv_maxcmdrate" Unknown command "cash_team_eli ...

  4. 人类一败涂地mac版(human fall flat中文版)

    在手机端很火爆的人类一败涂地游戏已经在Mac上线啦!人类一败涂地human fall flat for mac 破解版的玩家需要操控梦境中的主角bob利用物理效果来解开谜题,能否逃出梦境就看你的啦! ...

  5. 超火爆的人类一败涂地Human Fall Flat Mac中文版(支持m1)

    人类一败涂地Human Fall Flat for Mac是Mac平台上的探索类游戏,在人类一败涂地游戏中,玩家需要操作主角Bob去探索和解开各种谜题,最终逃出梦境就是胜利,赶紧来体验一下吧! 人类一 ...

  6. 人类一败涂地human fall flat游戏通关图文攻略

    人类一败涂地human fall flat是解谜探索类游戏,小编各位玩家准备了人类一败涂地human fall flat游戏通关图文攻略,帮助玩家顺利通关. 第一关:教学关 第二关:第二关的这个地方可 ...

  7. 人类一败涂地做图教程_人类一败涂地地图制作教程 创意工坊自制地图方法

    人类一败涂地怎么制作地图?地图怎么自制?人类一败涂地地图制作教程.在全新版本中,这款游戏支持自制地图,玩家可以自己创建地图,并且多人联机,玩家可以进行最多8人的自定义房间游戏.利用创意工坊方便地交换创 ...

  8. 原神创意工坊工具箱2.0源码-小程序前端源码

    简介: 原神创意工坊工具箱2.0源码 此源码原本是反编译而来的,原创意工坊工具箱2.0源码,为一款游戏的工具箱 还有一款是一家车品内饰脚垫样式生成的小程序前端,一并打包了 其主要功能有: 抽卡分析 抽 ...

  9. 服务器的创意工坊文件,Steam 创意工坊实现指南

    简介Steam 创意工坊系统使用后端存储.前端网页的形式,便于存储.整理.排序.评分及下载游戏或应用程序. 本文提供了为产品实现 Steam 创意工坊的技术细节. 在开始将 Steam 创意工坊与您的 ...

最新文章

  1. 如何在本地安装tomcat、jdk并且配置tomcat环境变量(window7)
  2. 阻塞、非阻塞、多路复用、同步、异步、BIO、NIO、AIO 一锅端
  3. net平台c#语言如何实现支付宝payto接口
  4. Linux下安装GCC5.3.0
  5. 计算机网络按功能自底而上划分,大连理工大学2011计算机期末模拟题3
  6. matlab 工具 安装包下载地址,安装 | MATLAB2018a (64位) 安装教程及安装包下载链接...
  7. VS Code设置代码片段(C++)
  8. 压箱底总结:流系统端到端一致性对比
  9. Linux下的MySQL安装及卸载
  10. 计算机房的分类,雅思词汇分类积累之计算机房
  11. 【UML】用例图中<<extend>>与<<include>>的区别
  12. echarts3.0 本期累计堆叠
  13. 参与微软本地化翻译——MLCP
  14. CF-HW04-胡杰-16332054
  15. 分享一款实用的太阳能充电电路(室内光照可用)
  16. AJAX_json笔记
  17. autocad 2014 闪退的一种解决办法: 点击菜单栏即闪退报错
  18. python读取word文件并替换部分文字_python批量替换
  19. 计算机打数据执行保护删除不掉,运行某应用程序时,出现数据执行保护 (DEP)提示的解决方案...
  20. android framework学习回忆

热门文章

  1. opencv-python 读取视频时如何判断读取到最后一张
  2. 插入u盘计算机未响应,u盘启动电脑无反应,教您电脑插上U盘后无法启动解决方法...
  3. Echarts中国地图与世界地图实战
  4. CTO问我,为什么需要API网关?
  5. 【编程题】【Scratch四级】2022.03 早餐组合
  6. extern、struct等关键字
  7. 计算机键盘复制键,键盘按键设置复制粘贴的方法
  8. 将Word文档中指定内容锁定
  9. C语言有趣的代码大全,分享一段有趣的小代码
  10. python 银行数据_Kmeans 银行数据聚类分析