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

From Valve Developer Community
Jump to: navigation, 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
This article needs more links to other articles to help integrate it into the encyclopedia. Please help improve this article by adding links that are relevant to the context within the existing text.
January 2024



English (en)
... Icon-Important.png

触发器,动画,和音效

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创建新地图:
    • 玩家出生点
    • 地板
    • 光源
    • 附在地板上的传送网格
  • 如果去制作以上内容,在先前的教程中我们已经提过,详情查看这里 开始第一步.

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合唱团了.