This commit is contained in:
Rzy 2025-07-24 18:47:04 +08:00
commit 60bc556807
54 changed files with 19176 additions and 0 deletions

14
index.html Normal file
View File

@ -0,0 +1,14 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Vite App</title>
<script src="/packages/cubism/core/live2dcubismcore.js"></script>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/main.js"></script>
</body>
</html>

10
models/UG/1desk.exp3.json Normal file
View File

@ -0,0 +1,10 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param4",
"Value": 1,
"Blend": "Add"
}
]
}

10
models/UG/2mic.exp3.json Normal file
View File

@ -0,0 +1,10 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param",
"Value": 1,
"Blend": "Add"
}
]
}

View File

@ -0,0 +1,20 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param10",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param11",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param25",
"Value": 0.6,
"Blend": "Add"
}
]
}

45
models/UG/4OAO.exp3.json Normal file
View File

@ -0,0 +1,45 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param26",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param10",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param34",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param13",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param28",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param53",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param25",
"Value": 0.6,
"Blend": "Add"
},
{
"Id": "Param32",
"Value": 1,
"Blend": "Add"
}
]
}

30
models/UG/5QAQ.exp3.json Normal file
View File

@ -0,0 +1,30 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param23",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param10",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param13",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param34",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param25",
"Value": 0.8,
"Blend": "Add"
}
]
}

View File

@ -0,0 +1,40 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param24",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param10",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param28",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param13",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param25",
"Value": 0.8,
"Blend": "Add"
},
{
"Id": "Param33",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param34",
"Value": 1,
"Blend": "Add"
}
]
}

View File

@ -0,0 +1,45 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param22",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param10",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param28",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param13",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param14",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param25",
"Value": 0.6,
"Blend": "Add"
},
{
"Id": "Param33",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param53",
"Value": 1,
"Blend": "Add"
}
]
}

View File

@ -0,0 +1,35 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param27",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param28",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param10",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param13",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param53",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param25",
"Value": 1,
"Blend": "Add"
}
]
}

15
models/UG/9.exp3.json Normal file
View File

