梳理Y3游戏编辑器入门者需要明白的基础概念

news2024/12/23 6:56:17

前言

Y3编辑器是网易开发的一款类似于“War3地图编辑器”的产品。
最近KK对战平台上不少热门的RPG地图都出自Y3编辑器:
在这里插入图片描述

最近我花了些时间学习了这款编辑器的基础知识。我发现其中很多概念是比较抽象需要理解的,而有些概念比如“物件”、“物体”、“物品”其实挺容易让人混淆的,所以想着做些笔记作为梳理与备忘。当然,我认为这些知识对于其他想要入门这个编辑器的同学而言也是有帮助的。

编辑器下载地址

目标

简单梳理Y3编辑器中,对于完全的入门者而言,需要明白的最基础的概念。(对于已经入门的同学,也许并不具有很大的参考价值)

1. 项目

当你开始制作你的游戏时,首先要做的就是创建一个 “项目”。项目即代表着你要做的游戏。
打开Y3编辑器的第一件事也是在指定路径下,新建一个指定名字的项目:
在这里插入图片描述

“新建项目”意味着在指定路径下按照所选模板(我这里是空白模板)生成项目文件:
在这里插入图片描述
要明白:
这个文件夹就代表着你的项目。下次重开编辑器后可以从这个文件夹中找到项目,继续开发。
在编辑器内所做的一切有效编辑,实际都是编辑这个项目的文件。

为了能更准确明白你所编辑的每个内容对应于什么文件内容,你可以利用一些“差异比对”的功能。比如利用版本控制软件GIT等,去比较你编辑了一个特定内容后,项目文件发生了什么样的变化。

也就是说:

(玩家)运行
(开发者)编辑
项目(文件夹的文件)
游戏
编辑器

2. 地图(关卡)

“地图” 就是一般概念上的游戏地图。
但需要明白的是:他与“项目”的关系,哪些数据属于“地图”,哪些数据不属于“地图”。


以空白模板创建项目时,初始只有一张名为 “EntryMap” 的地图。
你可以从 文件>项目管理>新建关卡 这里创建一个新的地图(注意,下图的用词“关卡”指的就是“地图”):
在这里插入图片描述

创建的时候要指定地图名字(注意,下图的用词“项目”指的就是地图)
在这里插入图片描述
创建完成后,可以看到在项目文件夹的maps目录中,多了一个地图文件夹:
在这里插入图片描述
也就是说,一个项目包含一个或多个地图。


因此,需要留意自己所编辑的数据,是属于哪个地图(比如地图A上放的关羽和地图B上画的河),还是属于项目间地图通用的(比如项目插件)。

不过,目前的情况下,大部分编辑的数据都是归属于某个地图的,甚至包括有些直观上感觉不应该属于某个地图的,而是地图间通用的数据(比如定义一个新的单位,本想着可以在地图A和地图B上公用)但实际上还是会属于某个地图,没法在另一个地图上用。不清楚未来是否会改变这个情况,但目前需要注意。

也就是说:

包含
包含
包含
包含
包含
包含
项目
地图1
地图1的数据(目前的大部分数据)
地图2
地图2的数据(目前的大部分数据)
地图n...
项目间地图通用的数据(目前很少)

3. 地形

在这里插入图片描述

地图上有高有低,有深水浅水,有鼓起或凹陷的地面,地面上还有些花草大小级别的植物(完全没有交互和碰撞)。这些都属于 “地形”。在 地形编辑器 中可以编辑。
在这里插入图片描述
地形很直观地属于地图里的数据。

4. 物件

地图上放置了英雄、小兵、可拾取物品等。这些称之为 “物件”

编辑器左侧可以看到已放置的物件,而右侧可以选择一个分类的一种物件进行放置。
在这里插入图片描述

“物件” 这个词比较抽象。如果让我描述的话,我会说是 “地图上的实体(entity)”。类似于UE引擎的Actor,和Unity引擎中的GameObject。

