Withered_Boss
本帖最后由 Withered_Boss 于 2022-8-14 00:27 编辑

/playsound播放自定义音效的应用,如何做到执行指令后附近的所有玩家都能听到,且随着距离增加而衰弱的效果?比如执行命令后,自身听到满音量的音效,距离自己2格的音量就会减少一点,距离自己5格的只有一丝丝声音,距离自己10格开外的完全听不到声音

凯旋KaiSenn
修改<volume>和<minVolume>参数
<volume>
指定声音能被听见的距离。必须至少为0.0。对小于1.0的值,声音会相对减轻,球状可闻范围会相对小。对大于1.0的值,声音不会实际上增大,但其可闻范围(1.0时半径为16米)会与音量相乘。声音总会基于与球体中心的距离逐渐衰减至无声。默认为1.0。
必须为单精度浮点数。在Java版中,必须大于等于0.0。
——引自我的世界中文Wiki
<minVolume>
指定在声音可闻范围外的目标能听到的音量。若目标在可闻范围外,作为补偿,声源会被放置在距离目标较近的位置(距离小于4格),而最小音量会决定补偿声源的音量。
如果此数值等于0,则正常可闻范围外的目标听不到声音。如果未指定,则默认为0.0。
必须为单精度浮点数。在Java版中,必须在0.0和1.0(含)之间。

——引自我的世界中文Wiki



Withered_Boss

补充说明:我是想使用自定义音效做到这样的效果。我已经尝试过了,修改<volume>会影响音量但是不会随着距离而衰弱,修改<minVolume>大于0会让范围外的玩家听到最小音量
我使用的命令是
/playsound minecraft:skill.wd.pugong record @a[dx=100,dy=100,dz=100] ~ ~ ~ 1 1 0
这个命令播放自定义音效,不会随着距离而衰减。如果距离超出,会直接不播放
然而,播放原版音效,比如:
/playsound minecraft:block.anvil.land record @a[dx=100,dy=100,dz=100] ~ ~ ~ 1 1 0
同样的参数下播放原版铁砧落下的音效,则会正确的随着距离而衰减

凯旋KaiSenn
本帖最后由 凯旋KaiSenn 于 2022-8-14 01:23 编辑
Withered_Boss 发表于 2022-8-14 00:33
补充说明:我是想使用自定义音效做到这样的效果。我已经尝试过了,修改会影响音量但是不会随着距离而衰弱 ...

参考这两条
[MC-146721] Stereo sounds don't become quieter when the player walks away
Twitter - Bartek Bok
While we are on topic of resource packs, please make sure your custom sounds have same number of channels as vanilla ones - otherwise you may have problems with volume and position (see OpenAL specification, section 5.3.4 for reason)

当我们讨论资源包时,请确保您的自定义声音与原版声音具有相同数量的通道 - 否则您可能会遇到音量和位置问题(请参阅 OpenAL 规范,第 5.3.4 节了解原因)
——Bartek Bok 推文 机翻
Rule of thumb: if you can move away from sound (i.e. it plays in world at certain position), keep it mono. If it's UI, background music or ambient sound it can be stereo.

经验法则:如果您可以远离声音(即它在世界中的某个位置播放),请保持单声道。 如果是 UI、背景音乐或环境声音,它可以是立体声。
——[Mod] violine1101 回复 机翻


凯旋KaiSenn
本帖最后由 凯旋KaiSenn 于 2022-8-14 01:48 编辑
凯旋KaiSenn 发表于 2022-8-14 01:21
参考这两条
[MC-146721] Stereo sounds don't become quieter when the player walks away
Twitter - Bart ...

所以也就是
Are those custom sounds stereo? Since they will always play exactly on player (OpenAL limitation).

OpenAL限制

哦, 忘记说解决办法了, 把自定义的立体声改成单声道.

Withered_Boss
凯旋KaiSenn 发表于 2022-8-14 01:29
所以也就是
OpenAL限制

已破案,确实是这个原因,双声道的ogg不会随着距离衰减,单声道就行了,最佳奉上

鹏鹏同志
楼主解决了吗0.0

Withered_Boss

请见上方已经的选出最佳回答,我的解决方法是:双声道的ogg不会随着距离衰减,使用au或者其他软件将ogg文件改为单声道即可。如果你遇到的不是这个问题,可以再发一贴

第一页 上一页 下一页 最后一页