找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 122|回复: 4

[求助] 像逆转裁判那种嘚嘚嘚的文字音效是如何实现的?

[复制链接]
发表于 2024-6-29 01:14:22 来自手机 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如题,因为无法配音,想搞成这种效果
发表于 2024-6-29 12:37:47 | 显示全部楼层
希望下次提问时你能够将自己的问题描述得更准确一些,要不是我玩过,否则还真听不懂你说的是什么意思……
我猜的你想说的是“如何在对话时自动播放音效”,但如果你没有语音的,并且这种音效每一句都不同的话,我更推荐你把它放在语音通道,因为renpy有原生的自动播放语音的方法,
参考文档:https://doc.renpy.cn/zh-CN/voice.html#automatic-voice
因为本人没有尝试制作过大量的语音自动匹配程序,所以只能给个大概的示例
首先,得在renpy项目gamer文件夹内任意.rpy文件中定义这一句:
[RenPy] 纯文本查看 复制代码
define config.auto_voice = "voice/{id}.ogg"

双引号里的是你所有语音文件的相对位置,然后将文件名的位置上写成{id},最后面的是文件后缀。
然后,在启动器上选择“提取对话”,“以制表符分隔的表格 (dialogue.tab)”,“继续”。然后会生成一个文件——dialogue.tab,使用表格程序打开。
接着,你就需要根据.tab文件中每一句对话的标识符,去修改你文件夹里的所有语音文件,将其改成和你对话标识符一样的文件名。
进入游戏后,你所写的所有对话都会自动播放语音了。

当然,如果你想要的是每一句对话都自动播放相同的音效,那么你可以使用角色回调函数,更加简单,
参考文档:https://doc.renpy.cn/zh-CN/chara ... character-callbacks
这里使用一下文档中的例子:
[RenPy] 纯文本查看 复制代码
define test_cha = Character("test_cha",callback=test_def)

init python:
    def test_def(event,interact=True):
        # 如果没有触发互动则不播放音效
        if not interact:
            return

        # 显示了一段对话时播放音效
        if event == "show_done":
            renpy.sound.play("sound/sound_0001.ogg")
        # 在慢速播放完毕后停止播放音效
        elif event == "slow_done":
            renpy.sound.stop()

label start:
    test_cha "我在说话时会自动播放音效。"
    test_cha "但如果我说话时没有触发互动,则不会播放音效。"

这样应该能满足你的需要了
回复 支持 抱歉

使用道具 举报

发表于 2024-6-29 16:57:19 | 显示全部楼层
烈林凤 发表于 2024-6-29 12:37
希望下次提问时你能够将自己的问题描述得更准确一些,要不是我玩过,否则还真听不懂你说的是什么意思……
...

能不能实现音效和文本显示同步,显示一个字(单词)对应一次音效
回复 支持 抱歉

使用道具 举报

发表于 2024-6-29 18:28:47 | 显示全部楼层
spica 发表于 2024-6-29 16:57
能不能实现音效和文本显示同步,显示一个字(单词)对应一次音效

这恐怕不行……
回复 支持 抱歉

使用道具 举报

发表于 2024-6-30 20:19:45 | 显示全部楼层
spica 发表于 2024-6-29 16:57
能不能实现音效和文本显示同步,显示一个字(单词)对应一次音效

实现恐怕比较麻烦,不过可以通过重写 Text 类来满足你的需求
有空我会写个demo
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-7-19 16:26 , Processed in 0.131547 second(s), 24 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表