Destinations/触发器,动画,和音效

From Valve Developer Community
Jump to navigation Jump to search
Wikipedia - Letter.png
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
Underlinked - Logo.png
此文章需要更多Wikipedia icon 与其他文章的链接以帮助Wikipedia icon 将其集成到百科全书中。请通过在现有文本中添加Wikipedia icon 与上下文相关的链接来帮助改进此文章。
2024年1月
English (en)中文 (zh)Translate (Translate)

触发器,动画,和音效

Turret first.png

在本教程中我们将会在Destation中创建一个“Turret Singers”(传送门2中的机枪塔,下同), 同时可以学习到Hammer工具的高级用法. 如果你之前没有看过 “Turret Singers”, 在Destination中可以查看它 – 它是默认的场景.

在本次教程中我们将会谈到:

  • 模型动画
  • 触发值和触发器
  • 音效事件

一些关于Destination中Turret Singers的背景故事: 这些歌曲和舞蹈来自于传送门2之中. 当你掉落到turret的群体之中,他们痴迷于让你有一个turret的妻子??(Tristan help)

创建一个 Turret Singers 项目

Turret addon.png
  • 打开 Destinations创意工坊工具
  • 选择 “Turrets” 和 点击 “Create New Addon from Selected”(创建新项目)
    • 我们在教学内容中使用Turret教学示例
  • 点击"Launch Tools"(运行工具)

创建基础地图

Turret basemap.png
  • 打开Hammer创建新地图:
    • 玩家出生点
    • 地板
    • 光源
    • 附在地板上的传送网格
  • 如果去制作以上内容,在先前的教程中我们已经提过,详情查看这里 开始第一步(en).

Turret 歌手模型

Turret modeleditor.png
  • 在资源管理器中找到 “turret.vmdl” (你可以使用快速搜索,这样比较方便一些).
  • 双击 turret.vmdl 在模型编辑器中打开它.
  • 在模型编辑器中, 你可以查看左边outline(大纲)面板. 在这里有个标签叫做 "Animations” - 这些和模型动画有关
  • 这个模型有四个歌唱的动画和一个静态动画 - 点击它可以浏览动画.
  • 将模型导入创意工坊工具之前,需要将音效和模型动画时间对齐. 在我们的Destination场景中, 我们将同一个模型使用四次, 分别在模型上加上不同动画.

将 Turret 拖入 Hammer

Turret hammer.png
  • 返回到资源管理器, 将Turret拖进Hammer之中.
  • 如果你注意到turret的 Object Properties(属性面板)(应该是右边的面板), 你会看到 "prop_static"字样.
  • 我们想让模型动起来, 我们需要改成 “prop_dynamic".点击下拉 Object Properties >选择 "prop_dynamic" 然后确定.

创建触发值

Turret trigger.png
  • 使用 Block tool(方框工具), 在你的地图中创建一个立方体.
  • 调整立方体的大小,高于玩家出生点.
    • 你可以使用 Scale tool (缩放工具)“快捷键E” 来完成操作.
    • 当然也可以选择顶部的“Faces”(面), 点击立方体的顶部. 使用 Transform tool (变形工具)“快捷键T” 向上拖动. 确定使用的是“Objects”模式后,在完成缩放.
  • 选中立方体, 点击Object Properties面板的"tie selected meshes to entity" 按钮.
  • 默认就是我们所需要的 "trigger_multiple".
  • 接下来,我们设置下材质. 在底部 Materials (材质)标签里面, 找到 “trigger”. 拖动toolstrigger.vmat 材质附在立方体上.

定义触发器

Turret triggeranimation.png
  • 双击触发器打开触发窗口,并选择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秒左右重复.

传送触发器

Turret teleport.png
  • 在VR场景中触发器是看不见的, 我们只需要让玩家传送那里即可.
  • 传送标记是非常棒的选择.
  • 选择 entity tool(实体工具), 找到 “vr_teleport_marker”实体.
  • 点击拖动到触发器的空间区域内,放置与地面平齐.
  • 可以使用 Translate (T) tool(变形工具T)来移动触发器.

测试地图

Tutorial buildmap.png
  • 按 F9 保存并编译你的地图.
  • 在VR中. 当你传送到传送标记时候, 你应该可以看到的Turret动画效果了.

添加音效事件

Turret soundentity.png
  • 我们已经为地图创建了音效列表, 所以我们要做的就是在触发之后播放音效.
    • 如何触发它们,你可以看下这个目录: 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” ,表示已经开启.

触发音效事件

Turret soundtrigger.png
  • 双击打开触发器的触发面板.
  • 切换到 Outputs 标签并且复制粘贴一些触发内容. 窗口底部有复制粘贴按钮.
  • ”My output named” 栏填写: “OnTrigger”
  • ”Target entities named” 栏填写: “turret_lo_sound“ (在这这里可以使用吸管工具,在地图上点击soundevent实体)
  • ”Via this input”栏填写: StartSound
  • ”With a parameter override of” 栏留空.
  • 按 F9 保存并编译你的地图. 当你传送到传送标记时候, 你应该可以看到的Turret动画效果了, 并且可以听到声音.

补全其余内容

Turret quartettrigger.png
  • 现在你已经完成了一个模型的触发设置,添加剩下的三个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合唱团了.