Skip to content
On this page
通用

SceneClientApi

top.katton.api.scenecommon/src/main/kotlin/top/katton/api/scene/SceneClientApi.kt
注册归属于当前脚本的客户端定义;版本默认使用脚本包代码哈希。

registerClientScene ​

registerClientScene通用函数
kotlin
fun registerClientScene(id: String, revision: String = ScriptExecutionContext.currentScriptRevision() ?: "1", block: SceneBuilder.() -> Unit)

注册归属于当前脚本的客户端定义;版本默认使用脚本包代码哈希。

unregisterClientScene ​

unregisterClientScene通用函数
kotlin
fun unregisterClientScene(id: String): Boolean

停止此定义的实例并注销定义。

playClientScene ​

playClientScene通用函数
kotlin
fun playClientScene(id: String, context: SceneContext = SceneContext()): SceneHandle

在客户端线程本地播放。

playClientEffect ​

playClientEffect通用函数
kotlin
fun playClientEffect(effect: SceneEffect, context: SceneContext = SceneContext()): EffectHandle

独立效果与演出共用归属和取消规则。

playCameraPath ​

playCameraPath通用函数
kotlin
fun playCameraPath(keyframes: List<CameraKeyframe>, options: CameraOptions = CameraOptions()): EffectHandle

播放世界坐标镜头路径;关键帧时间使用 tick,角度使用度。

followCamera ​

followCamera通用函数
kotlin
fun followCamera(anchor: EffectAnchor, durationTicks: Int, options: CameraOptions = CameraOptions(), context: SceneContext = SceneContext()): EffectHandle

跟随锚点,直到时长结束或目标失效。

shakeCamera ​

shakeCamera通用函数
kotlin
fun shakeCamera(durationTicks: Int = 10, strength: Float = 2f, frequency: Float = 0.7f): EffectHandle

叠加随时间衰减的角度震动,不锁定玩家输入。

transitionCameraFov ​

transitionCameraFov通用函数
kotlin
fun transitionCameraFov(from: Float, to: Float, durationTicks: Int, easing: SceneEasing = SceneEasing.SMOOTH): EffectHandle

以度为单位插值渲染 FOV,不修改持久化视频设置。

setClientEffectBudgets ​

setClientEffectBudgets通用函数
kotlin
fun setClientEffectBudgets(budgets: EffectBudgets)

设置客户端共享的活动效果、粒子发射和几何顶点预算。