调用自定义Events
调用自定义事件是将新代码或第三方资产集成到Adventure Creator中的一种方便方法,因为它们可以在AC常规代码之外调用,而不是代替。Adventure Creator的EventManager
脚本提供了许多事件处理程序,这些程序在AC.EventManager Class Reference中列出。
出于本教程的目的,我们将添加一个事件侦听器,该侦听器将在角色说话时被调用。例如,如果我们希望集成一个自定义的lip-syncing解决方案,这可能会很有用。由于本教程涵盖了脚本编写,因此假设您具备C#的基本知识。
EventManager
脚本有一个名为OnStartSpeech的静态事件,每当角色开始说话时就会调用该事件。根据脚本编写指南,任何侦听器都需要以下参数:
AC.Char speakingCharacter
- 正在说话的角色。如果为空,则该行被视为旁白string speechText
- 对话文本int lineID
-SpeechManager
生成的speech line ID号
创建名为SpeechListener
的新C#脚本,并在顶部添加AC namespace:
1 | using UnityEngine; |
让我们创建一个充当侦听器的函数。将其命名为GetSpeech
,并添加上面列出的参数:
1 | void GetSpeech (AC.Char speakingCharacter, string speechText, int lineID) |
在函数内部,添加一个简单的Debug。记录以输出参数值,以便我们确认其工作:
1 | void GetSpeech (AC.Char speakingCharacter, string speechText, int lineID) |
我们现在只需要将此函数作为侦听器添加到OnStartSpeech
函数。如果我们在OnEnable
函数中执行此操作,则会在场景开始时添加它:
1 | void OnEnable () |
就这样!如果将此脚本添加到Adventure Creator场景中,您会发现语音文本在触发时输出到控制台:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ATAO2017,阿宅创造奇迹!!