当前,物件包括的分类如下:

  • 单位:地图上可供玩家选择的单位,比如:关羽、张飞、弓箭手、僵尸。
  • 装饰物:比如树木,石头,围墙。它们不能被玩家选中,所以交互更少。但是可以拥有碰撞。
  • 物品:地图上可以被单位拾取的装备/道具。
  • 镜头:默认会有个初始镜头(游戏一开始进入的镜头位置),其他镜头和镜头动画有关(入门者可忽略)
  • 投射物:(入门者可忽略)
  • 逻辑区域:可以定义一片区域以便构成某个逻辑(比如当英雄进入这个区域时就出现敌人)。当然必须要被触发器中的逻辑所引用才会发挥作用。
  • 可破坏物:字面意思
  • 氛围:包括光源与雾效等

也就是说:

直观上包含
包含
包含
包含
包含
直观上包含
包含
包含
包含
包含
地图
地形
地势水体
地表纹理
花草级别的植物
等等..
物件
单位
装饰物
(可拾取)物品
等等...

5. 物体

“物体” 是一个更为抽象的词了。
你要在物体编辑器(简称“物编”)里去编辑所谓的 “物体”。
在这里插入图片描述
而所谓的 “物体” 实际很宽泛地包括了很多东西,其中就包括可以作为 “物件” 放置到地图上的 “单位”、“装饰物”、“物品”、“投射物”、“可破坏物”。

需要明确理解的是,在物体编辑器中所编辑的 “物体” 与放在地图上的 “物件” 的区别:
在物体编辑器中所编辑的一种“物体”,是一种类型(class),或者说模板。而放在地图上的一个“物件”,是用某个模板创建出的实例(instance)


“类”和“实例”的概念在软件工程或游戏开发中是一个基础而常见的概念。但为了让入门者更快速地理解,这里做个比喻:

假设你有一篮水果,里面放了2个柠檬、2个苹果、3个橘子、5根香蕉。
那么这个水果篮就是“地图”。
而篮子里的每个水果实体就是每个“物件”。
而“物编”代表的是水果物种图谱。
这个图谱上有四种水果:柠檬、苹果、橘子、香蕉。也就是说“物编”上存在四种“物体”。
在这里插入图片描述
试想,当你要在水果篮(地图)里添加一个水果(物件)时,如果这个水果(物件)已经在水果物种图谱(物编)里存在,那么你可以直接放置。但是如果你想放的水果(物件)在水果物种图谱(物编)中不存在,那么你必须要在水果物种图谱(物编)中创造一种新的水果(物体)才行。

在现实中,创造一种新类型的水果很难。但是在你的游戏中,你一定会需要使用物编来创造你的新的物体类型的。


“物体” 除了包括刚才提到的,可以在地图中作为“物件”放置的“单位”、“装饰物”、“物品”、“投射物”、“可破坏物”,还包括:

  • 技能:字面意思。当你在物编中为某个单位添加技能时,需要从技能的物编中挑选一个。
  • 魔法效果:更常见的叫法是“BUFF”。你的技能可能会触发某些魔法效果,此时就需要从魔法效果的物编中引用一个。
  • 投射物:字面意思。你的技能可能会发射某个投射物,此时就需要从投射物的物编中引用一个。(目前来看也可以直接放在地图中,但显然最常见的用法是被技能引用)
  • 科技:(入门者可忽略)
  • 音效:字面意思。你的技能可能会产生音效,此时就需要从音效的物编中引用一个。

因此,它们常见的引用关系包括:

放置
引用
引用
引用
引用
放置
放置
放置
地图
单位
技能
魔法效果
投射物
音效
装饰物
物品
可破坏物

需要说明,上面的引用关系可能并不全,例如物品可能也会引用音效。但是引用关系的箭头一定是不可逆的,比如技能会引用音效,但是音效绝不可能引用技能。

6. 物件的属性和物体的属性

“属性”即是字面的意思,描述某个对象在某一方面的情况。在讨论“属性”的时候需要明确是在讨论 “谁” 的属性,毕竟Y3编辑器中有很多对象都有属性。

这里想要讨论的是 “物件” 的属性和 “物体” 的属性。
再以上面的水果篮举例:

  • 你可以把一个香蕉放在水果篮的任何位置,每个香蕉的大小也有些许差异,所以说 “位置”“大小” 是一个香蕉实体(物件)的属性。
  • 但无论你把一个香蕉放在哪,你都改变不了香蕉是长条形状的,表皮是黄绿色的这些事实。所以说 “形状”“表皮颜色” 是香蕉这种物种(物体)的属性。

