Dungeon Architect插件介绍

Dungeon Architect是一个用于Unity的关卡生成插件,它通过元件生成、布局生成和场景生成三个阶段快速创建关卡。元件生成涉及Theme文件,包含Marker、Visual和Emitter元件,用于定义和实例化关卡元素。布局生成则根据Marker数据点生成关卡结构。最后,场景生成结合元件和布局,实例化实际场景对象。插件还支持手动和自动布局模式,以及自定义元件和导航网格生成。
摘要由CSDN通过智能技术生成

Dungeon Architect是一个unity引擎上用于流水线产出场景关卡的插件。它让你可以通过设置参数来自动或手动的快速创建关卡。这个文档就是来介绍Dungeon Architect插件的各种特性。

 

概述

一个关卡的生成份为三个阶段

  1. 元件生成
  2. 布局生成

3,图形生成

 

元件生成

Marker元件作为根节点,下面附属各类图形化Visual元件。而这些Visual元件可以关联别的Marker元件,以及设置这些marker出现的几率。

通过图形化的编辑器界面生成的theme文件保存了这些编辑信息,实际上这个theme文件就是一个序列化文件,也可以被转换成别的文件格式。

布局生成

       在这个阶段,仅仅只是将关卡的布局在内存中生成,并未创建任何模型或者对象。

       接下来,根据布局中的叫做Marker的数据点生成关卡。一个marker数据点在3D空间中只有一个名字和一个Transform关系。

 

      

场景生成

       这个阶段会生成实际对象,根据布局和元件,组合生成实际场景。

       执行过程中,首先遍历布局中的每一个点,根据这个点,在theme文件中找到对应的marker,然后拿marker中附属的模型图形资源替换到这个点上来。

       同一个布局,如果使用不同的theme文件,可以生成布局一样但是风格完全不同的场景。使用相同的theme文件,但是使用不同的布局,则可以生成风格一致但是布局不同的场景。

 

元件生成

Theme概述

       Theme文件用来定义你的元件。其本质是一个序列化文件,在本插件中,保存为一个Asset文件。编辑界面如下:

创建theme文件

       在Project窗口上的create的按键,依次选择,则创建出了一个默认theme文件。

 

编辑theme文件

入口

       双击theme文件,或者选中一个theme文件后在unity菜单栏选择window的下拉框中选择Dungeon Architect。就可以打开theme文件的编辑界面。

默认的theme文件中,只有几个默认的Marker元件。

Theme元件概述

Theme元件分为三类

1, Marker Nodes

2, Visual Nodes

3, Marker Emitter Nodes

关系如下

w

Marker作为元件的单位,其下面有附属的Visual元件。而Visual元件又可以挂载Emitter元件。实际上Emitter元件是作为另外一个Marker元件的指针。

当一个Marker元件被实例化,那么其所附属的Visual元件也会被实例化。当这个Visual元件被实例化时,如果它下面挂载有Emitter元件,则根据Emitter上的权重比率来决定是否要在Visual下实例化一个Emitter指向的Marker元件。如此循环。

例如墙壁是一个Marker元件,其附属了墙和柱子两个Visual元件。而墙Visual元件又挂载了一个Emitter元件指向窗户Marker元件。并且概率为50%。那么在实例化这个墙壁Marker元件时,其墙面上有50%的几率出现一个窗户Marker元件。而这个窗户Marker元件下的Visual元件又可以指向窗帘,花盆等其他Marker元件。

 

Marker元件

       在场景布局完成后,布局中的每个格子会去theme文件中找对应的Marker元件实例化到格子中(根据名字来匹配)。Marker元件作为一种根节点元件,其下面可以包括各种其他元件。

       每个theme文件在创建会有若干种默认存在的Marker元件。你也可以自定义添加Marker元件,在theme编辑界面右键出现如下功能菜单,选择Add Marker Node即可。

Visual元件

       Visual元件代表实际的美术资源,其中可以定义模型,贴图,图片等资源引用,以及这些资源的相对坐标,朝向,大小等Transform数据。它必须挂载在Marker元件之下,不能作为根节点元件存在。

       Visual元件分为两种,一种是Game Object Node,一种是Sprite元件。使用哪种取决于你做的是3D游戏还是2D游戏。

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值