Tutorial by Siretu

让大多数接触星际2编辑器的人歇菜的原因, 就是这个数据编辑器(Data Editor). 不管你是个新手, 还是使用魔兽3的编辑器做过一些东西, 当你怀着满腔的热情准备做一张星际2的地图时, 数据编辑器就像挡在前面的一座大山, 让人恨不得撞死算了.

这种情况同样发生在我身上. 我自信用魔兽3的对象编辑器用得炉火纯青了, 但是当我打开数据编辑器时, 连怎么做个Unit都不知道.

现在, 我总算能凑合着用数据编辑器了, 但也不是太好, 谁让爆血把这玩艺弄得这么高深来着.

这个教程里我只说一些基础, 不会做一些实际的东西. 想学那些的, 看后面的教程去.

入门

让我们以数据编辑器的截图开始:

就算不知道是干什么的, 我们也能看出来分成好几个区域, 一个一个说.

标准按钮
这些按钮在其它模块里也有:

这个没什么好说的, 自己看一下Tooltips就知道了

数据编辑器的按钮
这些才有必要说一下:

查看原始数据 - 平时数据以比较漂亮直观的方式显示出来, 按下这个按钮后, 它们就卸妆了.

对象树列表 - 用树形显示还是用列表显示看个人习惯, 树形有分类层次, 列表好查找.

显示所有对象源 - 当你编辑一个兵时, 编辑器会创建一个拷贝来编辑, 老的还保留着. 你可以随时返回去看望这个没有编辑过的它.

显示对象浏览器 - 建议开着, 用来开关左下角的那个窗口的.

查看方式 - 表格/详情/XML - 建议表格方式, 好查找. XML方式可以让你看看它的实现原理, 好山寨一个.

显示默认值 - 显示成灰色的都是默认值, 表示跟它爹的值一样.


显示高级字段 - 开这个最好也"显示默认值".

显示字段类型 - 字段名会加一个分类前缀.

组合结构体的值 - 结构体字段太多了, 单独显示吧...

XML相关的俩按钮 - (会用的就没必要看我的翻译了).

测试地图 - 按一下就进入游戏测试当前正在编辑的地图.

对象选项卡

每种对象类型会显示一个选项卡, 方便切换用的. 右键菜单有更多的操作.

如你所见, 能干什么都写在菜单上了, 我不就翻译了.

大多数情况下只会用到Game, Actor, Art And Sound里的数据, 欲知详情, 且听下回分解.

对象列表

这只是Unit, 其它类型会有不同的列. 但是, 名字和来源(Source)一般都会有的.

字段列表

这是字段列表, 包含了选择对象的所有信息. 双击就可以改了.

对象浏览器

按了"显示对象浏览器"按钮才会冒出来.

这是一个简单对象的结构(女妖的隐形):

对象浏览器显示了所有连接到这个对象的东西. 跟魔兽3不一样的, 原来很多东西都塞进一个对象里, 现在分成多个对象类似来保存. 比如在魔兽3中改技能提示是在Ability中, 而星际2则是在Button中. Button包含标题, 提示, 快捷键等.

上面的图都说了些啥呢? (下面是些废话)


• 俩Actor(Banshee_CloakOn (Unnamed) 和 Banshee_CloakOff (Unnamed))
• 一Behavior(Banshee - Cloak)
• 俩Buttons(Cloak (Banshee) and Decloak)
• 一Requirement(Use cloaking field)
• 俩Sounds(Banshee_CloakOn and Banshee_CloakOff)

这就是女妖的隐形能力所需的所有东西了.

现在, 就算你看了这个也山寨不出一个来, 因为看不懂这些东西是怎么联系起来的. 好在破璃渣实现了一个工具, 右键点一个结点, 选择"Explain link(解释连接)", 一个新的窗口会解释给你看.

举个例子, 在"Banshee - Cloak"上点击解释连接, 会显示成这样:

[Ability] Banshee - Cloaking Field <Behaviors> ->

[Behavior] Banshee - Cloak

这些说的是 Banshee - Cloaking 有一个 Behavior 字段连接到一个叫 "Banshee - Cloak" 的 Behavior. 这就是Behavior怎么连接到Ability的. 是不是很简单? 来个复杂的. 在其中一个Sound上点击解释连接, 得出一坨:

[Ability] Banshee - Cloaking Field <Behavior> ->

[Behavior] Banshee - Cloak <Events> - >

