CRIWARE Unity Plugin Manual
Last Updated: 2024-07-12
CRI Ware for Unity ChangeLog
[3.10.01]-2024-04-26
C# Script
2.42.46
Library
2.42.32
原生库
Atom : 2.27.353
Base : 2.53.16
File System : 2.86.6
Mana : 2.25.29
新增功能
问题修复
[Atom]
[editor]
修复了在Atom Browser中、以及CriAtomSource的Inspector面板中无法对WebGL专用串流Cue执行预览播放的问题。
[Atom]
[editor]
修复了在Atom Browser中无法预览播放WebGL音频数据的问题。
[Mana]
[android]
修复了当图形 API 设置为 OpenGLES3 时,在少数配备 Mali GPU 的设备上无法正确绘制视频播放内容的问题。
其他
[Atom]
[all_platform]
更新了 CriAtomExPlayer.SetDspTimeStretchRatio 参数设置范围的注释。
[all_module]
[editor]
如果相应的模块不存在,版本窗口中的页面切换按钮现在将被禁用。
[3.10.00]-2024-02-06
C# Script
2.42.33
Library
2.42.25
原生库
Atom : 2.27.320
Base : 2.53.16
File System : 2.86.5
Mana : 2.25.26
设计变更
[Atom]
[all_platform]
已弃用 CriWare.CriAtomExAsrRack.SpeakerMapping 并将其替换为 CriWare.CriAtom.SpeakerMapping。
新增功能
[Mana]
[all_platform]
将
CriWare.CriMana.Player.PauseOnApplicationPause
函数的访问修饰符更改为 public。
[Atom]
[all_platform]
添加了
CriWare.CriAtomExOutputPort.IsDestroyable()
.
[Atom]
[all_platform]
添加了在库完成后调用的事件
CriWare.CriAtomPlugin.OnFinalized
。
[Atom]
[all_platform]
添加了属性“ASR 渲染模式”以指定扬声器映射到 LibraryInitializer。
[Mana]
[all_platform]
新增API获取CriAtomExPlayer进行子音轨/额外音轨播放。
CriWare.CriMana.Player.subAtomExPlayer
CriWare.CriMana.Player.extraAtomExPlayer
[Atom]
[all_platform]
在 Library Initializer 组件中添加了 [Max Pitch] 项目。
[Atom]
[all_platform]
添加了暂停音频播放的 API。添加了以下函数:
CriWare.CriAtomExAsr.PauseOutputVoice
CriWare.CriAtomEx.PauseTimer
[all_module]
[all_platform]
向
CriWare.CriAtomExAcf.AcfDspBusInfo
结构体添加了 pan3dWideness 字段。
[all_module]
[all_platform]
当使用 CriWareErrorHandler 组件发生错误回调时,信息现在会通过每个平台的本地日志输出函数输出。
如果使用了以下应用程序接口,则可通过用户端的日志输出函数输出消息。
CriWare.CriWareErrorHandler.OnCallback
CriWare.CriWareErrorHandler.callback
[Mana]
[pc]
添加了对 Direct3D12 的支持。
注意上述更新会改变播放负载。要回到旧版的举动,请定义以下预处理指令:
CRI_MANA_USE_LEGACY_DECODER_PC
[Atom]
[all_platform]
添加了以下 API,以获取已渲染的 ASR 机架总数。
CriWare.CriAtomExAsrRack.GetNumRenderedSamples
[Atom]
[all_platform]
对于 AtomEx 播放器播放的音频,添加了以下 API 以指定何时开始播放。
CriWare.CriAtomExPlayer.SetScheduleTime
[Atom]
[all_platform]
向
CriWare.CriAtomExOutputPort.Config
添加了类别最大忽略设置。
[Atom]
[all_platform]
将以下成员添加到
CriWare.CriAtomExDebug.ResourcesInfo
。
CriWare.CriAtomExDebug.ResourcesInfo.parameterBlock
CriWare.CriAtomExDebug.ResourcesInfo.beatSyncInfo
CriWare.CriAtomExDebug.ResourcesInfo.beatSyncTransitionSetting
CriWare.CriAtomExDebug.ResourcesInfo.beatSyncJob
问题修复
[Atom]
[ios]
修复了使用 Unity 标准音频时,出现来电或 Siri 等声音中断时声音可能无法返回的问题。
[Mana]
[pc]
[ios]
[macosx]
修复了播放 Sofdec.Prime 或 VP9 视频时,如果在大分辨率视频后播放小分辨率视频,画面渲染会紊乱的问题。
[Mana]
[android]
修复了使用 GLES2 作为图形 API 时无法正确显示 H.264 视频的问题。
[Mana]
[all_platform]
修正了对于继承了 CriManaMovieMaterial 的组件,如果对其执行 PlayerManualFinalize() (例如在编辑器扩展功能中),则自定义纹理设置会被覆盖为 None 的问题。
[3.09.02]-2023-12-15
C# Script
2.41.109
Library
2.41.45
原生库
Atom : 2.26.382
Base : 2.52.27
File System : 2.85.1
Mana : 2.24.52
新增功能
[Mana]
[all_platform]
在 CriWareInitializer 组件中添加了 [Use Streamer Manager] 设置项。
问题修复
[Atom]
[editor]
修复了启用用户 PCM 输出模式时切换 CriAtomServer.EnableAutoConsumePcmOutput 设置可能导致崩溃的问题。
[Atom]
[all_platform]
修复了在 Atom Timeline扩展中,Clip的第一帧和最后一帧被识别为Clip外部,导致对应时间的声音不被播放的问题。
[Atom]
[editor]
修复了编辑器上播放大量声音时 CRI Profiler 内容的显示会被暂时破坏的问题。
[Mana]
[all_platform]
修复了CriManaMovieMaterial中新材质的创建可能失败的问题。
[Mana]
[ios]
修正了 Sofdec.Prime 和 VP9 编码视频播放的绘制处理,以提高稳定性。
[3.09.01]-2023-08-31
C# Script
2.41.90
Library
2.41.32
原生库
Atom : 2.26.332
Base : 2.52.25
File System : 2.85.1
Mana : 2.24.38-0.1
新增功能
[Atom]
[editor]
现在可以在Unity编辑模式下预览带有3D效果的CRI Atom Timeline音频。
[Mana]
[all_platform]
添加了
CriWare.CriMana.Player.SyncMasterTimer
函数。
[Atom]
[all_platform]
添加了使用经过固定的指针加载ACB的功能。加入了以下的API:
CriWare.CriAtomExAcb.LoadAcbData(IntPtr, int, CriFsBinder, string)
CriWare.CriAtomExAcbLoader.LoadAcbDataAsync(IntPtr, int, CriFsBinder, string, bool)
[Mana]
[all_platform]
添加了对于视频和音频长度不一致的情况下以音频为准进行无缝连接播放调整的功能。加入了以下API:
CriWare.CriMana.Player.SetAudioBaseConcatenation
CriWare.CriManaMovieMaterial.audioBaseConcatenation
[Atom]
[pc]
在 Library Initializer 组件中添加了 [Microsoft Spatial Sound] 选项。
如果操作系统版本低于Windows 10 Build 1703或者使用特殊音频接口,则需要将此标志设为false。通常情况下,我们建议您不要更改默认值(true)。
问题修复
[all_module]
[all_platform]
在 CriWareInitializer 组件的库初始化过程中新增了对初始化参数的验证。
[Mana]
[all_platform]
修复了 Mana 时间轴扩展中,在准备 ManaClip 播放时将 Director.time 更改至一个没有Clip的位置,会使 ManaTrack 处于无效状态并导致视频无法播放的问题。
[Mana]
[all_platform]
修复了单独使用
CriWare.CriMana.Player
类时可能无法释放内部资源的问题。在此修正之后,当从脚本生成Player时,会在场景中生成 CriManaMovieResources GameObject。
[Atom]
[all_platform]
修复了使用
CriWare.CriAtomExAcbLoader
加载启动失败会出现内存泄漏的问题。
[Mana]
[all_platform]
修复了 Mana 时间轴扩展中,如果在启用CriManaTrack的FrameSync设置的情况下连续播放Mana Clip,则其中后续视频会被快进播放的问题。
[Mana]
[all_platform]
修复了执行下列类似处理时抛出异常的问题。
向
CriWare.CriMana.Player.UpdateMaterial
函数传递null值
将 CriWare.CriManaMovieMaterial.material 设置为null
[Mana]
[all_platform]
修复了 Mana Timeline扩展中,在播放时在同一ManaClip范围内向前跳过或者回退播放位置时,视频播放不反映此位置变化的问题。 禁用以下 CriManaTrack 设置可以恢复到旧版本做法。
Check Pos Within Clip
[Mana]
[all_platform]
修正了没有选定PlayableDirector时不能编辑CriManaClip的问题。
[Atom]
[editor]
修正了在Atom Timeline扩展功能上进行预览播放时结束CRI库的运行会引起崩溃的问题。
[Mana]
[macosx]
修复了 Alpha 视频的 YUV 通道分辨率与 Alpha 通道不同导致渲染内容出现瑕疵的问题。
[Mana]
[ios]
修复了播放 Sofdec.Prime 或 VP9 编码视频时帧乱序并显示的问题。当应用程序负载较高时会发生这种情况。
[Mana]
[pc]
[android]
修正了在VR平台上播放动画可能只在单侧眼睛显示的问题。
[Atom]
[all_platform]
修正了对
CriWare.CriWareInitializer
指定的 CriWare.CriAtomConfig.InGamePreviewConig 设置不被反映的问题。
[Atom]
[all_platform]
修正了即使对CriAtomListener组件执行独占性启用,其他Listener仍然可能会被开启的问题。
[Mana]
[ios]
修复了播放 Sofdec.Prime 或 VP9 编码视频时
CriWare.CriMana.Player.GetDisplayedFrameNo
返回错误值的问题。
[Atom]
[editor]
修复了执行以下操作后
CriWare.CriAtomExPlayback.GetTimeSyncedWithAudio
函数无法正常動作的问题:
在Editor中启动Play mode
暂停Play mode
退出Play mode而不取消暂停
[3.09.00]-2023-06-29
C# Script
2.41.62
Library
2.41.24
原生库
Atom : 2.26.305
Base : 2.52.25
File System : 2.85.1
Mana : 2.24.38
设计变更
[Atom]
[all_platform]
对于以下API,增加了用于表示ACF注册是否成功的返回值。
CriWare.CriAtomEx.RegisterAcf
[Atom]
[all_platform]
从 Library Initializer 中删除了 VR Mode 标记。
[Atom]
[ios]
删除了旧的实现中存在的恢复(切至前台)时的休眠处理和相关的插件API。
[Atom]
[all_platform]
CriWare.CriAtomExAsr.BusAnalyzerInfo
中每个数组的长度(即最大声道数)从8改为16。
[Atom]
[all_platform]
PlatformConfig 结构体,以及将其作为参数的 CriAtomExAsrRack 构造函数已被弃用。请换用继承自 IPlatformConfig 的平台专用结构体类型。
新增功能
[Atom]
[all_platform]
在 Library Initializer 的 ASR Output Mode 设置中添加了 12ch(7.1.4ch) 选项。
[Atom]
[all_platform]
在 Library Initializer 中添加了 Use Spatializer 标记。
[Atom]
[all_platform]
在库的初始化配置中增加了一个标志,以切换是否通过SonicSYNC输出音频。请注意Android、iOS和Switch平台有专用选项,应单独设置。
Enable SonicSYNC
[Mana]
[all_platform]
对带音频的视频的速度指定播放增加了音频Time Stretch处理。
在 CriManaMovieController 等组件中启用 AdvancedAudioMode 时,会进行音频 Time Stretch 处理。
在 CriManaMovieController 等组件中,AdvancedAudioMode 设置会被默认启用。
在 CriManaMovieControllerForUI 组件中添加了 AdvancedAudioMode 设置选项。
增加了
CriWare.CriMana.Player.SetTimeStretchQuality
方法来设置音频的 Time Stretch 质量。
[Atom]
[all_platform]
添加了
CriWare.CriAtomEx3dRegion.IsDestroyable
方法。
[Mana]
[all_platform]
对作为UI元素进行的视频渲染添加了RectMask2D支持。
[Atom]
[editor]
增加了一些功能以提高Atom Browser用户界面的便利性。
添加了按名称搜索Cue的功能。
SearchPath 和 ShowPrivateCue 的设置现在会被保存,并在下次打开窗口时被继承。
[Atom]
[all_platform]
在
CriWare.CriAtomExBeatSync.Info
结构体中添加了“labelPtr”字段和“label”属性。
[Atom]
[all_platform]
在
CriWare.CriAtomEx.CueInfo
结构体中添加了“silentMode”字段。
[Atom]
[all_platform]
在
CriWare.CriAtomExCategory
中添加了以下API:
CriWare.CriAtomExCategory.Stop
/
CriWare.CriAtomExCategory.StopWithoutReleaseTime
CriWare.CriAtomExCategory.GetTotalVolume
CriWare.CriAtomExCategory.SetFadeInTime
/
CriWare.CriAtomExCategory.SetFadeOutTime
CriWare.CriAtomExCategory.AttachAisac
/
CriWare.CriAtomExCategory.DetachAisac
/
CriWare.CriAtomExCategory.DetachAisacAll
CriWare.CriAtomExCategory.ResetAllAisacControl
/
CriWare.CriAtomExCategory.GetNumAttachedAisacs
CriWare.CriAtomExCategory.GetNumCuePlayingCount
[Atom]
[all_platform]
现在可以在创建以下Voice Pool时,设置最低声道数量:
CriWare.CriAtomExStandardVoicePool
CriWare.CriAtomExWaveVoicePool
[Atom]
[all_platform]
为
CriWare.CriAtomExStandardVoicePool
的构造函数添加了 API,以接受
CriWare.CriAtomExStandardVoicePool.Config
配置结构体。
[Atom]
[all_platform]
为
CriWare.CriAtomExWaveVoicePool
的构造函数添加了 API,以接受
CriWare.CriAtomExWaveVoicePool.Config
配置结构体。
[Atom]
[all_platform]
在 Atom Timeline 扩展功能中添加了对 Playable 的速度变化的支持。
[all_module]
[editor]
现在即使在“Enter Play Mode Options”中禁用“Reload Domain”,插件也可以正常运行。本功能可以在 Project Settings/CRIWARE/Editor/Common 中启用或禁用。(默认启用)
[Atom]
[all_platform]
向以下枚举类型添加了成员以支持空间音频:
CriWare.CriAtomEx.SoundRendererType
CriWare.CriAtomExAsrRack.SpeakerMapping
[Atom]
[all_platform]
添加了以下设置或获取Binauralizer启用状态的方法:
CriWare.CriAtomExAsr.EnableBinauralizer
CriWare.CriAtomExAsr.IsEnabledBinauralizer
[Atom]
[all_platform]
为 CriAtomExCueInfo 结构体添加了“volume”成员。
问题修复
[Mana]
[ios]
修正了一个在销毁视频播放器时可能会导致崩溃的潜在问题。
[Atom]
[editor]
修复了使用 Unity Timeline 1.5.2 或更高版本时 CRI Timeline 扩展会发生警告的问题。
[Atom]
[all_platform]
修正了在Atom Timeline中,AtomClip中的播放位置被脚本等方式改变时,播放本身不会跟随位置改变的问题。要恢复以前的行为,请禁用下面的CriAtomTrack设置:
Check Position within Clip
[Atom]
[all_platform]
修正了
CriWare.CriAtomEx3dListener.IsDestroyable
方法不能正常执行的问题。
[all_module]
[editor]
修正了Unity 2021.3.23及以上版本中,macOS版插件信息在Version Information窗口中不被显示的问题。
[Atom][Mana]
[all_platform]
修正了 CRI Timeline 扩展中播放时会发生不必要的 GC Allocation 的问题。
[Atom]
[editor]
修正了 CriAtomSource 组件的 Inspector 中的一些问题。
修正了Unity编辑器的PlayMode中打开 CriAtomSource 的 Inspector 时,正在播放的场景中的声音会停止的问题。
修正了在 CriAtomSource 的 Inspector 中进行预览播放时,当前的DSP总线设置不会被应用的问题。
[Atom]
[editor]
修正了CRI Profiler的一些问题:
修正了当有多个声源时,信息显示会发生延迟,或发生错误并停止显示的问题。
修正了当时间线显示内容较复杂时,发生IndexOutOfRange例外,并且显示会暂时消失的问题。
[Atom]
[ios]
修正了退出Atom库时,本插件以外的音频输出被禁用的问题。
[all_module]
[editor]
修正了CriConsoleLog不显示一些与插件有关的日志的问题。
[all_module]
[ios]
修复了导出的 Xcode 项目移动到其他环境时某些文件未被正确引用的问题。
[Atom]
[all_platform]
修正了与Atom Timeline扩展绑定的AtomSource.player的SetStartTime处理被插件端处理覆盖的问题。
[Atom]
[all_platform]
修复了即使不使用以下回调事件也可能出现相关警告的问题:
CriWare.CriAtomExSequencer.OnCallback
CriWare.CriAtomExBeatSync.OnCallback
CriWare.CriAtomExPlayer.OnBeatSyncCallback
CriWare.CriAtomEx.OnCueLinkCallback
[Mana]
[ios]
修正了在播放Sofdec.Prime或VP9编码的视频时导致闪烁的问题。在此修正后,播放开始后视频被绘制出来之前会有一帧的延迟。
[Fs]
[all_platform]
修复了在
CriWare.CriFsUtility.WebInstall
中抛出例外时会导致无效实例残留的问题。
[Mana]
[android]
修复了当启用 OpenGLES3 或 OpenGLES2 作为图形API时,H.264视频在如下环境下无法正常绘制的问题:
- CriManaPlugin.IsCodecSupported() 返回false的特定设备
- 启用了Unity Universal Render Pipeline的环境
- Windows Subsystem for Android
注意在上述图形API下的播放负载也发生了变化。要返回到以前的举动,请定义以下预处理器指令:
- CRI_DISABLE_MANA_OUTPUT_BUFFER_FOR_OPENGLES3
[Atom]
[ios]
修正了
CriWare.CriAtomOutputDeviceObserver.IsDeviceConnected
无法正确更新的问题。
[Mana]
[editor]
修正了macOS编辑器中指定特定平台为Target Platform时,视频播放无法正常执行的问题。
[Mana]
[ios]
修复了在 PlayerSettings 中关闭“Render Extra Frame on Pause”的情况下执行如下操作时视频播放会停止的问题。
完全拉下通知中心
使用iPad的台前调度功能,选择“添加另一个窗口”开启别的应用
Copyright (c) CRI Middleware Co., Ltd. 1.8.10