home archives github knives links
tags javascript live2d html
categories
only title title and content
live2d SDK WebGL 笔记

工具

Live2D SDK WebGL 2.1.00只支持2.0版本的模型

文件组织

webGL/-+-framework/---Live2DFramework.js
|
+-lib/---live2d.min.js
|
+-ReadMe.txt
|
`-sample/-+-simple/
|
+-SimpleMultiCanvas/
|
`-sampleApp1/

sampleApp1

文件组织

sampleApp1/-+-sampleApp1.html
|
+-assets/-+-image/
| |
| `-live2d/---${name}/-+-${name}.moc
| |
| +-${name}.model.json
| |
| +-textures/---${你的材质图}.png
| |
| +-modtions/---${动作}.mtn
| | # 以下可选
| +-expressions/---${没研究过}.json
| |
| +-sounds/--${你懂的}.mp3
| |
| +-${name}.physics # 不知道干嘛的
| |
| `-${name}.pose.json # 不知道干嘛的
|
`-src/-+-SampleApp1.js
|
+-LAppDefine.js
|
+-LAppLive2DManager.js
|
+-LAppModel.js
|
+-PlatformManager.js
|
`-utils/-+-MatrixStack.js
|
`-ModelSettingJson.js

引用关系

id 引用位置
drag_{num}(可拖动元素) SampleApp1.js,必须
glcanvas_{num} PlatformManager.js,SampleApp.js,必须
btnChange_{num} SampleApp1.js,必须
变量名 引用位置
UtSystem Live2DFramework.js,LAppModel.js
UtDebug Live2DFramework.js
LDTransform
LDGL
Live2D Live2DFramework.js,LAppLive2DManager.js,SampleApp1.js,必须
Live2DModelWebGL PlatformManager.js,必须
Live2DModelJS
Live2DMotion live2d.min.js,Live2DFramework.js
MotionQueueManager live2d.min.js,Live2DFramework.js
PhysicsHair Live2DFramework.js
AMotion Live2DFramework.js
PartsDataID Live2DFramework.js
DrawDataID
BaseDataID
ParamID
变量名 引用位置
L2DBaseModel Live2DFramework.js,LAppModel.js
L2DExpressionMotion Live2DFramework.js,必须,如果不修改变量名,那么多重canvas的先加载者的第一个模型不能够响应鼠标点击事件
L2DExpressionParam Live2DFramework.js
L2DEyeBlink Live2DFramework.js,LAppModel.js
L2DMatrix44 Live2DFramework.js,SampleApp1.js
L2DModelMatrix Live2DFramework.js
L2DMotionManager Live2DFramework.js
L2DPhysics Live2DFramework.js
L2DPose Live2DFramework.js,必须,否则canvas的第一个模型Pose会加载错误
L2DPartsParam Live2DFramework.js
L2DTargetPoint Live2DFramework.js,SampleApp1.js
L2DViewMatrix Live2DFramework.js,SampleApp1.js
Live2DFramework.setPlatformManager LAppLive2DManager.js,必须
Live2DFramework.getPlatformManager ModelSettingJson.js,LAppModel.js,Live2DFramework.js,不详
变量名 引用位置 声明位置
LAppDefine SampleApp1.js,LAppLive2DManager.js,LAppModel.js,必须 LAppDefine.js
LAppLive2DManager LAppLive2DManager.js,SampleApp1.js,必须 LAppLive2DManager.js
LAppModel LAppModel.js,LAppLive2DManager.js,必须 LAppModel.js
PlatformManager LAppLive2DManager.js,PlatformManager.js,必须 PlatformManager.js
ModelSettingJson ModelSettingJson.js,LAppModel.js,必须 ModelSettingJson.js
MatrixStack MatrixStack.js,LAppModel.js,SampleApp1.js MatrixStack.js
对象名 引用
this.live2DMgr = new LAppLive2DManager(); 必须
this.gl
this.dragMgr = new L2DTargetPoint(); 必须,否则无法判定相对鼠标位置
this.viewMatrix = new L2DViewMatrix(); 必须,单个放缩要用
this.projMatrix = new L2DMatrix44(); 必须,计算画布大小要用
this.deviceToScreen = new L2DMatrix44();
this.drag 必须,否则无法判定相对鼠标位置
this.oldLen
this.lastMouseX,this.lastMouseY
this.isModelShown 必须,和按键刷新有关
this.canvas 必须,否则无法加载材质
函数名 引用位置
startDraw SampleApp1.js,必须
SampleApp1.js,必须(未验证)
transform... 非必须,在刚加载的时候会有一堆报错,但不影响使用
getWebGLContext PlatformManager.js,必须,否则加载不出模型
l2dError

文件说明

LAppDefine.js
LAppLive2DManager.js
SampleApp1.js
LAppModel.js:主要是动作,表情的加载
PlatformManager.js
MatrixStack.js:看不懂在干嘛…
ModelSettingJson.js

文件合并顺序