魔兽争霸三之冰封王座的地图编辑,地图动画怎么制作?
发布网友
发布时间:2022-04-30 03:14
我来回答
共3个回答
热心网友
时间:2023-10-09 09:56
首先需要触发的事件,比如某单位死亡,单位进入某区域,单位建造完成,单位被营救,计时器到期,地图初始化等。然后你需要三个触发器来完成播放动画,动画播放结束后的工作以及按下ESC跳过动画。
优质的动画会有很强的既视感,它包括了让战斗单位暂时休息,放置演员单位,判断玩家是否跳过动画,删除演员单位,设置镜头,命令玩家选择单位的动作。
如果你想做优质的动画,建议你耐心地阅读下面的实例,由于字数太多进行过删减,但是没有大的影响。
举个实例:
Request1
事件
单位 - 任意单位 死亡
条件
(触发单位) 等于 Bosses[0]
动作
任务 - 设置 Quest[0] 完成
任务 - 对 (所有玩家) 发送 任务完成 信息: |c00FFFF00剧情推...
等待 2.00 秒(游戏时间)
触发器 - 运行 Boss1dead <预设> (检查条件)
这个触发器中运行电影触发器
Boss1dead
事件
条件
动作
单位 - 删除 Bosses[0]
设置 InCinematic = TRUE
电影 - 淡出 使用 1.00 秒时间,使用图片: 白色迷雾 颜色值:(0.00%, 0.00%, 0.00%) 透明度: 0.00%
等待 1.00 秒
电影 - 打开 电影模式对 (所有玩家)
单位组 - 选取 Monsters 内所有单位做动作
Loop - 动作
单位 - 隐藏 (选取单位)
单位 - 暂停 (选取单位)
单位组 - 选取 Hereos 内所有单位做动作
Loop - 动作
单位 - 隐藏 (选取单位)
单位 - 暂停 (选取单位)
单位组 - 选取 ((可用地图区域) 内的所有单位) 内所有单位做动作
Loop - 动作
如果(所有的条件成立) 则运行 (Then - 动作) 否则运行 (Else - 动作)
If - 条件
((选取单位) 是镜像单位) 等于 TRUE
Then - 动作
单位 - 隐藏 (选取单位)
单位 - 暂停 (选取单位)
Else - 动作
物品 - 选取 (可用地图区域) 内所有物品 (物品 - 隐藏 (选取物品))
计时器 - 暂停 Monster_timer
镜头 - 将 Camera 009 <预设> 应用方式设置为 应用,持续 0.00 秒
等待 0.25 秒
等待 0.25 秒
设置 One_point = (矩形区域 016 <预设> 的中心点)
单位 - 创建 1 个 库尔克尼斯 给 玩家1(红色) 在 One_point ,面向角度为 49.00 度
单位 - 改变 (最后创建的单位) 的队伍颜色为 淡蓝色
设置 Actor[0] = (最后创建的单位)
点 - 清除 One_point
设置 One_point = (矩形区域 030 <预设> 的中心点)
单位 - 创建 1 个 克利西斯 给 玩家7(绿色) 在 One_point ,面向角度为 52.00 度
设置 Actor[1] = (最后创建的单位)
点 - 清除 One_point
设置 One_point = (矩形区域 032 <预设> 的中心点)
单位 - 创建 1 个 莎尔-冰之春 给 玩家7(绿色) 在 One_point ,面向角度为 54.00 度
设置 Actor[2] = (最后创建的单位)
单位 - 改变 (最后创建的单位) 的队伍颜色为 淡蓝色
点 - 清除 One_point
设置 One_point = (矩形区域 031 <预设> 的中心点)
单位 - 创建 1 个 安娜 给 玩家1(红色) 在 One_point ,面向角度为 (Actor[0] 的面向角度) 度
设置 Actor[3] = (最后创建的单位)
单位 - 改变 Actor[3] 的队伍颜色为 灰色
点 - 清除 One_point
电影 - 淡入 使用 2.00 秒时间,使用图片: 白色迷雾 颜色值:(0.00%, 0.00%, 0.00%) 透明度: 0.00%
声音 - 播放 神秘哀伤 主题音乐
动画 - 播放 Actor[0] 的 death 动作
动画 - 播放 Actor[1] 的 ready 动作
动画 - 播放 Actor[2] 的 ready 动作
动画 - 播放 Actor[3] 的 ready 动作
等待 1.00 秒(游戏时间)
动画 - 播放 Actor[1] 的 stand 动作
动画 - 播放 Actor[2] 的 stand 动作
动画 - 播放 Actor[3] 的 stand 动作
环境 - 设置天空模型为 边缘之地的天空
等待 2.00 秒
设置 Boss1Skipped = FALSE
触发器 - 开启 Boss1dead_Skipped <预设>
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[1] 显示名字: 克利西斯 ,播放音效: 没有音效 显示信息: 好了,库尔克... 持续时间: 设为 3.00 秒并 不等待
等待 3.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[0] 显示名字: 库尔克尼斯 ,播放音效: 没有音效 显示信息: 咳咳……没想... 持续时间: 设为 5.00 秒并 不等待
等待 1.00 秒(游戏时间)
等待 2.00 秒(游戏时间)
等待 2.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[3] 显示名字: 安娜 ,播放音效: 没有音效 显示信息: 可惜你没有那... 持续时间: 设为 3.00 秒并 不等待
动画 - 播放 Actor[3] 的 attack 动作
动画 - 把 Actor[3] 的 stand 动作添加到动作队列
等待 0.40 秒(游戏时间)
声音 - 播放 WyvernSpearMissile2 <预设> ,音量: 100.00%, 跟随单位: Actor[3]
等待 1.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[2] 显示名字: 莎尔 ,播放音效: 没有音效 显示信息: 安娜,不要这... 持续时间: 设为 2.00 秒并 不等待
等待 2.00 秒(游戏时间)
等待 1.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
单位 - 设置 Actor[3] 的面向角度为 49.00 度,使用时间 0.50 秒
等待 1.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
设置 One_point = (矩形区域 029 <预设> 的中心点)
单位 - 对 Actor[3] 发布 移动 命令到目标点: One_point
点 - 清除 One_point
动画 - 锁定 Actor[2] 的 头部 朝向 Actor[3] ,偏移坐标 (0.00, 0.00, 90.00)
等待 1.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
单位 - 设置 Actor[1] 面向 Actor[2] ,使用时间 0.50 秒
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[1] 显示名字: 克利西斯 ,播放音效: 没有音效 显示信息: 等一下,圣教... 持续时间: 设为 2.00 秒并 不等待
单位 - 对 Actor[3] 发布 停止 命令
等待 1.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
等待 1.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[3] 显示名字: 安娜 ,播放音效: 没有音效 显示信息: 嗯? 持续时间: 设为 1.00 秒并 不等待
等待 2.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[1] 显示名字: 克利西斯 ,播放音效: 没有音效 显示信息: 我想我们需要... 持续时间: 设为 3.00 秒并 不等待
等待 3.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[3] 显示名字: 安娜 ,播放音效: 没有音效 显示信息: 你们需要什么... 持续时间: 设为 3.00 秒并 不等待
等待 3.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[1] 显示名字: 克利西斯 ,播放音效: 没有音效 显示信息: 夏莱特-凯德先... 持续时间: 设为 1.00 秒并 不等待
等待 3.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
电影 - 对 (所有玩家) 播送信息,发言单位: Actor[3] 显示名字: 安娜 ,播放音效: 没有音效 显示信息: 啊。谁知道呢... 持续时间: 设为 2.00 秒并 不等待
设置 One_point = (Actor[2] 的位置)
特殊效果 - 在 One_point 创建特效: Abilities\Spells\Human\MassTeleport\MassTeleportCaster.mdl
点 - 清除 One_point
等待 2.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
等待 2.00 秒(游戏时间)
如果 (Boss1Skipped 等于 TRUE) 成立,则运行 (跳过剩余动作) 否则运行 (不做任何动作)
触发器 - 关闭 Boss1dead_Skipped <预设>
声音 - 设置 动画和技能音效 的音量为 0.00%
-------- Fade Out --------
电影 - 淡出 使用 1.00 秒时间,使用图片: 白色迷雾 颜色值:(0.00%, 0.00%, 0.00%) 透明度: 0.00%
等待 1.00 秒
-------- Cleanup --------
触发器 - 运行 Boss1dead_Cleanup <预设> (检查条件)
-------- Start AI, Let AI Settle Down --------
等待 1.50 秒
电影 - 关闭 电影模式对 Player
-------- Fade In --------
电影 - 淡入 使用 1.00 秒时间,使用图片: 白色迷雾 颜色值:(0.00%, 0.00%, 0.00%) 透明度: 0.00%
等待 1.00 秒
-------- Start Game --------
设置 InCinematic = FALSE
触发器 - 将 (当前触发) 移出触发队列
//==================================================
这是动画的内容,每一次等待之后几乎都有一个判断是否按下过ESC得条件。
//==================================================
Boss1dead_Skipped
事件
玩家 - 任意玩家 按下Esc键(跳过电影)
条件
动作
触发器 - 关闭 (当前触发)
设置 Boss1Skipped = TRUE
声音 - 设置 动画和技能音效 的音量为 0.00%
-------- Fade Out --------
电影 - 淡出 使用 0.50 秒时间,使用图片: 白色迷雾 颜色值:(0.00%, 0.00%, 0.00%) 透明度: 0.00%
等待 0.50 秒
-------- Cleanup --------
触发器 - 运行 Boss1dead_Cleanup <预设> (检查条件)
-------- Start AI, Let AI Settle Down --------
等待 1.50 秒
电影 - 关闭 电影模式对 Player
-------- Fade In --------
电影 - 淡入 使用 0.50 秒时间,使用图片: 白色迷雾 颜色值:(0.00%, 0.00%, 0.00%) 透明度: 0.00%
等待 0.50 秒
-------- Start Game --------
设置 InCinematic = FALSE
触发器 - 将 Boss1dead <预设> 移出触发队列
//==================================================
这是跳过动画的具体操作,简单来说就是把电影触发器的最后一段复制一下。
//==================================================
Boss1dead_Skipped
事件
玩家 - 任意玩家 按下Esc键(跳过电影)
条件
动作
触发器 - 关闭 (当前触发)
设置 Boss1Skipped = TRUE
声音 - 设置 动画和技能音效 的音量为 0.00%
-------- Fade Out --------
电影 - 淡出 使用 0.50 秒时间,使用图片: 白色迷雾 颜色值:(0.00%, 0.00%, 0.00%) 透明度: 0.00%
等待 0.50 秒
-------- Cleanup --------
触发器 - 运行 Boss1dead_Cleanup <预设> (检查条件)
-------- Start AI, Let AI Settle Down --------
等待 1.50 秒
电影 - 关闭 电影模式对 Player
-------- Fade In --------
电影 - 淡入 使用 0.50 秒时间,使用图片: 白色迷雾 颜色值:(0.00%, 0.00%, 0.00%) 透明度: 0.00%
等待 0.50 秒
-------- Start Game --------
设置 InCinematic = FALSE
触发器 - 将 Boss1dead <预设> 移出触发队列
//=================================================
最后这个触发器是对演员的清理以及游戏的继续进行。由于字数太多进行了删减……
热心网友
时间:2023-10-09 09:56
需要学习触发器,以及熟悉单位动作名称.
热心网友
时间:2023-10-09 09:57
如何让主角走到一个地方,触发剧情(比如到一个门前)
A: 这个是需要“矩形区域”,具体设置在“工具面板”--“区域面板”--“添加”点击,然后在地图拉取一个矩形区域,区域大小按喜好设置,设置好区域会在面板右边显示,通常名称为“矩形区域 XXX(X为数字)”或者自己双击命名也可以。
例子:事件--单位--单位进入矩形区域【就是刚才创建那个】
条件--单位--触发单位 等于 X【X为所谓的主角...】
动作--单位--移动单位(立即)【关于移动选项实在太丰富了,可按需要选择】
如何触发主角杀了某个人之后触发剧情
A: 例子:事件--单位--指定单位事件 死亡【被主角杀了的某人就是指定单位】
条件--单位--凶手单位 等于 X【X为主角】
动作--【好了,剩下的就是作者你的YY时刻了= =...】