controller# UModelController

用于控制模型相关的的控制器, 例如加载模型, 切换模型等等

Constructor

new UModelController(live2d, dataopt)

model 控制器类

创建 live2d model 控制器

Parameters:
NameTypeAttributesDefaultDescription
live2dULive2dController

live2d 上下文

dataTModels<optional>
[]

模型数据集

Extends

Members

(protected, nullable) _currentMotion :string

模型 motion

当前模型正在执行的 motion

Type:
  • string
Default Value
  • null

(protected) _data :TModels

模型数据集

所有的模型数据, 用于存储对应的模型数据

Type:

(protected) _live2d :ULive2dController

live2d 上下文

live2d 数据选项控制器

(protected, nullable) _model :TLive2DModel

模型实例

模型加载完成后的模型实例

Default Value
  • null

(protected) _modelId :number

模型索引

当前模型在模型集中的位置索引

Type:
  • number

(protected) _textureId :number

贴图索引

当前模型贴图在模型集中的位置索引

Type:
  • number

(readonly) app :TApplication

Application 实例

getter: Application 实例

(readonly) backgroundColor :string

模型背景色

当前正在展示的模型数据中定义的背景颜色, 默认为 transparent

Type:
  • string

(readonly, nullable) currentMotion :string

模型 motion

当前模型正在执行的 motion, 未执行时为 null

Type:
  • string

(readonly) data :TModels

模型数据

getter: 所有的模型数据

Type:

(readonly) event :EventEmitter

event 实例

getter: EventEmitter3 实例

Type:
  • EventEmitter

(readonly) live2d :ULive2dController

live2d 上下文

getter: live2d 上下文

(readonly) live2dData :DLive2dOptions

live2d 数据

getter: live2d 原始数据

(readonly, nullable) model :TLive2DModel

模型实例

获取当前正在展示的 live2d 模型实例, 只有在模型加载完成后才不为 null

(readonly) modelData :TModelItem

模型数据项目

当前模型索引对应的模型数据项目

modelId :number

模型索引

当前模型在模型集中的位置索引

Type:
  • number

modelId

(readonly) ref :Record.<string, any>

对象引用

getter: 以键值对进行记录的对象引用

Type:
  • Record.<string, any>

textureId :number

贴图索引

当前模型贴图在模型集中的位置索引

Type:
  • number

textureId

Methods

destroy()

销毁 model 控制器

销毁模型实例, 移除模型数据, 以及移除绑定的事件

hasOutfit() → {boolean}

是否有其他服装

判断当前模型是否有其他服装

Returns:

true: 有其他服装, false: 没有其他服装

Type: 
boolean

init()

初始化 model 控制器

在 model 控制器初始化时开始加载与 modelId 及 textureId 对应的模型

(async) loadModel(modelId, textureIdopt) → {Promise.<void>}

加载模型

加载与 modelId 及 textureId 对应的模型

Parameters:
NameTypeAttributesDefaultDescription
modelIdnumber

模型索引

textureIdnumber<optional>
0

模型服装索引

Fires:
  • EEvent#event:modelStart 模型开始加载事件
  • EEvent#event:modelError 模型加载错误事件
  • EEvent#event:modelLoad 模型加载成功事件
Returns:
Type: 
Promise.<void>

motion() → {UModelController}

绑定 motion

在模型加载完成后绑定模型的 hit 事件, 并在点击时触发对应的 motion, 同时绑定 motionStart 与 motionFinish

Fires:
  • EEvent#event:motionStart 模型运动开始事件
  • EEvent#event:motionFinish 模型运动完成事件
Returns:

自身引用

Type: 
UModelController

(async) nextModel() → {Promise.<void>}

下一个模型

喀什切换模型数据集中的下一个模型

Returns:
Type: 
Promise.<void>

(async) nextTexture() → {Promise.<void>}

下一个服装

开始切换模型的下一个服装

Returns:
Type: 
Promise.<void>

(async) resetModel() → {Promise.<void>}

重置模型

重新加载当前模型

Returns:
Type: 
Promise.<void>

(async) switchModel(id, textureIdopt) → {Promise.<void>}

切换模型

切换与 modelId 及 textureId 对应的模型

Parameters:
NameTypeAttributesDefaultDescription
idnumber

模型索引

textureIdnumber<optional>
0

模型服装索引

Returns:
Type: 
Promise.<void>