欢迎光临散文网 会员登陆 & 注册

关于Godot加载外部音频文件的临时变通办法

2023-07-20 22:23 作者:小沙盒工作室  | 我要投稿

. 先把外部音频文件在游戏开发的时候导入在godot的res://目录下,然后复制导入后的.imoprt/文件夹下的数据文件(核心原理:引擎底层重导入,importer)

Godot3.5.2支持的音频文件

MP3对应引擎底层类:AudioStreamMP3

OGG对应引擎底层类:AudioStreamSample

Wav对应引擎底层类: AudioStreamOGGVorbis

原理解释:

我们发现,当我们把音频文件放入res://目录下时,godot会自动生成 音频.import文件

注意看里面的[remap]里面的path那一行,实际上,godot游戏引擎运行的时候读取的是经过godot引擎自己重导入的文件

对于mp3文件而言,引擎实际上解码播放的文件是.mp3str,而不是原始文件.mp3)

对于ogg文件而言,引擎实际上解码播放的文件是.oggstr,而不是原始文件.ogg

对于wav文件而言,引擎实际上解码播放的文件是.sample文件而不是原始文件.wav

我们只需要把这个文件放入到外部文件系统目录就可以用load()函数加载了

笔者把文件放在了C:\Users\me\Desktop\test目录下

如图搭建游戏场景


播放用的代码(window平台测试通过、其他平台需要你们自测)

如果想要加载外部文件直接播放.mp3,.wav.ogg恐怕是不行的。

这方面可以写个C++插件,就是把引擎的核心导入资源文件的那个过程自己再写一遍(适用于外部文件)也就是自己封装一个底层格式编码转换插件。

那个开发时候,游戏引擎导入资源文件产生Import的过程,得翻源码,自己调用,在游戏运行的时候转换格式,保存user://,然后再load 音频文件,就可以直接赋值播放了

有用记得收藏+转发,谢谢了。

关于Godot加载外部音频文件的临时变通办法的评论 (共 条)

分享到微博请遵守国家法律