@ -0,0 +1,15 @@
{
"Type": "Live2D Expression",
"Parameters": [
{
"Id": "Param48",
"Value": 1,
"Blend": "Add"
},
{
"Id": "Param28",
"Value": 1,
"Blend": "Add"
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 470 KiB

View File

@ -0,0 +1,565 @@
{
"Version": 3,
"Parameters": [
{
"Id": "Param",
"GroupId": "ParamGroup",
"Name": "mic"
},
{
"Id": "Param4",
"GroupId": "ParamGroup",
"Name": "desk"
},
{
"Id": "Param25",
"GroupId": "ParamGroup",
"Name": "emoji"
},
{
"Id": "Param32",
"GroupId": "ParamGroup",
"Name": "sweat1"
},
{
"Id": "Param33",
"GroupId": "ParamGroup",
"Name": "sweat2"
},
{
"Id": "Param28",
"GroupId": "ParamGroup",
"Name": "mouth off"
},
{
"Id": "Param10",
"GroupId": "ParamGroup",
"Name": "1face-all"
},
{
"Id": "Param11",
"GroupId": "ParamGroup",
"Name": "2face-clever"
},
{
"Id": "Param26",
"GroupId": "ParamGroup",
"Name": "3face-OAO"
},
{
"Id": "Param31",
"GroupId": "ParamGroup",
"Name": "leaf"
},
{
"Id": "Param55",
"GroupId": "ParamGroup",
"Name": "leaf off"
},
{
"Id": "Param23",
"GroupId": "ParamGroup",
"Name": "4face-QAQ"
},
{
"Id": "Param24",
"GroupId": "ParamGroup",
"Name": "5face-i gi a ri"
},
{
"Id": "Param22",
"GroupId": "ParamGroup",
"Name": "6face-kb"
},
{
"Id": "Param27",
"GroupId": "ParamGroup",
"Name": "7face-punch"
},
{
"Id": "Param48",
"GroupId": "ParamGroup",
"Name": "+1"
},
{
"Id": "Param13",
"GroupId": "ParamGroup",
"Name": "cup"
},
{
"Id": "Param34",
"GroupId": "ParamGroup",
"Name": "hand"
},
{
"Id": "Param44",
"GroupId": "ParamGroup",
"Name": "hand2"
},
{
"Id": "Param53",
"GroupId": "ParamGroup",
"Name": "hand3"
},
{
"Id": "Param30",
"GroupId": "ParamGroup",
"Name": "+1"
},
{
"Id": "Param54",
"GroupId": "ParamGroup",
"Name": "+1off"
},
{
"Id": "Param14",
"GroupId": "ParamGroup",
"Name": "keyboard"
},
{
"Id": "Param21",
"GroupId": "ParamGroup",
"Name": "keyboard3"
},
{
"Id": "Param20",
"GroupId": "ParamGroup",
"Name": "keyboard2"
},
{
"Id": "Param17",
"GroupId": "ParamGroup",
"Name": "keyboard1"
},
{
"Id": "Param15",
"GroupId": "ParamGroup",
"Name": "keyboard-hand"
},
{
"Id": "Param35",
"GroupId": "ParamGroup2",
"Name": "punch1"
},
{
"Id": "Param36",
"GroupId": "ParamGroup2",
"Name": "punchoff1"
},
{
"Id": "Param49",
"GroupId": "ParamGroup2",
"Name": "punch2"
},
{
"Id": "Param37",
"GroupId": "ParamGroup2",
"Name": "punchoff2"
},
{
"Id": "Param45",
"GroupId": "ParamGroup2",
"Name": "punch3"
},
{
"Id": "Param38",
"GroupId": "ParamGroup2",
"Name": "punchoff3"
},
{
"Id": "Param46",
"GroupId": "ParamGroup2",
"Name": "punch4"
},
{
"Id": "Param39",
"GroupId": "ParamGroup2",
"Name": "punchoff4"
},
{
"Id": "Param50",
"GroupId": "ParamGroup2",
"Name": "punch5"
},
{
"Id": "Param40",
"GroupId": "ParamGroup2",
"Name": "punchoff5"
},
{
"Id": "Param51",
"GroupId": "ParamGroup2",
"Name": "punch6"
},
{
"Id": "Param41",
"GroupId": "ParamGroup2",
"Name": "punchoff6"
},
{
"Id": "Param52",
"GroupId": "ParamGroup2",
"Name": "punch7"
},
{
"Id": "Param42",
"GroupId": "ParamGroup2",
"Name": "punchoff7"
},
{
"Id": "Param47",
"GroupId": "ParamGroup2",
"Name": "punch8"
},
{
"Id": "Param43",
"GroupId": "ParamGroup2",
"Name": "punchoff8"
},
{
"Id": "Param16",
"GroupId": "",
"Name": "keyboard1"
},
{
"Id": "Param18",
"GroupId": "",
"Name": "keyboard2"
},
{
"Id": "Param19",
"GroupId": "",
"Name": "keyboard3"
},
{
"Id": "Param2",
"GroupId": "",
"Name": "惯性"
},
{
"Id": "Param3",
"GroupId": "",
"Name": "惯性"
},
{
"Id": "ParamLowerBodyX2",
"GroupId": "",
"Name": "眼整体"
},
{
"Id": "ParamLowerBodyX12",
"GroupId": "",
"Name": "眼smile"
},
{
"Id": "ParamLowerBodyX13",
"GroupId": "",
"Name": "hl"
},
{
"Id": "ParamLowerBodyX14",
"GroupId": "",
"Name": "hl"
},
{
"Id": "Param6",
"GroupId": "",
"Name": "hair1"
},
{
"Id": "Param8",
"GroupId": "",
"Name": "hair2"
},
{
"Id": "Param9",
"GroupId": "",
"Name": "hair3"
},
{
"Id": "Param5",
"GroupId": "",
"Name": "ear1"
},
{
"Id": "Param7",
"GroupId": "",
"Name": "ear2"
},
{
"Id": "Param12",
"GroupId": "",
"Name": "ear3"
},
{
"Id": "ParamAngleX",
"GroupId": "",
"Name": "角度 X"
},
{
"Id": "ParamAngleY",
"GroupId": "",
"Name": "角度 Y"
},
{
"Id": "ParamAngleZ",
"GroupId": "",
"Name": "角度 Z"
},
{
"Id": "ParamEyeLOpen",
"GroupId": "",
"Name": "左眼 开闭"
},
{
"Id": "ParamEyeLSmile",
"GroupId": "",
"Name": "左眼 微笑"
},
{
"Id": "ParamEyeROpen",
"GroupId": "",
"Name": "右眼"
},
{
"Id": "ParamEyeRSmile",
"GroupId": "",
"Name": "右眼 微笑"
},
{
"Id": "ParamEyeBallX",
"GroupId": "",
"Name": "眼珠 X"
},
{
"Id": "ParamEyeBallY",
"GroupId": "",
"Name": "眼珠 Y"
},
{
"Id": "ParamBrowLY",
"GroupId": "",
"Name": "左眉上下"
},
{
"Id": "ParamBrowRY",
"GroupId": "",
"Name": "右眉 上下"
},
{
"Id": "ParamBrowLX",
"GroupId": "",
"Name": "左眉 左右"
},
{
"Id": "ParamBrowRX",
"GroupId": "",
"Name": "右眉 左右"
},
{
"Id": "ParamBrowLAngle",
"GroupId": "",
"Name": "左眉 角度"
},
{
"Id": "ParamBrowRAngle",
"GroupId": "",
"Name": "右眉 角度"
},
{
"Id": "ParamBrowLForm",
"GroupId": "",
"Name": "左眉 変形"
},
{
"Id": "ParamBrowRForm",
"GroupId": "",
"Name": "右眉 変形"
},
{
"Id": "ParamMouthForm",
"GroupId": "",
"Name": "嘴 变形"
},
{
"Id": "ParamMouthOpenY",
"GroupId": "",
"Name": "嘴 张开和闭合"
},
{
"Id": "ParamCheek",
"GroupId": "",
"Name": "脸颊泛红"
},
{
"Id": "ParamBodyAngleX",
"GroupId": "",
"Name": "身体旋转 X"
},
{
"Id": "ParamBodyAngleY",
"GroupId": "",
"Name": "身体旋转 Y"
},
{
"Id": "ParamBodyAngleX2",
"GroupId": "",
"Name": "身体旋转 X"
},
{
"Id": "ParamBodyAngleY2",
"GroupId": "",
"Name": "身体旋转 Y"
},
{
"Id": "ParamBodyAngleZ",
"GroupId": "",
"Name": "身体旋转 Z"
},
{
"Id": "ParamBodyAngleZ2",
"GroupId": "",
"Name": "身体旋转 Z"
},
{
"Id": "ParamBreath",
"GroupId": "",
"Name": "呼吸"
},
{
"Id": "ParamHairFront",
"GroupId": "",
"Name": "摇动 前发"
},
{
"Id": "ParamHairSide",
"GroupId": "",
"Name": "摇动 侧发"
},
{
"Id": "ParamHairBack",
"GroupId": "",
"Name": "摇动 后发"
}
],
"ParameterGroups": [
{
"Id": "ParamGroup",
"GroupId": "",
"Name": "Folder 1"
},
{
"Id": "ParamGroup2",
"GroupId": "",
"Name": "punch"
}
],
"Parts": [
{
"Id": "desk",
"Name": "desk"
},
{
"Id": "mic",
"Name": "mic"
},
{
"Id": "Part30",
"Name": "ulk.psd(未找到对应图层)"
},
{
"Id": "Part20",
"Name": "ulk.psd(未找到对应图层)"
},
{
"Id": "Part",
"Name": "文件夹1"
},
{
"Id": "Part2",
"Name": "文件夹2"
},
{
"Id": "Part3",
"Name": "文件夹3"
},
{
"Id": "Part4",
"Name": "文件夹4"
},
{
"Id": "Part5",
"Name": "文件夹5"
},
{
"Id": "Part6",
"Name": "文件夹6"
},
{
"Id": "Part7",
"Name": "文件夹7"
},
{
"Id": "keyboard2",
"Name": "keyboard"
},
{
"Id": "Part17",
"Name": "yiyi"
},
{
"Id": "keyboard",
"Name": "keyboard"
},
{
"Id": "Part10",
"Name": "yiyi"
},
{
"Id": "shock",
"Name": "shock"
},
{
"Id": "Part11",
"Name": "给你一拳"
},
{
"Id": "Part12",
"Name": "+1"
},
{
"Id": "Part14",
"Name": "文件夹2"
},
{
"Id": "Part15",
"Name": "文件夹3"
},
{
"Id": "Part18",
"Name": "文件夹6"
},
{
"Id": "eye",
"Name": "eye"
},
{
"Id": "Part19",
"Name": "文件夹7"
},
{
"Id": "Part8",
"Name": "文件夹16"
},
{
"Id": "Part9",
"Name": "文件夹10"
}
],
"CombinedParameters": [
[
"ParamAngleX",
"ParamAngleY"
]
]
}

BIN
models/UG/UGOfficial.moc3 Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
models/UG/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -0,0 +1,14 @@
{
"FileMetadata": {
"LastSavedVTubeStudioVersion": "1.24.12",
"LastSavedPlatform": "Steam",
"LastSavedDateUTC": "Wednesday, 05 April 2023, 08:45:09",
"LastSavedDateLocalTime": "Wednesday, 05 April 2023, 16:45:09",
"LastSavedDateUnixMillisecondTimestamp": "1680684309305"
},
"SceneName": "",
"SceneGroupName": "",
"SceneModel": "",
"SceneID": "",
"Items": []
}

3085
models/UG/loop.motion3.json Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,110 @@
{
"Version": 3,
"FileReferences": {
"Moc": "UGOfficial.moc3",
"Textures": [
"UGOfficial.2048/texture_00.png",
"UGOfficial.2048/texture_01.png"
],
"Physics": "UGOfficial.physics3.json",
"DisplayInfo": "UGOfficial.cdi3.json",
"Expressions": [
{
"Name": "1desk",
"File": "1desk.exp3.json"
},
{
"Name": "2mic",
"File": "2mic.exp3.json"
},
{
"Name": "3clever",
"File": "3clever.exp3.json"
},
{
"Name": "4OAO",
"File": "4OAO.exp3.json"
},
{
"Name": "5QAQ",
"File": "5QAQ.exp3.json"
},
{
"Name": "6i gi a ri",
"File": "6i gi a ri.exp3.json"
},
{
"Name": "7keyboard",
"File": "7keyboard.exp3.json"
},
{
"Name": "8punch",
"File": "8punch.exp3.json"
},
{
"Name": "1desk",
"File": "1desk.exp3.json"
},
{
"Name": "2mic",
"File": "2mic.exp3.json"
},
{
"Name": "3clever",
"File": "3clever.exp3.json"
},
{
"Name": "4OAO",
"File": "4OAO.exp3.json"
},
{
"Name": "5QAQ",
"File": "5QAQ.exp3.json"
},
{
"Name": "6i gi a ri",
"File": "6i gi a ri.exp3.json"
},
{
"Name": "7keyboard",
"File": "7keyboard.exp3.json"
},
{
"Name": "8punch",
"File": "8punch.exp3.json"
},
{
"Name": "9",
"File": "9.exp3.json"
}
],
"Motions": {
"": [
{
"File": "loop.motion3.json"
},
{
"File": "loop.motion3.json"
}
]
}
},
"Groups": [
{
"Target": "Parameter",
"Name": "LipSync",
"Ids": [
"ParamMouthOpenY"
]
},
{
"Target": "Parameter",
"Name": "EyeBlink",
"Ids": [
"ParamEyeLOpen",
"ParamEyeROpen"
]
}
],
"HitAreas": []
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,64 @@
============================================================
示例模型
桃濑日和 - FREE
============================================================
 该示例是基于Cubism3.0制作的标准模型素材。
 可用于学习变形器的构造以及参数的使用方法。
 模型的肩部应用了新功能【胶水】。
------------------------------
素材使用许可
------------------------------
 普通用户以及小规模企业在同意授权协议的情况下可用于商业用途。
 中/大规模的企业只能用于非公开的内部试用。
 在使用该素材时请确认以下的【无偿提供素材使用授权协议】中的“授权类型”、“Live2D原创角色”等的相关内容
 并必须接受【Live2D Cubism 示例模型的使用授权要求】中的利用条件。
 有关许可证的更多信息,请参阅以下页面。
 https://www.live2d.com/zh-CHS/download/sample-data/
------------------------------
创作者
------------------------------
 插画Kani Biimu
 模型Live2D
------------------------------
素材内容
------------------------------
 模型文件(cmo3) ※包含物理模拟的设定
 基本动画文件(can3)
 嵌入文件组(runtime文件夹)
 ・模型数据(moc3)
 ・动作数据(motion3.json)
 ・模型设定文件(model3.json)
 ・物理模拟设定文件(physics3.json)
 ・辅助显示的文件(cdi3.json)
------------------------------
更新记录
------------------------------
【cmo3】
 hiyori_free_t08
 2021年6月10日 公开
【can3】
 hiyori_free_t03
 2021年6月10日 公开

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

@ -0,0 +1,276 @@
{
"Version": 3,
"Parameters": [
{
"Id": "ParamAngleX",
"GroupId": "ParamGroupFace",
"Name": "角度 X"
},
{
"Id": "ParamAngleY",
"GroupId": "ParamGroupFace",
"Name": "角度 Y"
},
{
"Id": "ParamAngleZ",
"GroupId": "ParamGroupFace",
"Name": "角度 Z"
},
{
"Id": "ParamCheek",
"GroupId": "ParamGroupFace",
"Name": "脸颊泛红"
},
{
"Id": "ParamEyeLOpen",
"GroupId": "ParamGroupEyes",
"Name": "左眼 开闭"
},
{
"Id": "ParamEyeLSmile",
"GroupId": "ParamGroupEyes",
"Name": "左眼 微笑"
},
{
"Id": "ParamEyeROpen",
"GroupId": "ParamGroupEyes",
"Name": "右眼 开闭"
},
{
"Id": "ParamEyeRSmile",
"GroupId": "ParamGroupEyes",
"Name": "右眼 微笑"
},
{
"Id": "ParamEyeBallX",
"GroupId": "ParamGroupEyeballs",
"Name": "眼珠 X"
},
{
"Id": "ParamEyeBallY",
"GroupId": "ParamGroupEyeballs",
"Name": "眼珠 Y"
},
{
"Id": "ParamBrowLForm",
"GroupId": "ParamGroupBrows",
"Name": "左眉 变形"
},
{
"Id": "ParamBrowRForm",
"GroupId": "ParamGroupBrows",
"Name": "右眉 变形"
},
{
"Id": "ParamMouthForm",
"GroupId": "ParamGroupMouth",
"Name": "嘴 变形"
},
{
"Id": "ParamMouthOpenY",
"GroupId": "ParamGroupMouth",
"Name": "嘴 开闭"
},
{
"Id": "ParamBodyAngleX",
"GroupId": "ParamGroupBody",
"Name": "身体的旋转 X"
},
{
"Id": "ParamBodyAngleY",
"GroupId": "ParamGroupBody",
"Name": "身体的旋转 Y"
},
{
"Id": "ParamBodyAngleZ",
"GroupId": "ParamGroupBody",
"Name": "身体的旋转 Z"
},
{
"Id": "ParamBreath",
"GroupId": "ParamGroupBody",
"Name": "呼吸"
},
{
"Id": "ParamArmLA",
"GroupId": "ParamGroupArms",
"Name": "左臂 A"
},
{
"Id": "ParamArmRA",
"GroupId": "ParamGroupArms",
"Name": "右臂 A"
},
{
"Id": "ParamBustY",
"GroupId": "ParamGroupSway",
"Name": "胸部 摇动"
},
{
"Id": "ParamHairAhoge",
"GroupId": "ParamGroupSway",
"Name": "头发摇动 呆毛"
},
{
"Id": "ParamHairFront",
"GroupId": "ParamGroupSway",
"Name": "头发摇动 前"
},
{
"Id": "ParamHairSide",
"GroupId": "ParamGroupSway",
"Name": "头发摇动 侧"
},
{
"Id": "ParamHairBack",
"GroupId": "ParamGroupSway",
"Name": "头发摇动 后"
},
{
"Id": "ParamHairSideUp",
"GroupId": "ParamGroupSway",
"Name": "辫子的摇动"
},
{
"Id": "ParamRibbon",
"GroupId": "ParamGroupSway",
"Name": "蝴蝶结的摇动"
},
{
"Id": "ParamSkirt",
"GroupId": "ParamGroupSway",
"Name": "短裙的摇动"
},
{
"Id": "ParamSideUpRibbon",
"GroupId": "ParamGroupSway",
"Name": "发饰的摇动"
}
],
"ParameterGroups": [
{
"Id": "ParamGroupFace",
"GroupId": "",
"Name": "脸"
},
{
"Id": "ParamGroupEyes",
"GroupId": "",
"Name": "眼睛"
},
{
"Id": "ParamGroupEyeballs",
"GroupId": "",
"Name": "眼珠"
},
{
"Id": "ParamGroupBrows",
"GroupId": "",
"Name": "眉毛"
},
{
"Id": "ParamGroupMouth",
"GroupId": "",
"Name": "嘴"
},
{
"Id": "ParamGroupBody",
"GroupId": "",
"Name": "身体"
},
{
"Id": "ParamGroupArms",
"GroupId": "",
"Name": "手臂"
},
{
"Id": "ParamGroupSway",
"GroupId": "",
"Name": "摇动"
}
],
"Parts": [
{
"Id": "PartCore",
"Name": "Core"
},
{
"Id": "PartCheek",
"Name": "脸颊"
},
{
"Id": "PartBrow",
"Name": "眉毛"
},
{
"Id": "PartEye",
"Name": "眼睛"
},
{
"Id": "PartNose",
"Name": "鼻子"
},
{
"Id": "PartMouth",
"Name": "口"
},
{
"Id": "PartFace",
"Name": "脸"
},
{
"Id": "PartEar",
"Name": "耳朵"
},
{
"Id": "PartHairSide",
"Name": "侧发"
},
{
"Id": "PartHairFront",
"Name": "前发"
},
{
"Id": "PartHairBack",
"Name": "后发"
},
{
"Id": "PartNeck",
"Name": "脖子"
},
{
"Id": "PartBody",
"Name": "身体"
},
{
"Id": "PartArmA",
"Name": "手臂A"
},
{
"Id": "PartBackground",
"Name": "背景"
},
{
"Id": "PartSketch",
"Name": "[参考图]"
},
{
"Id": "PartEyeBall",
"Name": "眼珠"
}
],
"CombinedParameters": [
[
"ParamAngleX",
"ParamAngleY"
],
[
"ParamEyeBallX",
"ParamEyeBallY"
],
[
"ParamMouthForm",
"ParamMouthOpenY"
]
]
}

Binary file not shown.

View File

@ -0,0 +1,35 @@
{
"Version": 3,
"FileReferences": {
"Moc": "hiyori_free_t08.moc3",
"Textures": [
"hiyori_free_t08.2048/texture_00.png"
],
"Physics": "hiyori_free_t08.physics3.json",
"DisplayInfo": "hiyori_free_t08.cdi3.json",
"Motions": {}
},
"Groups": [
{
"Target": "Parameter",
"Name": "EyeBlink",
"Ids": [
"ParamEyeLOpen",
"ParamEyeROpen"
]
},
{
"Target": "Parameter",
"Name": "LipSync",
"Ids": [
"ParamMouthOpenY"
]
}
],
"HitAreas": [
{
"Id": "HitArea",
"Name": "Body"
}
]
}

View File

@ -0,0 +1,631 @@
{
"Version": 3,
"Meta": {
"PhysicsSettingCount": 7,
"TotalInputCount": 24,
"TotalOutputCount": 7,
"VertexCount": 14,
"EffectiveForces": {
"Gravity": {
"X": 0,
"Y": -1
},
"Wind": {
"X": 0,
"Y": 0
}
},
"PhysicsDictionary": [
{
"Id": "PhysicsSetting1",
"Name": "前髪"
},
{
"Id": "PhysicsSetting2",
"Name": "横髪"
},
{
"Id": "PhysicsSetting3",
"Name": "後ろ髪"
},
{
"Id": "PhysicsSetting4",
"Name": "サイドアップ"
},
{
"Id": "PhysicsSetting5",
"Name": "スカート"
},
{
"Id": "PhysicsSetting6",
"Name": "リボン 体"
},
{
"Id": "PhysicsSetting7",
"Name": "リボン 頭"
}
]
},
"PhysicsSettings": [
{
"Id": "PhysicsSetting1",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleX"
},
"Weight": 60,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleZ"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleX"
},
"Weight": 40,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleZ"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "ParamHairFront"
},
"VertexIndex": 1,
"Scale": 1.5,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 3
},
"Mobility": 0.95,
"Delay": 0.9,
"Acceleration": 1.5,
"Radius": 3
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting2",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleX"
},
"Weight": 60,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleZ"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleX"
},
"Weight": 40,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleZ"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "ParamHairSide"
},
"VertexIndex": 1,
"Scale": 3,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 15
},
"Mobility": 0.95,
"Delay": 0.8,
"Acceleration": 1.5,
"Radius": 15
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting3",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleX"
},
"Weight": 60,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleZ"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleX"
},
"Weight": 40,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleZ"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "ParamHairBack"
},
"VertexIndex": 1,
"Scale": 2.132,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 15
},
"Mobility": 0.95,
"Delay": 0.8,
"Acceleration": 1.5,
"Radius": 15
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting4",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleX"
},
"Weight": 60,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleZ"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleX"
},
"Weight": 40,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleZ"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "ParamHairSideUp"
},
"VertexIndex": 1,
"Scale": 2.161,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 15
},
"Mobility": 0.95,
"Delay": 0.8,
"Acceleration": 1.5,
"Radius": 15
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting5",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleX"
},
"Weight": 100,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleZ"
},
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "ParamSkirt"
},
"VertexIndex": 1,
"Scale": 1,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 10
},
"Mobility": 0.9,
"Delay": 0.6,
"Acceleration": 1.5,
"Radius": 10
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting6",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleX"
},
"Weight": 100,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleZ"
},
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "ParamRibbon"
},
"VertexIndex": 1,
"Scale": 1.559,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 10
},
"Mobility": 0.9,
"Delay": 0.6,
"Acceleration": 1.5,
"Radius": 10
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting7",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleX"
},
"Weight": 60,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamAngleZ"
},
"Weight": 60,
"Type": "Angle",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleX"
},
"Weight": 40,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleZ"
},
"Weight": 40,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "ParamSideUpRibbon"
},
"VertexIndex": 1,
"Scale": 1.441,
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Vertices": [
{
"Position": {
"X": 0,
"Y": 0
},
"Mobility": 1,
"Delay": 1,
"Acceleration": 1,
"Radius": 0
},
{
"Position": {
"X": 0,
"Y": 10
},
"Mobility": 0.9,
"Delay": 0.6,
"Acceleration": 1.5,
"Radius": 10
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
}
]
}

