焊接式随机地牢组件

这个组件是做什么用的?

先直接看最终效果图吧在这里插入图片描述这次给大家的是基于艾兰岛编辑器制作的随机地图生成组件,有以下几点特色:

  1. 每次调用生成函数都将生成不同的房间组合。
  2. 可通过参数调整生成房间的广度。
  3. 记录所有房间到数组中,方便后续操作
  4. 每次随机地图生成后,都提供字符地图
  5. 图中亮红色的方块,是表示需要封堵的门

随机地牢的算法有很多种,本人参考了网上的的一些算法,但受限于艾兰岛编辑器,在数据结构,代码逻辑上基本重写了。
此外,一般的随机地牢系统是连房间,过道都是通过代码生成的(其实这个我也写了一个),但艾兰岛在0.12版本中,提供了焊接功能(英文叫baking,就是一般建模软件里的“烘培”功能),如果将房子,走廊都焊接为实体后,生成算法最消耗资源的创建实体,就能大大降低消耗。
这个组件的随机地牢算法不是完美算法,但个人认为不完美的随机算法,才是实用的算法

本次组件本质来说,只提供了核心算法+思路,组件拖入游戏时,会发现许多大的建筑焊接方块,这些都是为了演示用的。

如何使用组件

组件安装

下载地址:链接:https://share.weiyun.com/5Pupg5a 密码:5evbb2
0.12版本的组件文件格式与目录都修改了,可以通过艾兰岛编辑器,直接打开本地目录
在这里插入图片描述
将提供的yland文件放入Scenarios目录下,重启游戏就能打开,你可以将核心功能保存为个人组件重复使用(后续可以通过创意工坊直接下载组件)
在这里插入图片描述

组件制作流程

  1. 制作房间模板
  2. 实体模板吸入房间模板
  3. 在实体模板中调用 组件的 房间模板初始化函数
  4. 游戏开始-> 调用地图生成函数

房间模板制作要求

  1. 每个房间的中心点必须在左下角顶点。
    在这里插入图片描述tips:如何设置焊接物体的中心点在左下角:
    每次在选中要焊接的物体(或者编辑焊接时),按住ctrl,鼠标单击左下角方块2次,此时左下角方块成为所有方块中最后一个选中的物品,焊接后,中心点就是最后选中物体的中心点(包括旋转)
    在这里插入图片描述
  2. 必须保证焊接后的房间旋转都是 0,0,0(这个也与最后一块选中物体的旋转有关)
  3. 在拖入的组件中,各位会看到许多焊接好的地基样子的方块,这些示例是展示也是建议,各位在制作房间时,不同方向的门都需要单独制作要给房间。

组件函数调用说明

组件只需要关注2个函数:房间模板初始化函数,生成地图函数。
2个函数都在随机地牢系统
在这里插入图片描述

房间模板初始化函数

在实体模板中调用(必须保证实体模板中已吸入搭建好的房间)
在这里插入图片描述

参数
参数类型格式是否必须说明
room_template逻辑必须按图直接使用此对象
e-co数值非必须东边的门距离房间右下角方块数,不填表示此房间在这个方向上没有门
s-co数值非必须南边的门距离房间左下角方块数,不填表示此房间在这个方向上没有门
w-co数值非必须西边的门距离房间左下角方块数,不填表示此房间在这个方向上没有门
n-co数值非必须北边的门距离房间左上角方块数,不填表示此房间在这个方向上没有门
room-size必须房间左上角在X,Z轴上与左下角的方块数

地图生成函数

在这里插入图片描述

参数
参数类型格式是否必须说明
地牢广度数值必须控制房间生成层数,数值越大,房间生成越多,最大广度必然只生成一个门的房间
起始房间方向字符填 E,S,W,N中的一个,或者不填非必须不填则随机一个方向
起始房间坐标X数值必须生成房间时的方块数
起始房间坐标X数值必须生成房间时的方块数
长度比例数值必须建筑物地基的方块长度

注:

  1. 长度比例可以理解为地基使用哪个尺寸的方块,比如313, 意思就是3个单位长度,1个单位高度,3个段位宽度的方块,每个单位为0.375
  2. 随机系统在计算时,都是按照1个单位来计算的。后续实际生成时,都会 计算坐标*长度比例 * 0.375
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值