Zh/Destinations/Turret Tutorial
< Zh | Destinations
Jump to navigation
Jump to search
触发器,动画,和音效
在本教程中我们将会在Destation中创建一个“Turret Singers”(传送门2中的机枪塔,下同), 同时可以学习到Hammer工具的高级用法. 如果你之前没有看过 “Turret Singers”, 在Destination中可以查看它 – 它是默认的场景.
在本次教程中我们将会谈到:
- 模型动画
- 触发值和触发器
- 音效事件
一些关于Destination中Turret Singers的背景故事: 这些歌曲和舞蹈来自于传送门2之中. 当你掉落到turret的群体之中,他们痴迷于让你有一个turret的妻子??(Tristan help)
创建一个 Turret Singers 项目
- 打开 Destinations创意工坊工具
- 选择 “Turrets” 和 点击 “Create New Addon from Selected”(创建新项目)
- 我们在教学内容中使用Turret教学示例
- 点击"Launch Tools"(运行工具)
创建基础地图
- 打开Hammer创建新地图:
- 玩家出生点
- 地板
- 光源
- 附在地板上的传送网格
- 如果去制作以上内容,在先前的教程中我们已经提过,详情查看这里 开始第一步.
Turret 歌手模型
- 在资源管理器中找到 “turret.vmdl” (你可以使用快速搜索,这样比较方便一些).
- 双击 turret.vmdl 在模型编辑器中打开它.
- 在模型编辑器中, 你可以查看左边outline(大纲)面板. 在这里有个标签叫做 "Animations” - 这些和模型动画有关
- 这个模型有四个歌唱的动画和一个静态动画 - 点击它可以浏览动画.
- 将模型导入创意工坊工具之前,需要将音效和模型动画时间对齐. 在我们的Destination场景中, 我们将同一个模型使用四次, 分别在模型上加上不同动画.
将 Turret 拖入 Hammer
- 返回到资源管理器, 将Turret拖进Hammer之中.
- 如果你注意到turret的 Object Properties(属性面板)(应该是右边的面板), 你会看到 "prop_static"字样.
- 我们想让模型动起来, 我们需要改成 “prop_dynamic".点击下拉 Object Properties >选择 "prop_dynamic" 然后确定.
创建触发值
- 使用 Block tool(方框工具), 在你的地图中创建一个立方体.
- 调整立方体的大小,高于玩家出生点.
- 你可以使用 Scale tool (缩放工具)“快捷键E” 来完成操作.
- 当然也可以选择顶部的“Faces”(面), 点击立方体的顶部. 使用 Transform tool (变形工具)“快捷键T” 向上拖动. 确定使用的是“Objects”模式后,在完成缩放.
- 选中立方体, 点击Object Properties面板的"tie selected meshes to entity" 按钮.
- 默认就是我们所需要的 "trigger_multiple".
- 接下来,我们设置下材质. 在底部 Materials (材质)标签里面, 找到 “trigger”. 拖动toolstrigger.vmat 材质附在立方体上.
定义触发器
- 双击触发器打开触发窗口,并选择Outputs(输出)标签.
- 点击底部 “Add” (添加)按钮 ,添加一个新的output(输出参数)
- 在“my output named” 栏选择"OnTrigger"类型. 这里定义了激活触发器的类型参数.
- 在 “Target entities named” 栏 定义被触发的内容. 选择吸管工具.
- 选择地图上的 turret 作为可以触发的内容. 你可以获取到它的名字 - turret_lo.
- 你也可以自己在属性面变里面输入 turret 的名称.
- 在"Via this input" 栏里面, 选择 “SetAnimation”.当触发内容时,你希望目标实体做什么.
- "With parameter override of" – 这段内容是更详细的定义参数.
- 我们希望它执行 “turret lo” 动画, 但我们需要确保我们有确切名称.
- 回到 turret 的模型编辑器界面,在左边动画名称面板.
- 这个小的turret, 动画名称叫做 "3penny_lo".
- 返回Hammer, 在 “With a parameter override of” 栏输入 "3penny_lo".
- 最后一步 – 定义下触发时需要多长时间.
- 点击 Properties tab of Object Properties. 找到 “Delay Before Reset”. 默认的, 我们设置为“1”, 这意味着它将每1秒重复一次, 但是我们希望它播放完整首歌.
- 在“Delay Before Reset” 栏填写 110, 当整个结束后它会重复 (110 秒).
- 我们可以通过查看模型编辑器中的动画有多少帧来确定长度,在这个情况下,他有3125帧 – 然后除以 30, 可以计算出是 105 秒. 再留一些缓冲的时间, 差不多是在110秒左右重复.
传送触发器
- 在VR场景中触发器是看不见的, 我们只需要让玩家传送那里即可.
- 传送标记是非常棒的选择.
- 选择 entity tool(实体工具), 找到 “vr_teleport_marker”实体.
- 点击拖动到触发器的空间区域内,放置与地面平齐.
- 可以使用 Translate (T) tool(变形工具T)来移动触发器.
测试地图
- 按 F9 保存并编译你的地图.
- 在VR中. 当你传送到传送标记时候, 你应该可以看到的Turret动画效果了.
添加音效事件
- 我们已经为地图创建了音效列表, 所以我们要做的就是在触发之后播放音效.
- 如何触发它们,你可以看下这个目录: content/steamtours_addons/turrets/sounds and content/steamtours_addons/turrets/soundevents. 当你在Destinations中添加自己的音效, 要确保他们在同一个目录下.
- 在Hammer中, 点击 Entity 按钮 (灯泡图标).
- 改变实体类型为 “point_soundevent”.
- 点击放置 point_soundevent在你的地图中. 使用 Translate (T) (变形工具)在turret周围来移动图标. 图标指向哪里不重要.
- 在Object Properties(属性面板)需要修改一下几点:
- 在 “Name” 框, 音效名称改成 “turret_lo_sound”
- 在 “Sound Event Name” 框, 需要查看下 soundevents_addon 文件,看看填什么类型:
- 找到 content/steamtours_addons/turrets/soundevents 并在文本编辑器中打开 soundevents_addon.vsndevts.
- 这里我们可以看到,我们想要的音效时间类型的名称是 “three_penny_lo”
- 在 Object Properties(属性面板) “Sound Event Name” 这栏中, 填写 “three_penny_lo”
- 勾选上“Always Transmit to Client” ,表示已经开启.
触发音效事件
- 双击打开触发器的触发面板.
- 切换到 Outputs 标签并且复制粘贴一些触发内容. 窗口底部有复制粘贴按钮.
- ”My output named” 栏填写: “OnTrigger”
- ”Target entities named” 栏填写: “turret_lo_sound“ (在这这里可以使用吸管工具,在地图上点击soundevent实体)
- ”Via this input”栏填写: StartSound
- ”With a parameter override of” 栏留空.
- 按 F9 保存并编译你的地图. 当你传送到传送标记时候, 你应该可以看到的Turret动画效果了, 并且可以听到声音.
补全其余内容
- 现在你已经完成了一个模型的触发设置,添加剩下的三个Turret的触发设置就相对简单.
- 选择turret和声音实体,使用“Translate” tool(变形工具). 按住Shift+移动复制它们.
- 重命名下复制的 turret to “turret_perc” 在 Object Properties 的 “Name” 栏. 重命名下声音实体 “turret_perc_sound”.
- 再一次,查看 soundevents_addon.vsndevts 文件,在“Sound Event Name”栏填写你的音效实体名称.
- 双击触发器,打开触发窗口,切换到Outputs(输出)标签.
- 复制两个动画和声音Outputs(输出), 并更改“Target entities named” 字段以匹配您的复制模型和声音实体名称. 你也可以使用吸管工具,这样做很快.
- 查看模型编辑器中的“parameter override” 栏,记下动画名称.
- 现在应该有四个触发值设置,使每个turret 分别播放自己的动画,并播放自己的音效.
- 按着以上步骤,把其它两个也turret设置好 – turret_mid 和 turret_hi – 然后你现在应该拥有四声部的turret合唱团了.