在Y3编辑器中,放在的地图上的单位,作为物件拥有 “位置” “旋转” “缩放” 等属性:
在这里插入图片描述
而每种单位,作为物体在物编里可以编辑 “单位分类” “技能资源名称” “视野类型” 等属性:
在这里插入图片描述


不过,一个香蕉(物件)由于基因变异,也可能出现 “蓝色表皮” 这种有违其作为香蕉这个物种(物体)的情况。用软件工程的说法就是:这个实例 “覆写(override)” 了其所属的类型的某个行为。

Y3编辑器里也支持物件的某些属性覆写物体的属性,只需要去掉“使用物编属性”的勾选即可,此时就可以看到:虽然单位的“技能”是在物编中编辑的,但是这里也可以改变:(在去掉勾选之前,这里是灰色的)
在这里插入图片描述
当然,就像基因变异是小几率的,且能改变的行为是有限的。物件所能覆写的属性也是较少的,大部分属性还是需要在物编中进行编辑。

也就是说:
在这里插入图片描述

7. 触发器

“触发器” 听起来就是 “满足一定条件后就触发去做某些事情”,实际确实如此。
但要明白,在Y3编辑器中,所有的玩法逻辑都依赖于触发器来实现(这里不考虑Lua),所以触发器的使用范围极其广泛。当你想要实现某个玩法的时候,最主要考虑的就是使用触发器来完成。

触发器分为了:Event(事件)、Condition(条件)、Action(动作)三个部分,简称ECA。

  • 事件:触发器的起点。比如“游戏开始”、“某个单位死亡”。
  • 条件:满足特定条件才可以触发。比如“玩家的金币超过某个数值”
  • 动作:要做的事情,也是触发器的主体。比如“创建单位”、“播放音效”等等。

ECA三个字母并列写出来可能会让人觉得逻辑是差不多均匀地分成这三个部分,但实际上大部分的逻辑都会在A(动作)上,并且动作中还会包含条件。因此,如果按照占比来形象化地写出ECA,那会是:
在这里插入图片描述


另一个要注意的是:
虽然你可以在编辑器的主页面打开触发器的编辑器:
在这里插入图片描述
但这里只会看到属于地图的触发器。实际还有很多触发器属于其他物体。例如物编中编辑的技能,就拥有触发器:
在这里插入图片描述
比如关羽的青龙护体技能,就要触发一些治疗和添加BUFF的动作。

在物编中所编辑的以下物体都拥有触发器:

  • 单位
  • 物品
  • 技能
  • 魔法效果
  • 投射物
  • 可破坏物

没有触发器的物体,可以说本身的交互性更低。但是它们仍旧可以被触发器所引用,比如音效本身没有触发器,但触发器包含了音效相关的动作,所以你可以在其他触发器中实现音效相关的逻辑。

也就是说:

拥有
拥有
拥有
地图
地图的触发器
物编
各个单位
各个单位的触发器
各个技能
各个技能的触发器
其他...(有的拥有触发器,有的没有触发器)

8. 界面

“界面” 就是字面意思。
在Y3编辑器中可以打开“界面编辑器”来编辑界面:
在这里插入图片描述
触发器中包含了界面相关的动作:
在这里插入图片描述
所以触发器可以操纵界面。
但这并不是说界面单方面被触发器操纵。界面中比如“按钮点击”也可以主动地触发逻辑,这是通过界面自己的事件完成的。
比如这里有个按钮,添加了一个界面上的事件,名为 button_yaksuetest:
在这里插入图片描述
那么后续,就可以在地图的触发器中添加一个触发器,其事件为“触发界面事件button_yaksuetest”
在这里插入图片描述
这样,界面上的按钮点击时,就可以触发这里的动作了。

因此,界面和触发器是双向触发的:

通过界面事件来触发
操控
界面
地图的触发器

9. 资源

“资源” 这里指的是“资源管理器”里的资源。它们是纯美术性的,完全不包含游戏逻辑。它们没法编辑属性,当然也没有触发器。