[Actor] Banshee_CloakOff (Unnamed) <Sound> ->

[Sound] Banshee_CloakOff

比上一次量大, 不过前两行看起来一样. Actor看起来像是走后门的, 但是你还得接受它. Behavior后面的<Events>并不是说这是它的一个字段, 而是说Actor通过它的Events字段连接到Behavior. 然后, Actor通过Sound字段连接到一个Sound对象. 好了, 我说完了, 你估计晕了!

如果你还是没看明白, 不要紧, 这是最困难的地方. 要是你理清楚了, 那么就会爱上这个编辑器.

这就是我为什么在后半部分才解释常见的对象类型和它们的用途.

常见对象类型

Units(单位)
大多数人应该知道Unit是个什么东西, 因为它就是个东西的意思. 一个兵是Unit, 建筑也是, 子弹也是. 这个类型里你可以找到Unit的生命值, 能量值, 护盾值等. 所有可见的部分并不在Unit里, 而在对应的Actor里.

Abilities(能力)
Ability就是一个Unit可以干什么. 攻击, 移动, 建造之类都是Ability. 在这里你可以找到能量消耗值, 用到的Button, 范围和产生的Effect. Effect -Target提供一个可以选择目标的鼠标指针, 选择后Effect就在目标点启动.

Effects(效果)
Effect是让一件事情发生. 它是Aiblity幕后的实现, 可以增加Buff, 产生伤害, 治疗单位等.

比如"Apply Behavior"类型应用一个Behavior(一般是一个Buff) 到一个Unit, "Damage"类型对一个Unit产生伤害, "Search"在一个区域内搜索Unit并施加一个Effect, "Set"类型把多个Effect组合成一个.

Behaviors(行为)
Behavior有很多类型, 最常见的应该是"Buff". 就像你想得那样, 它会附加到一个Unit上并影响它, 比如加速, 禁用武器, 抵挡伤害等.

Buttons(按钮)
前面我说了Button是干什么的了. 在游戏里你有一个命令面板(右下角), 每个按钮都对应一个Button对象, 描述它的图标, 提示信息, 快捷键和名字.

Actors(演员)
这是个复杂又重要的东西, 它表示所有你能看到的玩意儿. 如模型, 网格, 生命条, 选择范围等. 没有Actor的Unit会显示成一个白球.

Actor是新手觉得最棘手的, 它有一个Events字段关联到一个事件触发器. 在我的一张地图里我用Actor的Events来实现单位获得一个Behavior后变色的功能.

如果我想做一个AOE技能, 加速所有范围内的单位15秒. 你能猜出来这些类型是怎么联系起来的吗?

我会做一个Ability(当然配个Button). 这个Ability是Effect - Target类型, 它的Effect是一个Search Effect, 搜索指定目标半径内的友军. 每个搜索到的Unit都会施加一个Effect("Apply Behavior"类型), 这个Effect会施加一个自定义的"Buff"类型的Behavior,  它的功能就是增加额外的移动速度.

总结

现在你有基础去自己学了吧? 最好的途径是多看看对象浏览器, 搞明白这些东西是怎么工作的. 然后制作你自己的Ability. 就算最后你花了半个小时才能让它运行起来, 那也会感觉非常美好的.

如果你觉得一个Ability太复杂, 请无视Actor, Sound什么的, 专门去搞Behavior和Effect, 还有它们之间的关系. .

原文链接: http://starcraft-2-galaxy-editor-tutorials.thehelper.net/tutorials.php?view=167683
注: 一些类型名就不编译了, 免得词不达意

