模型方法
创建模型将返回一个实例, 用于方便后续操作模型的样式和行为
import { init } from 'l2d';
const l2d = init(document.getElementById('l2d') as HTMLCanvasElement);
async function main() {
const model = await l2d.create({
path: 'https://model.hacxy.cn/HK416-1-normal/model.json',
position: 'center'
});
// ...模型创建完成
model.setPosition([50, 50]); // 重新设置位置
}
方法
destroy()
destroy():
void
销毁模型
返回值类型
void
expression()
expression(
id:string):Promise<void>
根据表情id播放表情
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
id | string | Expression Id (表情id) |
返回值类型
Promise<void>
getExpressions()
getExpressions():
object[]
获取所有表情, 如果一个模型在其设置中没有定义表情, ExpressionManager 将完全不会创建,这意味着该方法只能返回一个空数组。
返回值类型
object[]
getMotionGroupNames()
getMotionGroupNames():
string[]
获取当前模型所有动作组名称
返回值类型
string[]
getMotionListByGroupName()
getMotionListByGroupName(
name:string):any[]
根据动作组名称获取动作文件列表
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
name | string |
返回值类型
any[]
hideHitAreaFrames()
hideHitAreaFrames():
void
隐藏点击区域
返回值类型
void
loadMotionFromUrl()
loadMotionFromUrl(
url:string):void
加载用于AudioBuffer的motionsync文件
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
url | string | motionsync3.json 的url地址 |
返回值类型
void
loadMotionStreamFromUrl()
loadMotionStreamFromUrl(
url:string):void
加载用于StreamMedia的motionsync文件
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
url | string | motionsync3.json 的url地址 |
返回值类型
void
moveCenter()
moveCenter():
void
将模型移动至画布中间
返回值类型
void
on()
on(
eventName: keyofEmits,listener: (eventData:string[] |Record<string,any>) =>void|Promise<void>):UnsubscribeFunction
参数
| 参数名 | 类型 |
|---|---|
eventName | keyof Emits |
listener | (eventData: string[] | Record<string, any>) => void | Promise<void> |
返回值类型
UnsubscribeFunction
playMotion()
playMotion(
group:string,index?:number):Promise<boolean>
根据动作组名称播放动作
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
group | string | |
index? | number |
返回值类型
Promise<boolean>
resetSpeak()
resetSpeak():
void
用于重置AudioBuffer播放的口型同步动作
返回值类型
void
resetSpeakStream()
resetSpeakStream():
void
用于重置StreamMedia播放的口型同步动作
返回值类型
void
setAnchor()
setAnchor(
x?:number,y?:number):void
设置锚点
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
x? | number | |
y? | number |
返回值类型
void
setParam()
setParam(
id:string,value:number):void
自定义参数
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
id | string | |
value | number |
返回值类型
void
setPosition()
setPosition(
position:"center"| [number,number]):void
设置模型在canvas中的坐标
参数
| 参数名 | 类型 |
|---|---|
position | "center" | [number, number] |
返回值类型
void
setRotaion()
setRotaion(
value:number):void
设置旋转角度
参数
| 参数名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
value | number | 0 |
返回值类型
void
setScale()
setScale(
value:number|"auto"):void
设置缩放
参数
| 参数名 | 类型 |
|---|---|
value | number | "auto" |
返回值类型
void
setVolume()
setVolume(
value?:number):void
设置音量
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
value? | number |
返回值类型
void
showHitAreaFrames()
showHitAreaFrames():
void
显示可点击区域
返回值类型
void
speak()
speak(
audioBuffer:AudioBuffer):Promise<void>
说话(口型动作同步)
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
audioBuffer | AudioBuffer |
返回值类型
Promise<void>
speakStream()
speakStream(
mediaStream:MediaStream):Promise<void>
说话(媒体流)
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
mediaStream | MediaStream |
返回值类型
Promise<void>