它们会被一些物体的属性所引用,或者被触发器引用。例如:

  • 模型资源:会被单位所引用。
  • 声音资源:会被物编中的声音所引用,物编中将会有一些属性编辑,比如对其的分类以及淡入淡出时间等。
  • 特效资源:触发器可以创建指定某个特效

因此,简单来讲:

引用
引用
物编中的物体属性
资源
触发器

总结

  • 所有的编辑本质上都是编辑项目文件夹中的文件。
  • 项目包含一个或多个地图。当前大部分数据都是归属于某个地图中。
  • 地图包含地形数据。
  • 地图包含若干个物件。
  • 物编中可以编辑多种物体的数据。“物体”意味着类型或者说模板,“物件”意味着使用某个模板在地图上创建出的实例。
  • 触发器被广泛地使用于玩法逻辑中。地图拥有触发器,很多物体也拥有触发器。
  • 界面和触发器是双向触发的。
  • 资源是纯美术性的,完全不包含游戏逻辑。但资源可以被物体或触发器所引用。

特别的,针对于“物件”、“物体”、“物品”这三个开头字相同的词语,也总结下它们的关系以防混淆:
“物品” 是 “物体” 中的一类。“物品” 可以作为 “物件” 放到地图上。

此外要说明,本篇的说法均为自己的理解,如果与官方文档有冲突,那么以官方文档的说法为准。
想要进一步学习编辑器,可以查阅官网(https://163.com/y3/?source=dy)上的文档来获取更深入的知识:Y3编辑器-开发者文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1831867.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

生活好物:日常更精彩

我们的日用杂货店,是生活美学的聚集地。这里汇聚了各式各样的生活用品,每一件都蕴含着对生活的热爱与追求。 走进我们的日用杂货店,仿佛打开了一个充满生活气息的宝藏盒。从厨房的锅碗瓢盆,到浴室的洗漱用品,再到客厅的…

列表(list)(Python)

文章目录 一、定义二、列表常用操作 一、定义 list ["张三", "李四", "王五", "赵六"]二、列表常用操作 分类关键字/函数/方法说明增加列表.append(值)在列表末尾追加值列表.insert(索引, 值)在指定位置插入值&#xff…

快去复习吧+++常用算法及参考算法 递推法++穷举法++排序(冒泡、选择)++查找(顺序、折半)++字符串处理++方程求根++无穷级数求和

接上:常用算法及参考算法 (1)累加 (2)累乘 (3)素数 (4)最大公约数 (5)最值问题 (6)迭代法 常用算法及参考算法 7. 递推法…

公共服务数字化转型的五个路径

数字化技术赋能公共服务,主要以数据为着力点,通过数据驱动优化或重塑公共服务架构。基于用数据决策、用数据服务、用数据创新的现代化的公共服务供给模式,推进“信息数字化业务数字化组织业务化”的全方位公共服务数字化,进而赋能…

springboot应用启动太慢排查 半天才打印日志

springboot应用启动太慢排查 半天才打印日志 解决办法 hostnamectl 命令查看主机名 vim /etc/hosts 加上主机名配置 127.0.0.1 hostname

SAP 在过账的时候系统提示:被合并的公司 XXXX 和 ‘ ‘ 是不同的解决办法

最近用户反馈在STO的业务模式中交货单过账的时候,报错没有办法过账。查看了一下报错的信息提示:被合并的公司 和1300是不同的 如下图所示: 消息号是F5080 首先根据SAP的消息号找了一下NOTE,发现2091823有详细的说。 主要是财务…

Excel批量一列转多列多行

你在公司或学校是否遇到过对人员进行分组,你是否曾一个一个复制粘贴,如只有100人,尚有时间一一分组,如1000人,甚至更多,不知分到“地老天荒”是否可以完成! 今天刘小生分享一个方法“用替换等号…

选择电动升降控制台需要考虑哪几方面

电动升降控制台是现代办公环境中不可或缺的一部分,尤其对于那些需要频繁调整控制台高度以适应不同工作或人体工程学需求的企业和机构。选择一款合适的电动升降控制台不仅关乎工作效率,更关乎员工的健康和舒适度。那么,如何选择到一款合适的电…

【设计模式-10】代理模式的代码实现及使用场景

 代理模式是一种应用很广发的结构性设计模式,它的设计初衷就是通过引入新的代理对象,在客户端和目标对象之间起到中介的作用,从而实现控制客户端对目标对象的访问,比如增强或者阉割某些能力。 1. 概述 代理模…

OZON爆款新品推荐丨OZON珠宝首饰好款推荐

在OZON平台上,珠宝首饰一直以其独特的魅力和精致的工艺吸引着广大消费者。以下是几款推荐的OZON珠宝首饰好款: Top1 隐形树藤项链 MARIOLA Ювелирное колье серебро 925 леска невидимка женское сере…

Graphviz——安装、绘制可视化协议状态机(Python)

1、简介 Graphviz 是一个开源的图形可视化软件包,特别擅长绘制有向图和无向图等结构化图形。它非常适合用于生成各种图表,例如流程图、网络图、状态机图、层次结构图等。Graphviz 的主要组件 dot: 这是Graphviz最常用的布局程序,用于创建有向…

TC3xx A\B SWAP机制的小细节(1)

目录 1.汽车OTA背景 1.1 汽车为什么需要OTA 1.2 汽车OTA概念 2. MCU的硬件A\B Swap机制 3.小结 1.汽车OTA背景 1.1 汽车为什么需要OTA 谈到英飞凌TC3xx的A\B SWAP硬件机制,我们首先要搞懂它的应用场景--OTA。 在手机或者电脑上,我们几乎每天都可…

从11个视角看全球Rust程序员2/4:深度解读JetBrains最新报告

讲动人的故事,写懂人的代码 5 Rust代码最常使用什么协议与其他代码交互? REST API: 2022年:51%2023年:51%看上去REST API的使用比例挺稳定的,没啥变化。语言互操作性(Language Interop): 2022年:53%2023年:43%语言互操作性的比例在2023年下来了一些,掉了10个百分点…

内外同趋 | 牵手AEye、ATI,灵途科技全球布局战略启航!

近日,灵途科技(LighTekton)与自适应高性能激光雷达解决方案全球领导者AEye公司(NASDAQ:LIDR)及光电器件规模化量产巨头Accelight Technologies(ATI)达成战略合作,这标志着灵途科技全…

全篇创新点!图像融合9大魔改创新方案,暴力涨点

在处理复杂图像数据和提升图像质量时,采用图像融合的技术是个更好的选择。 这是因为:图像融合能够整合来自不同图像源的信息,为我们提供比单一图像更丰富、更全面、更高质量的图像数据。这种技术不仅减少了数据冗余,还增强了图像…

【Nvidia+AI摄像头】面向机器人双目视觉相机

随着人工智能和机器人技术的不断发展,双目深度相机作为一种重要的传感器,正在被广泛应用于各种机器人系统中。双目深度相机作为机器人不可或缺的感知器件,其高精度深度信息为机器人提供环境感知、立体视觉、姿态识别等功能,让机器…

手把手安装教导安装QT开源版

第一步:下载安装安装程序 官网地址:试用Qt | 开发应用程序和嵌入式系统 | Qt 点击页面中的“选择开源版” , 之后页面往下拉,找到下载按钮,点击下载安装程序 第二步:安装 下载好了安装程序之后&#xff0…

Android笔记-安装Termux开启ssh,安装vim、android-tool、python等

背景 家里面有个老手机,想将此手机做成一个家庭服务器。控制各种家电。目前准备先控制电视机 流程 用电脑usb连接手机,下载好Termux,在安卓手机上安装好。这里就不记录笔记了,各个手机不一样。 安装好进入手机后: …

从《2024年人工智能指数报告》 看AI的最新发展趋势

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点 《2024年人工智能指数报告》是由斯坦福大学的“以人为本”人工智能研究所(Stanford HAI)发布的,具体发布时间…

数据结构与算法笔记:基础篇 -字符串匹配(下):如何借助BM算法轻松理解KMP算法?

概述 上篇文章讲了 BM 算法,尽管他复杂,也不好理解,但确实工程中非常好用的一种高效字符串匹配算法。有统计说,它是最搞笑、最常用的字符串匹配算法。不过,在所有的字符串匹配算法里,要说最知名的一种的话…