View File

@ -0,0 +1,276 @@
{
"Version": 3,
"Parameters": [
{
"Id": "ParamAngleX",
"GroupId": "ParamGroupFace",
"Name": "角度 X"
},
{
"Id": "ParamAngleY",
"GroupId": "ParamGroupFace",
"Name": "角度 Y"
},
{
"Id": "ParamAngleZ",
"GroupId": "ParamGroupFace",
"Name": "角度 Z"
},
{
"Id": "ParamCheek",
"GroupId": "ParamGroupFace",
"Name": "脸颊泛红"
},
{
"Id": "ParamEyeLOpen",
"GroupId": "ParamGroupEyes",
"Name": "左眼 开闭"
},
{
"Id": "ParamEyeLSmile",
"GroupId": "ParamGroupEyes",
"Name": "左眼 微笑"
},
{
"Id": "ParamEyeROpen",
"GroupId": "ParamGroupEyes",
"Name": "右眼 开闭"
},
{
"Id": "ParamEyeRSmile",
"GroupId": "ParamGroupEyes",
"Name": "右眼 微笑"
},
{
"Id": "ParamEyeBallX",
"GroupId": "ParamGroupEyeballs",
"Name": "眼珠 X"
},
{
"Id": "ParamEyeBallY",
"GroupId": "ParamGroupEyeballs",
"Name": "眼珠 Y"
},
{
"Id": "ParamBrowLForm",
"GroupId": "ParamGroupBrows",
"Name": "左眉 变形"
},
{
"Id": "ParamBrowRForm",
"GroupId": "ParamGroupBrows",
"Name": "右眉 变形"
},
{
"Id": "ParamMouthForm",
"GroupId": "ParamGroupMouth",
"Name": "嘴 变形"
},
{
"Id": "ParamMouthOpenY",
"GroupId": "ParamGroupMouth",
"Name": "嘴 开闭"
},
{
"Id": "ParamBodyAngleX",
"GroupId": "ParamGroupBody",
"Name": "身体的旋转 X"
},
{
"Id": "ParamBodyAngleY",
"GroupId": "ParamGroupBody",
"Name": "身体的旋转 Y"
},
{
"Id": "ParamBodyAngleZ",
"GroupId": "ParamGroupBody",
"Name": "身体的旋转 Z"
},
{
"Id": "ParamBreath",
"GroupId": "ParamGroupBody",
"Name": "呼吸"
},
{
"Id": "ParamArmLA",
"GroupId": "ParamGroupArms",
"Name": "左臂 A"
},
{
"Id": "ParamArmRA",
"GroupId": "ParamGroupArms",
"Name": "右臂 A"
},
{
"Id": "ParamBustY",
"GroupId": "ParamGroupSway",
"Name": "胸部 摇动"
},
{
"Id": "ParamHairAhoge",
"GroupId": "ParamGroupSway",
"Name": "头发摇动 呆毛"
},
{
"Id": "ParamHairFront",
"GroupId": "ParamGroupSway",
"Name": "头发摇动 前"
},
{
"Id": "ParamHairSide",
"GroupId": "ParamGroupSway",
"Name": "头发摇动 侧"
},
{
"Id": "ParamHairBack",
"GroupId": "ParamGroupSway",
"Name": "头发摇动 后"
},
{
"Id": "ParamHairSideUp",
"GroupId": "ParamGroupSway",
"Name": "辫子的摇动"
},
{
"Id": "ParamRibbon",
"GroupId": "ParamGroupSway",
"Name": "蝴蝶结的摇动"
},
{
"Id": "ParamSkirt",
"GroupId": "ParamGroupSway",
"Name": "短裙的摇动"
},
{
"Id": "ParamSideUpRibbon",
"GroupId": "ParamGroupSway",
"Name": "发饰的摇动"
}
],
"ParameterGroups": [
{
"Id": "ParamGroupFace",
"GroupId": "",
"Name": "脸"
},
{
"Id": "ParamGroupEyes",
"GroupId": "",
"Name": "眼睛"
},
{
"Id": "ParamGroupEyeballs",
"GroupId": "",
"Name": "眼珠"
},
{
"Id": "ParamGroupBrows",
"GroupId": "",
"Name": "眉毛"
},
{
"Id": "ParamGroupMouth",
"GroupId": "",
"Name": "嘴"
},
{
"Id": "ParamGroupBody",
"GroupId": "",
"Name": "身体"
},
{
"Id": "ParamGroupArms",
"GroupId": "",
"Name": "手臂"
},
{
"Id": "ParamGroupSway",
"GroupId": "",
"Name": "摇动"
}
],
"Parts": [
{
"Id": "PartCore",
"Name": "Core"
},
{
"Id": "PartCheek",
"Name": "脸颊"
},
{
"Id": "PartBrow",
"Name": "眉毛"
},
{
"Id": "PartEye",
"Name": "眼睛"
},
{
"Id": "PartNose",
"Name": "鼻子"
},
{
"Id": "PartMouth",
"Name": "口"
},
{
"Id": "PartFace",
"Name": "脸"
},
{
"Id": "PartEar",
"Name": "耳朵"
},
{
"Id": "PartHairSide",
"Name": "侧发"
},
{
"Id": "PartHairFront",
"Name": "前发"
},
{
"Id": "PartHairBack",
"Name": "后发"
},
{
"Id": "PartNeck",
"Name": "脖子"
},
{
"Id": "PartBody",
"Name": "身体"
},
{
"Id": "PartArmA",
"Name": "手臂A"
},
{
"Id": "PartBackground",
"Name": "背景"
},
{
"Id": "PartSketch",
"Name": "[参考图]"
},
{
"Id": "PartEyeBall",
"Name": "眼珠"
}
],
"CombinedParameters": [
[
"ParamAngleX",
"ParamAngleY"
],
[
"ParamEyeBallX",
"ParamEyeBallY"
],
[
"ParamMouthForm",
"ParamMouthOpenY"
]
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@ -0,0 +1,951 @@
{
"Version": 3,
"Meta": {
"Duration": 4.7,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": false,
"CurveCount": 22,
"TotalSegmentCount": 121,
"TotalPointCount": 341,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "ParamAngleX",
"Segments": [
0,
-8,
1,
0.067,
-8,
0.133,
-8,
0.2,
-8,
1,
0.278,
-8,
0.356,
-8,
0.433,
-8,
1,
0.556,
-8,
0.678,
-8,
0.8,
-8,
1,
0.956,
-8,
1.111,
-8,
1.267,
-8,
1,
1.522,
-8,
1.778,
0,
2.033,
0,
1,
2.122,
0,
2.211,
0,
2.3,
0,
1,
2.556,
0,
2.811,
9,
3.067,
9,
1,
3.356,
9,
3.644,
0,
3.933,
0,
1,
4.067,
0,
4.2,
1,
4.333,
1,
0,
4.7,
1
]
},
{
"Target": "Parameter",
"Id": "ParamAngleY",
"Segments": [
0,
-5,
1,
0.067,
-5,
0.133,
-5,
0.2,
-5,
1,
0.322,
-5,
0.444,
16,
0.567,
16,
1,
0.711,
16,
0.856,
-12,
1,
-12,
1,
1.089,
-12,
1.178,
11,
1.267,
11,
1,
1.356,
11,
1.444,
9.376,
1.533,
3,
1,
1.611,
-2.579,
1.689,
-8,
1.767,
-8,
1,
1.856,
-8,
1.944,
0,
2.033,
0,
1,
2.122,
0,
2.211,
0,
2.3,
0,
1,
2.578,
0,
2.856,
-30,
3.133,
-30,
1,
3.278,
-30,
3.422,
15,
3.567,
15,
1,
3.689,
15,
3.811,
-9,
3.933,
-9,
0,
4.7,
-9
]
},
{
"Target": "Parameter",
"Id": "ParamAngleZ",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
0,
0.433,
0,
1,
0.711,
0,
0.989,
0,
1.267,
0,
1,
1.522,
0,
1.778,
14,
2.033,
14,
1,
2.178,
14,
2.322,
14,
2.467,
14,
1,
2.8,
14,
3.133,
16,
3.467,
16,
1,
3.633,
16,
3.8,
-13,
3.967,
-13,
1,
4.111,
-13,
4.256,
-11.207,
4.4,
-11.207,
0,
4.7,
-11.207
]
},
{
"Target": "Parameter",
"Id": "ParamCheek",
"Segments": [
0,
0,
0,
4.7,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLOpen",
"Segments": [
0,
1,
1,
0.556,
1,
1.111,
1,
1.667,
1,
1,
1.711,
1,
1.756,
0,
1.8,
0,
1,
1.822,
0,
1.844,
0,
1.867,
0,
1,
1.911,
0,
1.956,
1,
2,
1,
1,
2.489,
1,
2.978,
1,
3.467,
1,
1,
3.511,
1,
3.556,
0,
3.6,
0,
1,
3.622,
0,
3.644,
0,
3.667,
0,
1,
3.733,
0,
3.8,
1,
3.867,
1,
0,
4.7,
1
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLSmile",
"Segments": [
0,
0,
0,
4.7,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeROpen",
"Segments": [
0,
1,
1,
0.556,
1,
1.111,
1,
1.667,
1,
1,
1.711,
1,
1.756,
0,
1.8,
0,
1,
1.822,
0,
1.844,
0,
1.867,
0,
1,
1.911,
0,
1.956,
1,
2,
1,
1,
2.489,
1,
2.978,
1,
3.467,
1,
1,
3.511,
1,
3.556,
0,
3.6,
0,
1,
3.622,
0,
3.644,
0,
3.667,
0,
1,
3.733,
0,
3.8,
1,
3.867,
1,
0,
4.7,
1
]
},
{
"Target": "Parameter",
"Id": "ParamEyeRSmile",
"Segments": [
0,
0,
0,
4.7,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallX",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
-0.02,
0.467,
-0.02,
1,
0.578,
-0.02,
0.689,
0,
0.8,
0,
1,
1.056,
0,
1.311,
0,
1.567,
0,
1,
1.767,
0,
1.967,
-0.131,
2.167,
-0.15,
1,
2.644,
-0.195,
3.122,
-0.2,
3.6,
-0.2,
1,
3.622,
-0.2,
3.644,
0.803,
3.667,
0.803,
0,
4.7,
0.803
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallY",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0.01,
0.467,
0.08,
1,
0.578,
0.13,
0.689,
0.21,
0.8,
0.21,
1,
1.056,
0.21,
1.311,
0.21,
1.567,
0.21,
1,
1.767,
0.21,
1.967,
0.08,
2.167,
0.08,
1,
2.644,
0.08,
3.122,
0.086,
3.6,
0.1,
1,
3.622,
0.101,
3.644,
0.794,
3.667,
0.794,
0,
4.7,
0.794
]
},
{
"Target": "Parameter",
"Id": "ParamBrowLForm",
"Segments": [
0,
0,
0,
4.7,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBrowRForm",
"Segments": [
0,
0,
0,
4.7,
0
]
},
{
"Target": "Parameter",
"Id": "ParamMouthForm",
"Segments": [
0,
1,
0,
4.7,
1
]
},
{
"Target": "Parameter",
"Id": "ParamMouthOpenY",
"Segments": [
0,
0,
0,
4.7,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleX",
"Segments": [
0,
-6,
1,
0.856,
-6,
1.711,
1,
2.567,
1,
1,
2.789,
1,
3.011,
1.145,
3.233,
0,
1,
3.467,
-1.202,
3.7,
-6,
3.933,
-6,
0,
4.7,
-6
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
7,
0.433,
7,
1,
0.611,
7,
0.789,
-4,
0.967,
-4,
1,
1.078,
-4,
1.189,
6,
1.3,
6,
1,
1.433,
6,
1.567,
-3,
1.7,
-3,
1,
1.789,
-3,
1.878,
-1.459,
1.967,
0,
1,
2.067,
1.642,
2.167,
3.47,
2.267,
4,
1,
2.367,
4.53,
2.467,
4.312,
2.567,
5,
1,
2.889,
7.215,
3.211,
10,
3.533,
10,
1,
3.667,
10,
3.8,
0,
3.933,
0,
1,
4.067,
0,
4.2,
0,
4.333,
0,
0,
4.7,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleZ",
"Segments": [
0,
0,
1,
0.822,
0,
1.644,
0,
2.467,
0,
1,
2.722,
0,
2.978,
5,
3.233,
5,
1,
3.489,
5,
3.744,
-5,
4,
-5,
1,
4.156,
-5,
4.311,
-3.976,
4.467,
-3.976,
0,
4.7,
-3.976
]
},
{
"Target": "Parameter",
"Id": "ParamBreath",
"Segments": [
0,
0,
0,
4.7,
0
]
},
{
"Target": "Parameter",
"Id": "ParamArmLA",
"Segments": [
0,
-10,
1,
0.178,
-10,
0.356,
-7,
0.533,
-7,
1,
0.7,
-7,
0.867,
-10,
1.033,
-10,
1,
1.2,
-10,
1.367,
-8,
1.533,
-8,
1,
1.611,
-8,
1.689,
-8.746,
1.767,
-9,
1,
2.011,
-9.797,
2.256,
-10,
2.5,
-10,
1,
2.556,
-10,
2.611,
-10,
2.667,
-10,
1,
2.789,
-10,
2.911,
-10,
3.033,
-10,
0,
4.7,
-10
]
},
{
"Target": "Parameter",
"Id": "ParamArmRA",
"Segments": [
0,
-10,
1,
0.178,
-10,
0.356,
-7,
0.533,
-7,
1,
0.7,
-7,
0.867,
-10,
1.033,
-10,
1,
1.2,
-10,
1.367,
-6,
1.533,
-6,
1,
1.611,
-6,
1.689,
-6.903,
1.767,
-7.5,
1,
2.011,
-9.377,
2.256,
-10,
2.5,
-10,
1,
2.567,
-10,
2.633,
-8.958,
2.7,
-8.958,
1,
2.811,
-8.958,
2.922,
-10,
3.033,
-10,
0,
4.7,
-10
]
},
{
"Target": "Parameter",
"Id": "ParamHairAhoge",
"Segments": [
0,
0,
1,
0.144,
0,
0.289,
10,
0.433,
10,
1,
0.578,
10,
0.722,
-10,
0.867,
-10,
1,
0.989,
-10,
1.111,
4,
1.233,
4,
1,
1.322,
4,
1.411,
2.767,
1.5,
0,
1,
1.611,
-3.459,
1.722,
-5.351,
1.833,
-5.351,
1,
1.922,
-5.351,
2.011,
1.661,
2.1,
1.661,
1,
2.233,
1.661,
2.367,
0,
2.5,
0,
1,
2.867,
0,
3.233,
10,
3.6,
10,
1,
3.722,
10,
3.844,
-10,
3.967,
-10,
1,
4.078,
-10,
4.189,
6,
4.3,
6,
1,
4.356,
6,
4.411,
0,
4.467,
0,
0,
4.7,
0
]
},
{
"Target": "PartOpacity",
"Id": "PartArmA",
"Segments": [
0,
1,
0,
4.7,
1
]
}
]
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,776 @@
{
"Version": 3,
"Meta": {
"Duration": 4.37,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": false,
"CurveCount": 22,
"TotalSegmentCount": 96,
"TotalPointCount": 266,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "ParamAngleX",
"Segments": [
0,
1,
1,
0.211,
1,
0.422,
0,
0.633,
0,
1,
0.911,
0,
1.189,
5,
1.467,
5,
1,
1.689,
5,
1.911,
-16,
2.133,
-16,
1,
2.356,
-16,
2.578,
7,
2.8,
7,
1,
2.956,
7,
3.111,
0,
3.267,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAngleY",
"Segments": [
0,
0,
1,
0.211,
0,
0.422,
0,
0.633,
0,
1,
0.911,
0,
1.189,
-25,
1.467,
-25,
1,
1.689,
-25,
1.911,
-11,
2.133,
-11,
1,
2.356,
-11,
2.578,
-13,
2.8,
-13,
1,
2.956,
-13,
3.111,
0,
3.267,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAngleZ",
"Segments": [
0,
0,
1,
0.222,
0,
0.444,
0,
0.667,
0,
1,
0.756,
0,
0.844,
-4,
0.933,
-4,
1,
1.122,
-4,
1.311,
18,
1.5,
18,
1,
1.722,
18,
1.944,
-14,
2.167,
-14,
1,
2.567,
-14,
2.967,
-14,
3.367,
-14,
1,
3.511,
-14,
3.656,
-12,
3.8,
-12,
0,
4.367,
-12
]
},
{
"Target": "Parameter",
"Id": "ParamCheek",
"Segments": [
0,
1,
0,
4.367,
1
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLOpen",
"Segments": [
0,
1.2,
1,
0.389,
1.2,
0.778,
1.148,
1.167,
1,
1,
1.211,
0.983,
1.256,
0,
1.3,
0,
1,
1.322,
0,
1.344,
0,
1.367,
0,
1,
1.422,
0,
1.478,
1,
1.533,
1,
1,
1.944,
1,
2.356,
1,
2.767,
1,
1,
2.811,
1,
2.856,
0,
2.9,
0,
1,
2.922,
0,
2.944,
0,
2.967,
0,
1,
3.022,
0,
3.078,
1,
3.133,
1,
0,
4.367,
1
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLSmile",
"Segments": [
0,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeROpen",
"Segments": [
0,
1.2,
1,
0.389,
1.2,
0.778,
1.148,
1.167,
1,
1,
1.211,
0.983,
1.256,
0,
1.3,
0,
1,
1.322,
0,
1.344,
0,
1.367,
0,
1,
1.422,
0,
1.478,
1,
1.533,
1,
1,
1.944,
1,
2.356,
1,
2.767,
1,
1,
2.811,
1,
2.856,
0,
2.9,
0,
1,
2.922,
0,
2.944,
0,
2.967,
0,
1,
3.022,
0,
3.078,
1,
3.133,
1,
0,
4.367,
1
]
},
{
"Target": "Parameter",
"Id": "ParamEyeRSmile",
"Segments": [
0,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallX",
"Segments": [
0,
0,
1,
0.211,
0,
0.422,
0,
0.633,
0,
1,
0.911,
0,
1.189,
-0.44,
1.467,
-0.44,
1,
1.689,
-0.44,
1.911,
0.79,
2.133,
0.79,
1,
2.511,
0.79,
2.889,
0,
3.267,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallY",
"Segments": [
0,
0,
1,
0.211,
0,
0.422,
0,
0.633,
0,
1,
0.911,
0,
1.189,
-1,
1.467,
-1,
1,
1.689,
-1,
1.911,
-1,
2.133,
-1,
1,
2.511,
-1,
2.889,
0,
3.267,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBrowLForm",
"Segments": [
0,
-0.729,
1,
0.544,
-0.729,
1.089,
-0.7,
1.633,
-0.7,
1,
1.722,
-0.7,
1.811,
-1,
1.9,
-1,
1,
2.122,
-1,
2.344,
-0.812,
2.567,
-0.812,
1,
2.867,
-0.812,
3.167,
-1,
3.467,
-1,
0,
4.367,
-1
]
},
{
"Target": "Parameter",
"Id": "ParamBrowRForm",
"Segments": [
0,
-0.75,
1,
0.544,
-0.75,
1.089,
-0.761,
1.633,
-0.8,
1,
1.722,
-0.806,
1.811,
-1,
1.9,
-1,
1,
2.122,
-1,
2.344,
-0.792,
2.567,
-0.792,
1,
2.867,
-0.792,
3.167,
-1,
3.467,
-1,
0,
4.367,
-1
]
},
{
"Target": "Parameter",
"Id": "ParamMouthForm",
"Segments": [
0,
-2,
0,
4.367,
-2
]
},
{
"Target": "Parameter",
"Id": "ParamMouthOpenY",
"Segments": [
0,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleX",
"Segments": [
0,
0,
1,
0.244,
0,
0.489,
0,
0.733,
0,
1,
0.933,
0,
1.133,
-7,
1.333,
-7,
1,
1.644,
-7,
1.956,
0,
2.267,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleY",
"Segments": [
0,
0,
1,
0.244,
0,
0.489,
0,
0.733,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleZ",
"Segments": [
0,
2,
1,
0.233,
2,
0.467,
0,
0.7,
0,
1,
0.733,
0,
0.767,
0,
0.8,
0,
1,
1,
0,
1.2,
-4,
1.4,
-4,
1,
1.711,
-4,
2.022,
5,
2.333,
5,
1,
2.567,
5,
2.8,
3.64,
3.033,
0,
1,
3.133,
-1.56,
3.233,
-3,
3.333,
-3,
1,
3.467,
-3,
3.6,
-2,
3.733,
-2,
0,
4.367,
-2
]
},
{
"Target": "Parameter",
"Id": "ParamBreath",
"Segments": [
0,
0,
1,
0.189,
0,
0.378,
1,
0.567,
1,
1,
0.711,
1,
0.856,
0,
1,
0,
1,
1.222,
0,
1.444,
1,
1.667,
1,
1,
1.889,
1,
2.111,
0,
2.333,
0,
1,
2.544,
0,
2.756,
1,
2.967,
1,
1,
3.167,
1,
3.367,
0,
3.567,
0,
0,
4.367,
0
]
},
{
"Target": "Parameter",
"Id": "ParamArmLA",
"Segments": [
0,
-10,
0,
4.367,
-10
]
},
{
"Target": "Parameter",
"Id": "ParamArmRA",
"Segments": [
0,
-10,
0,
4.367,
-10
]
},
{
"Target": "Parameter",
"Id": "ParamHairAhoge",
"Segments": [
0,
0,
1,
0.3,
0,
0.6,
0,
0.9,
-0.012,
1,
1.067,
-0.019,
1.233,
-6.827,
1.4,
-6.827,
1,
1.511,
-6.827,
1.622,
7.958,
1.733,
7.958,
1,
1.944,
7.958,
2.156,
-7.565,
2.367,
-7.565,
1,
2.5,
-7.565,
2.633,
9.434,
2.767,
9.434,
1,
2.978,
9.434,
3.189,
-8.871,
3.4,
-8.871,
1,
3.5,
-8.871,
3.6,
7.588,
3.7,
7.588,
1,
3.789,
7.588,
3.878,
-3.904,
3.967,
-3.904,
1,
4.011,
-3.904,
4.056,
-0.032,
4.1,
-0.032,
0,
4.367,
-0.032
]
},
{
"Target": "PartOpacity",
"Id": "PartArmA",
"Segments": [
0,
1,
0,
4.37,
1
]
}
]
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,727 @@
{
"Version": 3,
"Meta": {
"Duration": 1.9,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": false,
"CurveCount": 22,
"TotalSegmentCount": 89,
"TotalPointCount": 245,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "ParamAngleX",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAngleY",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamAngleZ",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.444,
0,
0.556,
8,
0.667,
8,
0,
1.9,
8
]
},
{
"Target": "Parameter",
"Id": "ParamCheek",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLOpen",
"Segments": [
0,
1,
1,
0.111,
1,
0.222,
1,
0.333,
1,
1,
0.378,
1,
0.422,
0,
0.467,
0,
1,
0.522,
0,
0.578,
1.2,
0.633,
1.2,
1,
0.744,
1.2,
0.856,
1.2,
0.967,
1.2,
1,
0.989,
1.2,
1.011,
0,
1.033,
0,
1,
1.067,
0,
1.1,
1.2,
1.133,
1.2,
1,
1.167,
1.2,
1.2,
1.2,
1.233,
1.2,
1,
1.267,
1.2,
1.3,
0,
1.333,
0,
1,
1.356,
0,
1.378,
1.2,
1.4,
1.2,
0,
1.9,
1.2
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLSmile",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeROpen",
"Segments": [
0,
1,
1,
0.111,
1,
0.222,
1,
0.333,
1,
1,
0.378,
1,
0.422,
0,
0.467,
0,
1,
0.522,
0,
0.578,
1.2,
0.633,
1.2,
1,
0.744,
1.2,
0.856,
1.2,
0.967,
1.2,
1,
0.989,
1.2,
1.011,
0,
1.033,
0,
1,
1.067,
0,
1.1,
1.2,
1.133,
1.2,
1,
1.167,
1.2,
1.2,
1.2,
1.233,
1.2,
1,
1.267,
1.2,
1.3,
0,
1.333,
0,
1,
1.356,
0,
1.378,
1.2,
1.4,
1.2,
0,
1.9,
1.2
]
},
{
"Target": "Parameter",
"Id": "ParamEyeRSmile",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.356,
0,
0.378,
0,
0.4,
0,
1,
0.489,
0,
0.578,
0,
0.667,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallX",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.356,
0,
0.378,
0,
0.4,
0,
1,
0.489,
0,
0.578,
0,
0.667,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallY",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.356,
0,
0.378,
0,
0.4,
0,
1,
0.489,
0,
0.578,
0,
0.667,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBrowLForm",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.356,
0,
0.378,
0,
0.4,
0,
1,
0.489,
0,
0.578,
0.33,
0.667,
0.33,
0,
1.9,
0.33
]
},
{
"Target": "Parameter",
"Id": "ParamBrowRForm",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.356,
0,
0.378,
0,
0.4,
0,
1,
0.489,
0,
0.578,
0.21,
0.667,
0.21,
0,
1.9,
0.21
]
},
{
"Target": "Parameter",
"Id": "ParamMouthForm",
"Segments": [
0,
1,
1,
0.111,
1,
0.222,
1,
0.333,
1,
1,
0.356,
1,
0.378,
1,
0.4,
1,
1,
0.489,
1,
0.578,
-2,
0.667,
-2,
0,
1.9,
-2
]
},
{
"Target": "Parameter",
"Id": "ParamMouthOpenY",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.356,
0,
0.378,
0,
0.4,
0,
1,
0.489,
0,
0.578,
0.75,
0.667,
0.75,
0,
1.9,
0.75
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleX",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.444,
0,
0.556,
-6,
0.667,
-6,
0,
1.9,
-6
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleY",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.422,
0,
0.511,
10,
0.6,
10,
1,
0.667,
10,
0.733,
-6,
0.8,
-6,
1,
0.833,
-6,
0.867,
5,
0.9,
5,
1,
1.011,
5,
1.122,
0,
1.233,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleZ",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.444,
0,
0.556,
-3,
0.667,
-3,
0,
1.9,
-3
]
},
{
"Target": "Parameter",
"Id": "ParamBreath",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
0,
1.9,
0
]
},
{
"Target": "Parameter",
"Id": "ParamArmLA",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.478,
0,
0.622,
-10,
0.767,
-10,
1,
0.811,
-10,
0.856,
-8.2,
0.9,
-8.2,
0,
1.9,
-8.2
]
},
{
"Target": "Parameter",
"Id": "ParamArmRA",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
0,
0.333,
0,
1,
0.478,
0,
0.622,
-10,
0.767,
-10,
1,
0.811,
-10,
0.856,
-7.2,
0.9,
-7.2,
0,
1.9,
-7.2
]
},
{
"Target": "Parameter",
"Id": "ParamHairAhoge",
"Segments": [
0,
0,
1,
0.111,
0,
0.222,
1.9,
0.333,
5.2,
1,
0.444,
8.5,
0.556,
9.926,
0.667,
9.926,
1,
0.744,
9.926,
0.822,
-10,
0.9,
-10,
1,
0.956,
-10,
1.011,
6,
1.067,
6,
1,
1.144,
6,
1.222,
-4,
1.3,
-4,
1,
1.367,
-4,
1.433,
0,
1.5,
0,
0,
1.9,
0
]
},
{
"Target": "PartOpacity",
"Id": "PartArmA",
"Segments": [
0,
1,
0,
1.9,
1
]
}
]
}

View File

@ -0,0 +1,874 @@
{
"Version": 3,
"Meta": {
"Duration": 1.6,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": false,
"CurveCount": 22,
"TotalSegmentCount": 110,
"TotalPointCount": 308,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "ParamAngleX",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.333,
0,
0.467,
-4,
0.6,
-4,
0,
1.6,
-4
]
},
{
"Target": "Parameter",
"Id": "ParamAngleY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.289,
0,
0.378,
-20,
0.467,
-20,
1,
0.522,
-20,
0.578,
2,
0.633,
2,
1,
0.667,
2,
0.7,
0,
0.733,
0,
1,
0.8,
0,
0.867,
0,
0.933,
0,
1,
1,
0,
1.067,
-21,
1.133,
-21,
1,
1.167,
-21,
1.2,
-17,
1.233,
-17,
0,
1.6,
-17
]
},
{
"Target": "Parameter",
"Id": "ParamAngleZ",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamCheek",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.356,
0,
0.511,
0,
0.667,
0,
1,
0.778,
0,
0.889,
1,
1,
1,
0,
1.6,
1
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLOpen",
"Segments": [
0,
1,
1,
0.067,
1,
0.133,
1,
0.2,
1,
1,
0.244,
1,
0.289,
1,
0.333,
1,
1,
0.378,
1,
0.422,
0,
0.467,
0,
1,
0.489,
0,
0.511,
0,
0.533,
0,
1,
0.578,
0,
0.622,
1,
0.667,
1,
1,
0.8,
1,
0.933,
1,
1.067,
1,
1,
1.122,
1,
1.178,
0.825,
1.233,
0.825,
0,
1.6,
0.825
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLSmile",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.544,
0,
0.889,
0,
1.233,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeROpen",
"Segments": [
0,
1,
1,
0.067,
1,
0.133,
1,
0.2,
1,
1,
0.244,
1,
0.289,
1,
0.333,
1,
1,
0.378,
1,
0.422,
0,
0.467,
0,
1,
0.489,
0,
0.511,
0,
0.533,
0,
1,
0.578,
0,
0.622,
0.996,
0.667,
1,
1,
0.8,
1.011,
0.933,
1.013,
1.067,
1.013,
1,
1.122,
1.013,
1.178,
0.8,
1.233,
0.8,
0,
1.6,
0.8
]
},
{
"Target": "Parameter",
"Id": "ParamEyeRSmile",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.322,
0,
0.444,
0,
0.567,
0,
1,
0.789,
0,
1.011,
0,
1.233,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallX",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.322,
0,
0.444,
0,
0.567,
0,
1,
0.789,
0,
1.011,
0,
1.233,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.322,
0,
0.444,
0,
0.567,
0,
1,
0.789,
0,
1.011,
0,
1.233,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBrowLForm",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.322,
0,
0.444,
-1,
0.567,
-1,
1,
0.789,
-1,
1.011,
-1,
1.233,
-1,
0,
1.6,
-1
]
},
{
"Target": "Parameter",
"Id": "ParamBrowRForm",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.322,
0,
0.444,
-1,
0.567,
-1,
1,
0.789,
-1,
1.011,
-1,
1.233,
-1,
0,
1.6,
-1
]
},
{
"Target": "Parameter",
"Id": "ParamMouthForm",
"Segments": [
0,
1,
1,
0.067,
1,
0.133,
1,
0.2,
1,
1,
0.322,
1,
0.444,
-2,
0.567,
-2,
1,
0.789,
-2,
1.011,
-2,
1.233,
-2,
0,
1.6,
-2
]
},
{
"Target": "Parameter",
"Id": "ParamMouthOpenY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.322,
0,
0.444,
1,
0.567,
1,
1,
0.656,
1,
0.744,
1,
0.833,
1,
1,
0.889,
1,
0.944,
1,
1,
1,
1,
1.044,
1,
1.089,
0,
1.133,
0,
1,
1.244,
0,
1.356,
0,
1.467,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleX",
"Segments": [
0,
0,
1,
0.156,
0,
0.311,
0,
0.467,
0,
1,
0.556,
0,
0.644,
-10,
0.733,
-10,
1,
0.833,
-10,
0.933,
-9,
1.033,
-9,
0,
1.6,
-9
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
-4,
0.433,
-4,
1,
0.522,
-4,
0.611,
5,
0.7,
5,
1,
0.789,
5,
0.878,
5,
0.967,
5,
1,
1.044,
5,
1.122,
-7,
1.2,
-7,
1,
1.267,
-7,
1.333,
0,
1.4,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleZ",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBreath",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
0,
1.6,
0
]
},
{
"Target": "Parameter",
"Id": "ParamArmLA",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.233,
0,
0.267,
0,
0.3,
0,
1,
0.367,
0,
0.433,
-4.5,
0.5,
-4.5,
1,
0.578,
-4.5,
0.656,
0.8,
0.733,
0.8,
1,
0.811,
0.8,
0.889,
-0.156,
0.967,
-0.6,
1,
1.011,
-0.854,
1.056,
-0.72,
1.1,
-1,
1,
1.167,
-1.42,
1.233,
-3.7,
1.3,
-3.7,
1,
1.356,
-3.7,
1.411,
-2.4,
1.467,
-2.4,
0,
1.6,
-2.4
]
},
{
"Target": "Parameter",
"Id": "ParamArmRA",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.233,
0,
0.267,
0,
0.3,
0,
1,
0.367,
0,
0.433,
-4.5,
0.5,
-4.5,
1,
0.578,
-4.5,
0.656,
2.2,
0.733,
2.2,
1,
0.811,
2.2,
0.889,
-0.749,
0.967,
-0.9,
1,
1.011,
-0.987,
1.056,
-0.921,
1.1,
-1,
1,
1.167,
-1.119,
1.233,
-3.6,
1.3,
-3.6,
1,
1.356,
-3.6,
1.411,
-1.8,
1.467,
-1.8,
0,
1.6,
-1.8
]
},
{
"Target": "Parameter",
"Id": "ParamHairAhoge",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.289,
0,
0.378,
6,
0.467,
6,
1,
0.5,
6,
0.533,
4,
0.567,
0,
1,
0.622,
-6.667,
0.678,
-10,
0.733,
-10,
1,
0.767,
-10,
0.8,
-6,
0.833,
-6,
1,
0.933,
-6,
1.033,
-10,
1.133,
-10,
1,
1.178,
-10,
1.222,
-2,
1.267,
-2,
1,
1.311,
-2,
1.356,
-9,
1.4,
-9,
0,
1.6,
-9
]
},
{
"Target": "PartOpacity",
"Id": "PartArmA",
"Segments": [
0,
1,
0,
1.6,
1
]
}
]
}

View File

@ -0,0 +1,755 @@
{
"Version": 3,
"Meta": {
"Duration": 4.17,
"Fps": 30.0,
"Loop": true,
"AreBeziersRestricted": false,
"CurveCount": 22,
"TotalSegmentCount": 93,
"TotalPointCount": 257,
"UserDataCount": 0,
"TotalUserDataSize": 0
},
"Curves": [
{
"Target": "Parameter",
"Id": "ParamAngleX",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.4,
0,
0.6,
0,
0.8,
0,
1,
1.067,
0,
1.333,
1.041,
1.6,
1.041,
1,
1.844,
1.041,
2.089,
-8,
2.333,
-8,
1,
2.656,
-8,
2.978,
6,
3.3,
6,
0,
4.167,
6
]
},
{
"Target": "Parameter",
"Id": "ParamAngleY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.344,
0,
0.489,
-30,
0.633,
-30,
0,
4.167,
-30
]
},
{
"Target": "Parameter",
"Id": "ParamAngleZ",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
0,
4.167,
0
]
},
{
"Target": "Parameter",
"Id": "ParamCheek",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
0,
4.167,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLOpen",
"Segments": [
0,
1,
1,
0.067,
1,
0.133,
1,
0.2,
1,
1,
0.311,
1,
0.422,
0.988,
0.533,
0.8,
1,
0.589,
0.706,
0.644,
0,
0.7,
0,
1,
0.722,
0,
0.744,
0,
0.767,
0,
1,
0.822,
0,
0.878,
0.8,
0.933,
0.8,
1,
1.422,
0.8,
1.911,
0.8,
2.4,
0.8,
1,
2.456,
0.8,
2.511,
0,
2.567,
0,
1,
2.589,
0,
2.611,
0,
2.633,
0,
1,
2.689,
0,
2.744,
0.8,
2.8,
0.8,
0,
4.167,
0.8
]
},
{
"Target": "Parameter",
"Id": "ParamEyeLSmile",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
0,
4.167,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeROpen",
"Segments": [
0,
1,
1,
0.067,
1,
0.133,
1,
0.2,
1,
1,
0.311,
1,
0.422,
0.988,
0.533,
0.8,
1,
0.589,
0.706,
0.644,
0,
0.7,
0,
1,
0.722,
0,
0.744,
0,
0.767,
0,
1,
0.822,
0,
0.878,
0.8,
0.933,
0.8,
1,
1.422,
0.8,
1.911,
0.8,
2.4,
0.8,
1,
2.456,
0.8,
2.511,
0,
2.567,
0,
1,
2.589,
0,
2.611,
0,
2.633,
0,
1,
2.689,
0,
2.744,
0.8,
2.8,
0.8,
0,
4.167,
0.8
]
},
{
"Target": "Parameter",
"Id": "ParamEyeRSmile",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
0,
0.433,
0,
0,
4.167,
0
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallX",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
0,
0.433,
0,
1,
0.667,
0,
0.9,
0.004,
1.133,
-0.01,
1,
1.4,
-0.025,
1.667,
-0.43,
1.933,
-0.43,
1,
2.211,
-0.43,
2.489,
0.283,
2.767,
0.283,
0,
4.167,
0.283
]
},
{
"Target": "Parameter",
"Id": "ParamEyeBallY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
-1,
0.433,
-1,
0,
4.167,
-1
]
},
{
"Target": "Parameter",
"Id": "ParamBrowLForm",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
-0.75,
0.433,
-0.75,
0,
4.167,
-0.75
]
},
{
"Target": "Parameter",
"Id": "ParamBrowRForm",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
-0.87,
0.433,
-0.87,
0,
4.167,
-0.87
]
},
{
"Target": "Parameter",
"Id": "ParamMouthForm",
"Segments": [
0,
1,
1,
0.067,
1,
0.133,
1,
0.2,
1,
1,
0.278,
1,
0.356,
-1,
0.433,
-1,
0,
4.167,
-1
]
},
{
"Target": "Parameter",
"Id": "ParamMouthOpenY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.278,
0,
0.356,
1,
0.433,
1,
0,
4.167,
1
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleX",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.444,
0,
0.689,
0,
0.933,
0,
1,
1.211,
0,
1.489,
0,
1.767,
0,
1,
2.056,
0,
2.344,
-6,
2.633,
-6,
1,
3.033,
-6,
3.433,
10,
3.833,
10,
0,
4.167,
10
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleY",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
0,
4.167,
0
]
},
{
"Target": "Parameter",
"Id": "ParamBodyAngleZ",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.8,
0,
1.4,
-2,
2,
-2,
1,
2.456,
-2,
2.911,
8.125,
3.367,
8.125,
0,
4.167,
8.125
]
},
{
"Target": "Parameter",
"Id": "ParamBreath",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
0,
4.167,
0
]
},
{
"Target": "Parameter",
"Id": "ParamArmLA",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.233,
0,
0.267,
0,
0.3,
0,
1,
0.478,
0,
0.656,
-10,
0.833,
-10,
1,
0.922,
-10,
1.011,
-8.846,
1.1,
-8.846,
1,
1.467,
-8.846,
1.833,
-8.835,
2.2,
-9.1,
1,
2.622,
-9.405,
3.044,
-10,
3.467,
-10,
0,
4.167,
-10
]
},
{
"Target": "Parameter",
"Id": "ParamArmRA",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.233,
0,
0.267,
0,
0.3,
0,
1,
0.478,
0,
0.656,
-10,
0.833,
-10,
1,
0.922,
-10,
1.011,
-8.972,
1.1,
-8.846,
1,
1.467,
-8.328,
1.833,
-8.2,
2.2,
-8.2,
1,
2.622,
-8.2,
3.044,
-10,
3.467,
-10,
0,
4.167,
-10
]
},
{
"Target": "Parameter",
"Id": "ParamHairAhoge",
"Segments": [
0,
0,
1,
0.067,
0,
0.133,
0,
0.2,
0,
1,
0.233,
0,
0.267,
-5,
0.3,
-5,
1,
0.378,
-5,
0.456,
10,
0.533,
10,
1,
0.633,
10,
0.733,
4,
0.833,
4,
0,
4.167,
4
]
},
{
"Target": "PartOpacity",
"Id": "PartArmA",
"Segments": [
0,
1,
0,
4.17,
1
]
}
]
}

