
Sailing Story
简介
《Sailing Story》是一款受《Stardew Valley》等以探索驱动的游戏体验启发的3D模拟与资源管理游戏。
玩家将在开放海域中航行,管理资源,并完成运输任务,同时需要适应诸如风力与天气等环境条件。本游戏目前仍在开发中。
我在项目中担任声音设计师,负责构建统一的环境音频系统,并支持整体游戏沉浸感的实现。
职责
设计并整理游戏内音频资产,覆盖核心系统:
-
船只移动
-
海洋与环境氛围音
-
天气效果
为在 Unity 中通过 Wwise 实现而对音频资产进行结构化整理
设计Soundscape,以支持探索体验与玩家沉浸感
设计目标
项目的主要目标是支持一种轻松且具有动态变化的探索体验
关键挑战:
-
体现不断变化的环境条件(如风力、风暴、海况)
-
支持玩家的导航与移动反馈
-
在沉浸感与信息清晰度之间保持平衡
-
在开放世界环境中避免氛围音的重复
声音设计
船只/移动
-
Sailing
-
Impact (collision with obstacles)
海洋/环境
Calm ocean




Calm Ocean Ambience 是 Sailing Story 中用于构建2D环境氛围的底层音轨,由持续的基础海洋环境声与随机触发的海浪层组成。海浪部分通过一个 Sequence Container 实现,其中包含一个由6种不同海浪音效构成的 Random Container,以及一个 Silence 层。通过对海浪与静音的随机权重与播放间隔进行控制,系统能够在保持整体氛围连贯的同时,有效降低循环带来的听觉疲劳,增强环境的自然感与呼吸感。
Rough ocean


Rough Ocean Ambience 基于 Calm Ocean Ambience 进行扩展,通过替换更强烈的海浪素材并提升整体动态范围,同时引入风暴环境声作为底层氛围。在此基础上叠加雷声与雨声,构建出更具张力与沉浸感的恶劣海洋环境,使声音在保持系统结构一致性的同时,呈现出明显的情绪与强度变化。
Wind


风声主要通过在 Reaper 中使用 Kilohearts Phase Plant 合成器进行设计与录制,通过低通滤波与音高控制生成微风与狂风两种变化版本。在实现层面,为了适配游戏中的空间表现需求,音频在 Wwise 中采用 Speaker Panning 的 Balance-Fade 模式进行左右声道控制,从而增强风向与环境动态感。
配置
船只移动和环境音
配置基于 Unity 与 Wwise 的联动完成,核心逻辑通过状态机驱动音频行为。
-
在船只移动检测中,通过读取刚体的线速度与角速度,并结合布尔变量记录上一帧状态,仅在“静止→移动”与“移动→静止”的状态切换瞬间分别触发 Play_Boat_Sailing_Slow 与 Stop_Boat_Sailing_Slow,从而避免重复事件调用。
-
环境音部分通过 RTPC 控制实现动态响应,以 0.1 秒为间隔将船速映射至 Ocean_Amb_Control 参数,使风海浪强度随运动变化。


-
碰撞逻辑中,船只触发碰撞时播放 Play_Boat_Impact,并在命中带有 Obstacle 标签的物体时叠加相机震动反馈,实现听觉与视觉的协同强化。
-
在状态退出时,系统主动停止仍在播放的移动音效并重置 RTPC 数值为 0,防止音频残留。
