【unity】学习制作2D横板冒险游戏-6-

音源设置和音效播放

订阅音效资源

订阅音乐资源

添加资源时发生报错

解决1:登出并重启unity hub
成功

在unity添加资源

下载完成后导入

整合一下文件夹

创建一个新的GameObject用来存放音频资源

添加音频组件

Audio Source是音频的播放源

AudioClip:音频片段,是Audio Source播放的音频文件,通常支持.wav、.ogg、mp3、.aiff等格式。

Output:音频输出目标,可以设置为输出到音频监听器(AudioListener)或者音频混音器(AudioMixer)。当设置为空时,音频会默认输出到场景中的AudioListener。

Mute:是否静音该音频源。当设置为true时,Audio Source将不会播放任何声音,即使其他参数已经设置好。静音的优势在于不会卸载声音数据,可以实现及时播放。
Bypass Effects:控制音频源是否绕过附加在其上的音频滤波器效果。

Bypass Listener Effects:控制音频源是否绕过监听器(AudioListener)上附加的音频滤波器效果。这对于需要精细控制音频效果的场景特别有用。

Bypass Reverb Zones:控制音频源是否忽略与混响区域(Reverb Zones)相关联的全局混响效果。

Play On Awake:启用时,当物体加载时Audio Source会自动播放音频。它还可以用于确定场景中所有并存的音频源的播放优先权。

Priority:播放优先级,决定音源在场景中存在的所有音源中的播放优先级。优先级高的音源将优先播放。

Volume:音频的音量大小,取值范围为0(静音)到1(最大音量)。

Pitch:音频的音调或播放速度,通过调整该值可以改变音频的播放速度。

Stereo Pan:2D声音的立体声位置,属性的值范围从-1到1,-1代表声音完全在左边,1代表声音完全在右边,0代表声音位于中间。

Spatial Blend:控制音频的2D和3D混合程度,值为0时音频是2D的,不受玩家与声源距离的影响;值为1时音频是完全3D的,会根据玩家与声源的距离进行衰减。

Reverb Zone Mix:设置路由到混响区(Reverb Zone)的输出信号量,对于实现近场和远距离声音的效果非常有用。

Doppler Level:多普勒效应等级,当声源和接收器之间相对运动时,听到的声音频率会发生变化的现象。

Spread:设置扬声器空间的立体声传播角度,影响声音在空间中传播的宽度和立体感。

Volume Rolloff:控制声音随着距离的增加而递减的方式,包括对数递减(Logarithmic Rolloff)和线性递减(Linear Rolloff)两种。

背景音乐开始播放并且重复播放

音效开始时不会播放且不重复

创建一个文件夹用来管理音频脚本文件

创建音频管理脚本

挂载到AudioManager身上

代码调用组件

手动进行实例化(注意不要混淆

关于音频的触发,还是使用传递事件的方法,创建一个传递音频文件的事件

代码如下

创建BGM和音效的SO文件

创建广播代码脚本

在攻击Game object中进行广播

代码如下

手动实例化SO文件和音频片段

在攻击时,Attack会被激活,同时广播音乐

编写监听广播的脚本

创建一个gameobject用来存放BGM并完成挂载

运行,但是并未出现BGM这是因为我们还没有场景的挂载,需要手动挂载一下BGM

成功

混音(调节音效或者背景音乐的音量

打开混音台面板

创建一个文件夹存放混音文件(跟动画文件一样

创建两个轨道

给刚刚做的BGM和FX分配音轨

这样可以通过主音轨调节整体音量,也可以通过单独音轨调节单独的音量

水和荆棘逻辑的实现

在地图中,通常会有水坑和荆棘等地形会让人物直接死亡或受伤依次来增加游戏的趣味性

创建水和荆棘的平台层

添加基本的组件,注意勾选上碰撞为触发器

布置场景,人物碰到就会死亡

添加一个标签,方便查找

代码在Character脚本中编写

经测试,角色穿过水底时死亡状态正常,但血量未更新

经检查,之前的Ondie并没有血量的代码,只有触发动画,添加血量更新为零的代码

成功死亡且血量归零

荆棘的实现

回顾一下瓦片的知识,荆棘在另一张素材上
创建一个瓦片,用来放另一张素材

存放位置如图

添加素材

绘制荆棘

现在,荆棘的碰撞体时单独的,为避免伤害重复计算,将荆棘碰撞体合并
添加一个Composite组件

防止随重力掉下来

在原来的瓦片碰撞体中选择Composite

几何类型(Geometry Type):
指定复合碰撞体应生成的几何体的类型。
有两种选项:Outlines(轮廓)和Polygons(多边形)。轮廓选项会生成具有空心轮廓的碰撞器,而多边形选项会生成具有实心多边形的碰撞器。

给荆棘添加一个Attack代码,并设置伤害

成功

posted @ 2025-03-29 15:38  plusu  阅读(91)  评论(0)    收藏  举报