1339
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

18
package.json Normal file
View File

@ -0,0 +1,18 @@
{
"name": "vue3_cli_default",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "vite build",
"serve": "vite preview"
},
"dependencies": {
"easy-live2d": "^0.4.0-1",
"vue": "^3.2.8"
},
"devDependencies": {
"@vitejs/plugin-vue": "^1.6.0",
"@vue/compiler-sfc": "^3.2.6",
"vite": "^2.5.2"
}
}

View File

@ -0,0 +1,364 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## 2025-04-24
### Added
* Add the function `csmGetParameterRepeats`.
* This function retrieves whether the parameters are set to repeat.
### Changed
* Upgrade Core version to 05.01.0000.
### Fixed
* Fix `csmGetParameterKeyCounts()` and `csmGetParameterKeyValues()` symbols in the DLL.
## 2024-12-19
### Removed
* [Native] Remove Visual Studio 2013 (MSVC 120) static library.
## 2024-11-07
### Added
* [Native] Add experimental support `arm64` library for linux.
### Removed
* [Unity,Native,Java] Remove Android ARM v7 library.
## 2024-04-04
### Added
* [Unity] Add library(.so) for HarmonyOS build.
## 2024-03-26
### Remove
* [Unity] Remove built with Emscripten 1.38.48.
* Unity 2021.2 or later uses only Core under `Assets/Live2D/Cubism/Plugins/Experimental/Emscripten/latest`.
## 2023-09-28
### Remove
* Remove bitcode from IOS build.
## 2023-08-17
### Added
* Enhance Blend Shape features.
* Please see [here](https://docs.live2d.com/en/cubism-editor-manual/blend-shape/).
### Changed
* Upgrade Core version to 05.00.0000.
## 2023-05-09
### Changed
* Change the GCC version of the library for Linux from 6.5.0 to 8.3.0.
## 2023-03-16
### Fixed
* Fix a case in which the index of the mask's drawable object was negative value for `csmGetDrawableMasks()`.
* Fix a problem in which `csmHasMocConsistency()` was returned as 0 even though the MOC3 file was in the correct format.
* This problem was occurring in some models using the blendshape weight limit settings.
* Fix a problem that could cause a crash if a MOC3 file that is not in the correct format is loaded with `csmHasMocConsistency()`.
### Changed
* Upgrade Core version to 04.02.0004.
## 2023-03-10
### Added
* Add the function `csmHasMocConsistency`.
* This function verifies that the `MOC3` file is valid.
### Changed
* Upgrade Core version to 04.02.0003.
## 2023-02-21
### Added
* [Web] Added classes related to `Memory`.
* Add the funciton `initializeAmountOfMemory()` to adjust the amount of memory at initialization.
## 2022-10-28
### Fixed
* [Java] Remove unnecessary methods.
## 2022-10-06
### Added
* [Java] Add AAR file for Android.
## 2022-09-08
### Added
* Add the multilingual supported documents.
* Support Visual Studio 2022.
## 2022-08-04
### Fixed
* [Web] Fix `csmGetMocVersion` function argument.
## 2022-07-07
### Added
* Add functions
* `csmGetParameterTypes`
* `csmGetDrawableParentPartIndices`
* Add type `csmMocVersion` and enum. This type is the return value of `csmGetMocVersion`, `csmGetLatestMocVersion`.
### Changed
* Upgrade Core version to 04.02.0002.
## 2022-06-02
### Changed
* Upgrade Core version to 04.02.0001.
### Fixed
* Fixed a bug that caused Multiply Color / Screen Color of different objects to be applied.
## 2022-05-19
### Added
* Support new Multiply Color / Screen Color features.
* Support new Blend Shape features.
### Changed
* Upgrade Core version to 04.02.0000. This upgrade is following Cubism Editor 4.2 features.
## 2022-02-10
### Added
* [Unity] Add bitcode library(.bc) for Emscripten latest version build.
### Changed
* [Unity] Change the bitcode file directory location.
* emsdk latest version build bitcode file in `latest` directory.
* emsdk 1.38.48 build bitcode file in `1_38_48` directory.
## 2021-12-09
### Added
* Add static library(.a) for Mac Catalyst.
## 2021-10-07
### Added
* Add `x86_64` library for Android.
* Add `arm64` library for macOS.
## 2021-03-09
### Added
* Add funtcions for Viewer.
* `csmGetParameterKeyCounts`
* `csmGetParameterKeyValues`
### Changed
* Update Core version to `04.01.0000`.
## 2020-01-30
### Added
* Add static library(.lib) for statically linking DLL.
* Add symbol file for Windows dynamic library (dll).
## 2019-11-19
### Fixed
* Fix linking static libraries for Windows (.lib).
## 2019-11-14
### Added
* Support Visual Studio 2019.
* Support macOS dynamic library (dylib).
### Changed
* Update Windows dynamic library: Use Visual Studio 2019 for building.
### Security
* Bundle certificate and notary ticket to macOS shared library.
## 2019-09-04
### Added
* Support new Inverted Masking features.
* Support ARM64 architecture for Universal Windows Platform.
### Changed
* Upgrade Core version to 04.00.0000 (67108864). This upgrade is following Cubism Editor 4.0 features.
* Add calling convention for *Windows/x86 DLL* only.
### Removed
* Remove bitcode binary due to suspension of *Cubism Bindings.*
## 2019-04-09
### Added
* Support Universal Windows Platform for Windows Store Application.
## 2019-01-31
### Added
* Add API to get the parent part of the specified part.
* Add API to get moc3 version.
## 2018-12-20
### Added
* [Native] Add new function: `csmGetPartParentPartIndices`.
* [Native, 3.3 Support] Support new Warp Deformer features.
### Changed
* Upgrade Core version to 03.03.0000 (50528256). This upgrade is following Cubism Editor 3.3 features.
## 2018-08-22
### Added
* [Native] Add support for Neon.
## 2018-05-14
### Added
* [Native] Add Windows **Visual C++ 2013** library.
* [Windows] Add runtime library choice `MT`, `MD`, `MTd`, `MDd`.
* [iOS] Add support for iPhone Simulator SDK.
### Fixed
* Fix an error occurred when linking libraries for Android `arm64-v8a`.
## 2017-11-17
### Fixed
* Fix processing of vertex index.
## 2017-10-05
### Added
* Provide bitcode for iOS.
## 2017-08-09
### Added
* [Native] Add Android *arm64-v8a* ABI library.
### Fixed
* Fix drawing order in certain scenarios.
## 2017-07-12
### Added
* Add experimental support for Emscripten.
* Add `CHANGELOG.md`.
### Fixed
* Fix access violation in certain scenarios.
* Fix update result in certain scenarios.
## 2017-05-02
### Added
* [Native] Add experimental support for Raspberry PI.
* Add `README.md`.

View File

@ -0,0 +1,7 @@
## Live2D Proprietary Software License
Live2D Cubism Core is available under Live2D Proprietary Software License.
* [Live2D Proprietary Software License Agreement](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html)
* [Live2D Proprietary Software 使用許諾契約書](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_jp.html)
* [Live2D Proprietary Software 使用授权协议](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_cn.html)

View File

@ -0,0 +1,30 @@
[English](README.md) / [日本語](README.ja.md)
---
# Live2D Cubism Core
このフォルダーには、JavaScriptまたはTypeScriptアプリケーションを開発するためのコアライブラリファイルが含まれています。
## ファイルリスト
### live2dcubismcore.d.ts
このファイルには、`live2dcubismcore.js`に関するTypeScriptの型情報が含まれています。
TypeScriptで開発する場合は、このファイルを`live2dcubismcore.js`とともに使用してください。
### live2dcubismcore.js
このファイルには、CubismCoreの機能といくつかのラッパーが含まれています。
JavaScriptで開発する場合は、このファイルを使用してください。
### live2dcubismcore.js.map
このファイルは、`live2dcubismcore.d.ts`と`live2dcubismcore.js`の間のソースマップです。
デバッグ時にこのファイルを使用します。
### live2dcubismcore.min.js
このファイルは、`live2dcubismcore.js`のminify版です。
このファイルを本番環境で使用します。

View File

@ -0,0 +1,30 @@
[English](README.md) / [日本語](README.ja.md)
---
# Live2D Cubism Core
This folder contains core library files for developing JavaScript or TypeScript applications.
## File List
### live2dcubismcore.d.ts
This file contains typescript type information about `live2dcubismcore.js`.
Use this file with `live2dcubismcore.js` when developing with TypeScript.
### live2dcubismcore.js
This file contains Cubism Core features and some wrapper features.
Use this file when developing with JavaScript.
### live2dcubismcore.js.map
This file is the source map between `live2dcubismcore.d.ts` and `live2dcubismcore.js`.
Use this file when debugging.
### live2dcubismcore.min.js
This file is the minified version of `live2dcubismcore.js`.
Use this file in production.

View File

@ -0,0 +1,6 @@
The following is a list of files available for redistribution
under the terms of the Live2D Proprietary Software License Agreement:
- live2dcubismcore.d.ts
- live2dcubismcore.js
- live2dcubismcore.min.js

View File

@ -0,0 +1,369 @@
/**
* Copyright(c) Live2D Inc. All rights reserved.
*
* Use of this source code is governed by the Live2D Proprietary Software license
* that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html.
*/
declare namespace Live2DCubismCore {
/** Cubism version identifier. */
type csmVersion = number;
/** moc3 version identifier. */
type csmMocVersion = number;
/** Parameter type identifier. */
type csmParameterType = number;
/** Necessary alignment for mocs (in bytes). */
const AlignofMoc: number;
/** Necessary alignment for models (in bytes). */
const AlignofModel: number;
/** .moc3 file version Unknown */
const MocVersion_Unknown: number;
/** .moc3 file version 3.0.00 - 3.2.07 */
const MocVersion_30: number;
/** .moc3 file version 3.3.00 - 3.3.03 */
const MocVersion_33: number;
/** .moc3 file version 4.0.00 - 4.1.05 */
const MocVersion_40: number;
/** .moc3 file version 4.2.00 - 4.2.04 */
const MocVersion_42: number;
/** .moc3 file version 5.0.00 - */
const MocVersion_50: number;
/** Normal Parameter. */
const ParameterType_Normal: number;
/** Parameter for blend shape. */
const ParameterType_BlendShape: number;
/** Log handler.
*
* @param message Null-terminated string message to log.
*/
interface csmLogFunction {
(message: string): void;
}
/** Cubism version. */
class Version {
/**
* Queries Core version.
*
* @return Core version.
*/
static csmGetVersion(): csmVersion;
/**
* Gets Moc file supported latest version.
*
* @return Moc file latest format version.
*/
static csmGetLatestMocVersion(): csmMocVersion;
/**
* Gets Moc file format version.
*
* @param moc Moc
*
* @return csmMocVersion
*/
static csmGetMocVersion(moc: Moc, mocBytes: ArrayBuffer): csmMocVersion;
private constructor();
}
/** Cubism logging. */
class Logging {
private static logFunction;
/**
* Sets log handler.
*
* @param handler Handler to use.
*/
static csmSetLogFunction(handler: csmLogFunction): void;
/**
* Queries log handler.
*
* @return Log handler.
*/
static csmGetLogFunction(): csmLogFunction;
/**
* Wrap log function.
*
* @param messagePtr number
*
* @return string
*/
private static wrapLogFunction;
private constructor();
}
/** Cubism moc. */
class Moc {
/**
* Checks consistency of a moc.
*
* @param mocBytes Moc bytes.
*
* @returns '1' if Moc is valid; '0' otherwise.
*/
hasMocConsistency(mocBytes: ArrayBuffer): number;
/** Creates [[Moc]] from [[ArrayBuffer]].
*
* @param buffer Array buffer
*
* @return [[Moc]] on success; [[null]] otherwise.
*/
static fromArrayBuffer(buffer: ArrayBuffer): Moc;
/** Releases instance. */
_release(): void;
/** Native moc. */
_ptr: number;
/**
* Initializes instance.
*
* @param mocBytes Moc bytes.
*/
private constructor();
}
/** Cubism model. */
class Model {
/** Parameters. */
parameters: Parameters;
/** Parts. */
parts: Parts;
/** Drawables. */
drawables: Drawables;
/** Canvas information. */
canvasinfo: CanvasInfo;
/**
* Creates [[Model]] from [[Moc]].
*
* @param moc Moc
*
* @return [[Model]] on success; [[null]] otherwise.
*/
static fromMoc(moc: Moc): Model;
/** Updates instance. */
update(): void;
/** Releases instance. */
release(): void;
/** Native model. */
_ptr: number;
/**
* Initializes instance.
*
* @param moc Moc
*/
private constructor();
}
/** Canvas information interface. */
class CanvasInfo {
/** Width of native model canvas. */
CanvasWidth: number;
/** Height of native model canvas. */
CanvasHeight: number;
/** Coordinate origin of X axis. */
CanvasOriginX: number;
/** Coordinate origin of Y axis. */
CanvasOriginY: number;
/** Pixels per unit of native model. */
PixelsPerUnit: number;
/**
* Initializes instance.
*
* @param modelPtr Native model pointer.
*/
constructor(modelPtr: number);
}
/** Cubism model parameters */
class Parameters {
/** Parameter count. */
count: number;
/** Parameter IDs. */
ids: Array<string>;
/** Minimum parameter values. */
minimumValues: Float32Array;
/** Parameter types. */
types: Int32Array;
/** Maximum parameter values. */
maximumValues: Float32Array;
/** Default parameter values. */
defaultValues: Float32Array;
/** Parameter values. */
values: Float32Array;
/** Parameter Repeat informations. */
repeats: Int32Array;
/** Number of key values of each parameter. */
keyCounts: Int32Array;
/** Key values of each parameter. */
keyValues: Array<Float32Array>;
/**
* Initializes instance.
*
* @param modelPtr Native model.
*/
constructor(modelPtr: number);
}
/** Cubism model parts */
class Parts {
/** Part count. */
count: number;
/** Part IDs. */
ids: Array<string>;
/** Opacity values. */
opacities: Float32Array;
/** Part's parent part indices. */
parentIndices: Int32Array;
/**
* Initializes instance.
*
* @param modelPtr Native model.
*/
constructor(modelPtr: number);
}
/** Cubism model drawables */
class Drawables {
/** Drawable count. */
count: number;
/** Drawable IDs. */
ids: Array<string>;
/** Constant drawable flags. */
constantFlags: Uint8Array;
/** Dynamic drawable flags. */
dynamicFlags: Uint8Array;
/** Drawable texture indices. */
textureIndices: Int32Array;
/** Drawable draw orders. */
drawOrders: Int32Array;
/** Drawable render orders. */
renderOrders: Int32Array;
/** Drawable opacities. */
opacities: Float32Array;
/** Mask count for each drawable. */
maskCounts: Int32Array;
/** Masks for each drawable. */
masks: Array<Int32Array>;
/** Number of vertices of each drawable. */
vertexCounts: Int32Array;
/** 2D vertex position data of each drawable. */
vertexPositions: Array<Float32Array>;
/** 2D texture coordinate data of each drawables. */
vertexUvs: Array<Float32Array>;
/** Number of triangle indices for each drawable. */
indexCounts: Int32Array;
/** Triangle index data for each drawable. */
indices: Array<Uint16Array>;
/** Information multiply color. */
multiplyColors: Float32Array;
/** Information Screen color. */
screenColors: Float32Array;
/** Indices of drawables parent part. */
parentPartIndices: Int32Array;
/** Resets all dynamic drawable flags.. */
resetDynamicFlags(): void;
/** Native model. */
private _modelPtr;
/**
* Initializes instance.
*
* @param modelPtr Native model.
*/
constructor(modelPtr: number);
}
/** Utility functions. */
class Utils {
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasBlendAdditiveBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasBlendMultiplicativeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasIsDoubleSidedBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasIsInvertedMaskBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasIsVisibleBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasVisibilityDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasOpacityDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasDrawOrderDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasRenderOrderDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasVertexPositionsDidChangeBit(bitfield: number): boolean;
/**
* Checks whether flag is set in bitfield.
*
* @param bitfield Bitfield to query against.
*
* @return [[true]] if bit set; [[false]] otherwise
*/
static hasBlendColorDidChangeBit(bitfield: number): boolean;
}
/** Memory functions. */
class Memory {
/**
* HACK:
* Extend memory size allocated during module initialization.
* If the specified size is less than or equal to 16777216(byte), the default of 16 MB is allocated.
*
* @see https://github.com/emscripten-core/emscripten/blob/main/src/settings.js#L161
*
* @param size allocated memory size [byte(s)]
*/
static initializeAmountOfMemory(size: number): void;
private constructor();
}
/** Emscripten Cubism Core module. */
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

115
src/App.vue Normal file
View File

@ -0,0 +1,115 @@
<script setup lang="ts">
import { onMounted, onUnmounted, ref } from 'vue'
import { Config, Live2DSprite, LogLevel, Priority } from 'easy-live2d'
import { Application, Ticker } from 'pixi.js'
import { initDevtools } from '@pixi/devtools'
const canvasRef = ref<HTMLCanvasElement>()
const app = new Application()
// Config
Config.MotionGroupIdle = 'Idle' //
Config.MouseFollow = true //
Config.CubismLoggingLevel = LogLevel.LogLevel_Off //
const x=ref(30)
const y=ref(0)
const wavFile=ref('/wav/introduce_self.wav')
///models/hiyori_free_t08/hiyori_free_t08.model3.json
const model=ref('models/UG/ugofficial.model3.json')
// // Live2D
const live2DSprite = new Live2DSprite()
live2DSprite.init({
modelPath: model.value,
ticker: Ticker.shared
});
//
live2DSprite.onLive2D('hit', ({ hitAreaName, x, y }) => {
console.log('hit', hitAreaName, x, y);
})
onMounted(async () => {
//
await app.init({
view: canvasRef.value,
backgroundAlpha: 0, // alpha0
})
if (canvasRef.value) {
// Live2D
live2DSprite.x = x.value
live2DSprite.y = y.value
live2DSprite.width = canvasRef.value.clientWidth * window.devicePixelRatio
live2DSprite.height = canvasRef.value.clientHeight * window.devicePixelRatio-200
app.stage.addChild(live2DSprite);
//
live2DSprite.setExpression({
expressionId: '4OAO',//normal
})
//
live2DSprite.playVoice({
// wav
voicePath: wavFile.value,
})
//
// live2DSprite.stopVoice()
setTimeout(() => {
//
live2DSprite.playVoice({
voicePath: wavFile.value,
immediate: true // : true
})
}, 10000)
//
live2DSprite.startMotion({
group: '4OAO',
no: 0,
priority: 3,
})
}
})
onUnmounted(() => {
//
live2DSprite.destroy()
})
</script>
<template>
<div class="test">
</div>
<canvas
ref="canvasRef"
id="live2d"
/>
</template>
<style>
#live2d {
position: absolute;
top: 0%;
right: 0%;
width: 100%;
height: 100%;
}
.test {
display: inline-block;
position: absolute;
width: 100%;
height: 70%;
background-color: pink;
}
</style>

BIN
src/assets/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@ -0,0 +1,38 @@
<script setup>
import { ref } from 'vue'
defineProps({
msg: String
})
const count = ref(0)
</script>
<template>
<h1>{{ msg }}</h1>
<p>
Welcome:
<a href="https://hx.dcloud.net.cn/" target="_blank">HBuilderX</a>
</p>
<p>
<a href="https://vitejs.dev/guide/features.html" target="_blank">
Vite Documentation
</a>
|
<a href="https://v3.vuejs.org/" target="_blank">Vue 3 Documentation</a>
</p>
<button type="button" @click="count++">count is: {{ count }}</button>
<p>
Edit
<code>components/HelloWorld.vue</code> to test hot module replacement.
</p>
</template>
<style scoped>
a {
color: #42b983;
}
</style>

4
src/main.js Normal file
View File

@ -0,0 +1,4 @@
import { createApp } from 'vue'
import App from './App.vue'
createApp(App).mount('#app')

7
vite.config.js Normal file
View File

@ -0,0 +1,7 @@
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()]
})

BIN
wav/introduce_self.wav Normal file

Binary file not shown.