星际争霸2-数据编辑器-菜鸟入门相关推荐

  1. 星际争霸汉化java_星际争霸2地图编辑器:银河编辑器语言类似Java/C/PHP

    国外知名网站sc2armory的工作人员gearvOsh在研究星际争霸2的MPQ文件(一种压缩文件格式)时发现,星际争霸2的地图编辑器语言以"银河"命名,并且是一种类似C/Java ...

  2. linux系统可以玩星际争霸吧,《星际争霸》4.0版本更新说明

    感染者 在低画质设置下未被发现的潜地感染者现在更容易被看见了. 被感染的人类 被感染的电磁枪的伤害从8下调至6. 被感染的电磁枪无法对空攻击. 新武器"感染火箭". 只能攻击空中单 ...

  3. 星际争霸2编辑器的初接触

    最近在接手改进我们的怪物 AI 的底层模块.这部分策划是希望可以由他们来直接配置而不是提交需求文档让程序实现. 我们的前一个版本有较大的性能问题,光是空跑一些场景,没有玩家的情况下 CPU 符合都相当 ...

  4. 陈旧的谷仓找到了几粒大米,里面有仿星际争霸1的地图编辑器

    好久没有写程序了,居然有些生疏了.翻出来以前做的一个星际争霸1的复制品,只是做了一部分,把地图编辑器的一个迷宫地图复刻出来了,对照原版的编辑器完善了边界的涂抹效果.觉得还不错吧.没有优化,还是停留在功 ...

  5. 算法全覆盖,还能玩星际争霸,开源决策智能平台OpenDILab面世

    开源是推动人工智能技术进步的重要力量. 近年来,AI 开发者们也一直在享受着开源带来的技术红利:前沿算法.数据.AI框架.甚至算力.这些开源资源为开发者们带来了极大的便利,而反过来,通过汇聚开发者们的 ...

  6. 多智能体强化学习_基于多智能体强化学习主宰星际争霸游戏

    大家好,今天我们来介绍基于多智能体强化学习主宰星际争霸游戏这篇论文 Grandmaster level in StarCraft II using multi-agent reinforcement ...

  7. 【转贴】看星际争霸人工智能伯克利如何“主宰”了“2010星际争霸人工智能挑战赛”...

    我们集中在伯克利校区里的一个会议室里,局域网的设备散落在我们周围.桌面上堆满了电脑和披萨,屏幕上投影的是一场<星际争霸>的比赛.Oriol Vinyals,一位计算机科学的博士生,正指挥着 ...

  8. 20年的星际争霸,再回首

    暴雪1998年经典RTS游戏<星际争霸>,这款给业界带来深远影响的经典,在今天暴雪给了我们最后一个甜蜜的礼物.免费下载,免费玩,上网对战开始了...... <星际争霸>最近升级 ...

  9. 跟随Deepmind使用AI玩《星际争霸2》

    近来人工智能的火爆,deepmind已经开始研究玩<星际争霸2>了,这个游戏比较复杂,是否可以像围棋一样超越人类呢? 要想学习这个,可以到DM的开源网站下载源码: https://gith ...

最新文章

  1. 工作经验到底是个什么东东?工作经验从哪里来?
  2. BeagleBone Black快速入门教程第1章嵌入式Linux之于Maker们
  3. 算法-动态规划(1)
  4. List中toArray()的使用方法
  5. 笔试题 遗忘点记录 面向对象特点 + 产生死锁条件+ windows内存管理方法
  6. html iframe post,使用Jquery和IFrame的跨子域请求(GET,POST,…)
  7. iOS 权限判断 跳转对应设置界面
  8. 转:神奇的Fastcgi_Finish_Request
  9. C程序设计语言现代方法18:声明
  10. 使用 WebSphere Portlet Factory 构建基于 Web2.0 的灵活 SOA 前端
  11. wx小程序 解决子组件样式不起效
  12. ESP32音频框架 ESP-ADF 添加按键外设流程代码跟踪
  13. python-numpy常用知识汇总
  14. 在vs2010中运行guge.cpp(SkeletonDepth)的时候程序是网上的,可是总是提示我没有KinectUNI.lib。
  15. 实际利率 名义利率
  16. pfSense软路由防火墙
  17. php fpm 重启命令,php-fpm怎么重新启动
  18. 【RAII】RAII 技术(内存安全解决技术/自动化解锁技术)
  19. 编程笔试(解析及代码实现):求和为N的正整数序列之实现一个函数,输入为一个正整数N (比如100),输出为所有和等于N的[连续]正整数序列
  20. 推荐几款提升效率Intellij IDEA 神级插件!

热门文章

  1. BigWorld用到的其他库
  2. 电子计算机显示屏不亮了,手把手教你电脑显示器不亮怎么办
  3. vue/JS实现输入框失焦
  4. 那些让我印象深刻的五个bug
  5. Web学习第六天用html5表格标签做个人简历
  6. opta planner_使用Excel Christmas Planner进行整理
  7. Zabbix启动失败,提示Zabbix-agent.servic never wrote its PID file,failing
  8. 英文字母间距非常大的问题
  9. 【帝国CMS】灵动标签SQL调用广告系统里的广告
  10. 【EE】案例分享-如何设计继电器电路?