feat(pets): replace static cats with Live2D LittleCat model (black texture)

- Copied LittleCat model files to frontend/public/live2d/models/little-cat/
- Using the black alternate texture as default
- Created Live2DCat component that renders the model in a small canvas
- PetZone now shows a single Live2D cat instead of two SVG cats
This commit is contained in:
2026-06-05 12:55:24 -04:00
parent 15199dfdee
commit 017c81cffa
22 changed files with 2040 additions and 69 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 KiB

@@ -0,0 +1,271 @@
{
"Version": 3,
"Parameters": [
{
"Id": "ParamAngleX",
"GroupId": "",
"Name": "Angle X"
},
{
"Id": "ParamAngleY",
"GroupId": "",
"Name": "Angle Y"
},
{
"Id": "ParamAngleZ",
"GroupId": "",
"Name": "Angle Z"
},
{
"Id": "ParamEyeLOpen",
"GroupId": "",
"Name": "EyeL Open"
},
{
"Id": "ParamEyeLSmile",
"GroupId": "",
"Name": "EyeL Smile"
},
{
"Id": "ParamEyeROpen",
"GroupId": "",
"Name": "EyeR Open"
},
{
"Id": "ParamEyeRSmile",
"GroupId": "",
"Name": "EyeR Smile"
},
{
"Id": "ParamEyeBallX",
"GroupId": "",
"Name": "Eyeball X"
},
{
"Id": "ParamEyeBallY",
"GroupId": "",
"Name": "Eyeball Y"
},
{
"Id": "ParamBrowLY",
"GroupId": "",
"Name": "BrowL Y"
},
{
"Id": "ParamBrowRY",
"GroupId": "",
"Name": "BrowR Y"
},
{
"Id": "ParamBrowLX",
"GroupId": "",
"Name": "BrowL X"
},
{
"Id": "ParamBrowRX",
"GroupId": "",
"Name": "BrowR X"
},
{
"Id": "ParamBrowLAngle",
"GroupId": "",
"Name": "BrowL Angle"
},
{
"Id": "ParamBrowRAngle",
"GroupId": "",
"Name": "BrowR Angle"
},
{
"Id": "ParamBrowLForm",
"GroupId": "",
"Name": "BrowL Form"
},
{
"Id": "ParamBrowRForm",
"GroupId": "",
"Name": "BrowR Form"
},
{
"Id": "ParamMouthForm",
"GroupId": "",
"Name": "Mouth Form"
},
{
"Id": "ParamMouthOpenY",
"GroupId": "",
"Name": "Mouth Open"
},
{
"Id": "ParamCheek",
"GroupId": "",
"Name": "Cheek"
},
{
"Id": "ParamBodyAngleX",
"GroupId": "",
"Name": "Body X"
},
{
"Id": "ParamBodyAngleY",
"GroupId": "",
"Name": "Body Y"
},
{
"Id": "ParamBodyAngleZ",
"GroupId": "",
"Name": "Body Z"
},
{
"Id": "ParamBreath",
"GroupId": "",
"Name": "Breathing"
},
{
"Id": "ParamArms",
"GroupId": "",
"Name": "Arms"
},
{
"Id": "Param_Angle_Rotation2",
"GroupId": "ParamGroup",
"Name": "[0]tail wiggle"
},
{
"Id": "Param_Angle_Rotation3",
"GroupId": "ParamGroup",
"Name": "[1]tail wiggle"
},
{
"Id": "Param_Angle_Rotation4",
"GroupId": "ParamGroup",
"Name": "[2]tail wiggle"
},
{
"Id": "Param_Angle_Rotation5",
"GroupId": "ParamGroup",
"Name": "[3]tail wiggle"
},
{
"Id": "Param_Angle_Rotation6",
"GroupId": "ParamGroup",
"Name": "[4]tail wiggle"
},
{
"Id": "Param_Angle_Rotation7",
"GroupId": "ParamGroup",
"Name": "[5]tail wiggle"
},
{
"Id": "Param_Angle_Rotation10",
"GroupId": "ParamGroup2",
"Name": "[0]ear L wiggle"
},
{
"Id": "Param_Angle_Rotation11",
"GroupId": "ParamGroup2",
"Name": "[1]ear L wiggle"
},
{
"Id": "Param_Angle_Rotation12",
"GroupId": "ParamGroup3",
"Name": "[0]ear R wiggle"
},
{
"Id": "Param_Angle_Rotation13",
"GroupId": "ParamGroup3",
"Name": "[1]ear R wiggle"
}
],
"ParameterGroups": [
{
"Id": "ParamGroup",
"GroupId": "",
"Name": "tail wiggle"
},
{
"Id": "ParamGroup2",
"GroupId": "",
"Name": "ear L wiggle"
},
{
"Id": "ParamGroup3",
"GroupId": "",
"Name": "ear L wiggle"
}
],
"Parts": [
{
"Id": "Part",
"Name": "ear L"
},
{
"Id": "headfolder",
"Name": "head"
},
{
"Id": "Part3",
"Name": "ear R"
},
{
"Id": "tail_Skinning",
"Name": "tail(Skinning)"
},
{
"Id": "PartSketch0",
"Name": "[ Guide Image]"
},
{
"Id": "ArtMesh_Skinning2",
"Name": "inner ear L(Skinning)"
},
{
"Id": "ArtMesh_Skinning",
"Name": "inner ear L(Skinning)"
},
{
"Id": "ArtMesh0_Skinning2",
"Name": "ear L(Skinning)"
},
{
"Id": "ArtMesh0_Skinning",
"Name": "ear L(Skinning)"
},
{
"Id": "face",
"Name": "face"
},
{
"Id": "ArtMesh4_Skinning2",
"Name": "inner ear R(Skinning)"
},
{
"Id": "ArtMesh4_Skinning",
"Name": "inner ear R(Skinning)"
},
{
"Id": "ArtMesh5_Skinning2",
"Name": "ear R(Skinning)"
},
{
"Id": "ArtMesh5_Skinning",
"Name": "ear R(Skinning)"
},
{
"Id": "mouth",
"Name": "mouth"
},
{
"Id": "base",
"Name": "base"
},
{
"Id": "open",
"Name": "open"
},
{
"Id": "Part2",
"Name": "inner mouth"
}
]
}
Binary file not shown.
@@ -0,0 +1,29 @@
{
"Version": 3,
"FileReferences": {
"Moc": "LittleCat.moc3",
"Textures": [
"LittleCat.2048/texture_00.png"
],
"Physics": "LittleCat.physics3.json",
"DisplayInfo": "LittleCat.cdi3.json"
},
"Groups": [
{
"Target": "Parameter",
"Name": "EyeBlink",
"Ids": [
"ParamEyeLOpen",
"ParamEyeROpen"
]
},
{
"Target": "Parameter",
"Name": "LipSync",
"Ids": [
"ParamMouthForm",
"ParamMouthOpenY"
]
}
]
}
@@ -0,0 +1,451 @@
{
"Version": 3,
"Meta": {
"PhysicsSettingCount": 3,
"TotalInputCount": 8,
"TotalOutputCount": 11,
"VertexCount": 16,
"EffectiveForces": {
"Gravity": {
"X": 0,
"Y": -1
},
"Wind": {
"X": 0,
"Y": 0
}
},
"PhysicsDictionary": [
{
"Id": "PhysicsSetting1",
"Name": "tail wiggle"
},
{
"Id": "PhysicsSetting2",
"Name": "ear wiggle"
},
{
"Id": "PhysicsSetting3",
"Name": "arms"
}
]
},
"PhysicsSettings": [
{
"Id": "PhysicsSetting1",
"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": "Param_Angle_Rotation2"
},
"VertexIndex": 1,
"Scale": 33.072,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "Param_Angle_Rotation3"
},
"VertexIndex": 2,
"Scale": 33.978,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "Param_Angle_Rotation4"
},
"VertexIndex": 3,
"Scale": 34.41,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "Param_Angle_Rotation5"
},
"VertexIndex": 4,
"Scale": 32.674,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "Param_Angle_Rotation6"
},
"VertexIndex": 5,
"Scale": 27.941,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "Param_Angle_Rotation7"
},
"VertexIndex": 6,
"Scale": 24.302,
"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.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 20
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 30
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 40
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 50
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 60
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 70
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 80
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 90
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 100
},
"Mobility": 0.85,
"Delay": 0.85,
"Acceleration": 1.2,
"Radius": 10
}
],
"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": "Param_Angle_Rotation10"
},
"VertexIndex": 1,
"Scale": 7.857,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "Param_Angle_Rotation11"
},
"VertexIndex": 2,
"Scale": 8.996,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "Param_Angle_Rotation12"
},
"VertexIndex": 1,
"Scale": 7.857,
"Weight": 100,
"Type": "Angle",
"Reflect": false
},
{
"Destination": {
"Target": "Parameter",
"Id": "Param_Angle_Rotation13"
},
"VertexIndex": 2,
"Scale": 8.996,
"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.97,
"Delay": 0.8,
"Acceleration": 0.5,
"Radius": 10
},
{
"Position": {
"X": 0,
"Y": 18
},
"Mobility": 0.95,
"Delay": 0.8,
"Acceleration": 0.8,
"Radius": 8
}
],
"Normalization": {
"Position": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
},
"Angle": {
"Minimum": -10,
"Default": 0,
"Maximum": 10
}
}
},
{
"Id": "PhysicsSetting3",
"Input": [
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleY"
},
"Weight": 100,
"Type": "X",
"Reflect": false
},
{
"Source": {
"Target": "Parameter",
"Id": "ParamBodyAngleZ"
},
"Weight": 100,
"Type": "Angle",
"Reflect": false
}
],
"Output": [
{
"Destination": {
"Target": "Parameter",
"Id": "ParamArms"
},
"VertexIndex": 1,
"Scale": 32.201,
"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
}
}
}
]
}
@@ -0,0 +1,427 @@
{
"Version": 1,
"Name": "LittleCat",
"ModelID": "bf2854026f4a4fa9a83f3afb6d1a4adb",
"FileReferences": {
"Icon": "LittleCatIcon.png",
"Model": "LittleCat.model3.json",
"IdleAnimation": "",
"IdleAnimationWhenTrackingLost": ""
},
"ModelSaveMetadata": {
"LastSavedVTubeStudioVersion": "1.17.0",
"LastSavedPlatform": "Steam",
"LastSavedDateUTC": "Monday, 07 March 2022, 21:52:21",
"LastSavedDateLocalTime": "Monday, 07 March 2022, 15:52:21",
"LastSavedDateUnixMillisecondTimestamp": "1646689941624"
},
"SavedModelPosition": {
"Position": {
"x": -2.444459915161133,
"y": -8.444442749023438,
"z": 0.0
},
"Rotation": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"w": 1.0
},
"Scale": {
"x": 0.5478765368461609,
"y": 0.5478765368461609,
"z": 1.0
}
},
"ModelPositionMovement": {
"Use": false,
"X": 6,
"Y": 8,
"Z": 11,
"SmoothingX": 10,
"SmoothingY": 10,
"SmoothingZ": 10
},
"PhysicsSettings": {
"Use": true,
"UseLegacyPhysics": false,
"Live2DPhysicsFPS": 3,
"PhysicsStrength": 50,
"WindStrength": 0
},
"GeneralSettings": {
"TimeUntilTrackingLostIdleAnimation": 0.0
},
"ParameterSettings": [
{
"Name": "Face Left/Right Rotation",
"Input": "FaceAngleX",
"InputRangeLower": -30.0,
"InputRangeUpper": 30.0,
"OutputRangeLower": -30.0,
"OutputRangeUpper": 30.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamAngleX",
"Smoothing": 15,
"Minimized": false
},
{
"Name": "Face Up/Down Rotation",
"Input": "FaceAngleY",
"InputRangeLower": -20.0,
"InputRangeUpper": 20.0,
"OutputRangeLower": -30.0,
"OutputRangeUpper": 30.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamAngleY",
"Smoothing": 15,
"Minimized": false
},
{
"Name": "Face Lean Rotation",
"Input": "FaceAngleZ",
"InputRangeLower": -30.0,
"InputRangeUpper": 30.0,
"OutputRangeLower": -30.0,
"OutputRangeUpper": 30.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamAngleZ",
"Smoothing": 30,
"Minimized": false
},
{
"Name": "Eye Open Left",
"Input": "EyeOpenLeft",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": 0.0,
"OutputRangeUpper": 1.899999976158142,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamEyeLOpen",
"Smoothing": 10,
"Minimized": false
},
{
"Name": "Eye Smile Left",
"Input": "MouthSmile",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": 0.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamEyeLSmile",
"Smoothing": 10,
"Minimized": false
},
{
"Name": "Eye Open Right",
"Input": "EyeOpenRight",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": 0.0,
"OutputRangeUpper": 1.899999976158142,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamEyeROpen",
"Smoothing": 10,
"Minimized": false
},
{
"Name": "Eye Smile Right",
"Input": "MouthSmile",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": 0.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamEyeRSmile",
"Smoothing": 10,
"Minimized": false
},
{
"Name": "Eye X",
"Input": "EyeRightX",
"InputRangeLower": -1.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": 1.0,
"OutputRangeUpper": -1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamEyeBallX",
"Smoothing": 8,
"Minimized": false
},
{
"Name": "Eye Y",
"Input": "EyeRightY",
"InputRangeLower": -1.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": -1.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamEyeBallY",
"Smoothing": 8,
"Minimized": false
},
{
"Name": "Brow Height Left",
"Input": "Brows",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": -1.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamBrowLY",
"Smoothing": 10,
"Minimized": false
},
{
"Name": "Brow Height Right",
"Input": "Brows",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": -1.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamBrowRY",
"Smoothing": 10,
"Minimized": false
},
{
"Name": "Brow Form Left",
"Input": "Brows",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": -1.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamBrowLForm",
"Smoothing": 15,
"Minimized": false
},
{
"Name": "Brow Form Right",
"Input": "Brows",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": -1.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamBrowRForm",
"Smoothing": 15,
"Minimized": false
},
{
"Name": "Mouth Smile",
"Input": "MouthSmile",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": -1.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamMouthForm",
"Smoothing": 0,
"Minimized": false
},
{
"Name": "Mouth Open",
"Input": "MouthOpen",
"InputRangeLower": 0.20000000298023225,
"InputRangeUpper": 1.0,
"OutputRangeLower": 0.0,
"OutputRangeUpper": 2.0999999046325685,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamMouthOpenY",
"Smoothing": 0,
"Minimized": false
},
{
"Name": "Blush when smiling",
"Input": "MouthSmile",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": 0.5,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamCheek",
"Smoothing": 45,
"Minimized": false
},
{
"Name": "Body Rotation X",
"Input": "FaceAngleX",
"InputRangeLower": -30.0,
"InputRangeUpper": 30.0,
"OutputRangeLower": -10.0,
"OutputRangeUpper": 10.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamBodyAngleX",
"Smoothing": 20,
"Minimized": false
},
{
"Name": "Body Rotation Y",
"Input": "FaceAngleY",
"InputRangeLower": -15.0,
"InputRangeUpper": 20.0,
"OutputRangeLower": -10.0,
"OutputRangeUpper": 10.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamBodyAngleY",
"Smoothing": 20,
"Minimized": false
},
{
"Name": "Body Rotation Z",
"Input": "FaceAngleZ",
"InputRangeLower": -30.0,
"InputRangeUpper": 30.0,
"OutputRangeLower": -10.0,
"OutputRangeUpper": 10.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": false,
"OutputLive2D": "ParamBodyAngleZ",
"Smoothing": 20,
"Minimized": false
},
{
"Name": "Auto Breath",
"Input": "",
"InputRangeLower": 0.0,
"InputRangeUpper": 1.0,
"OutputRangeLower": 0.0,
"OutputRangeUpper": 1.0,
"ClampInput": false,
"ClampOutput": false,
"UseBlinking": false,
"UseBreathing": true,
"OutputLive2D": "ParamBreath",
"Smoothing": 0,
"Minimized": false
}
],
"Hotkeys": [
{
"HotkeyID": "0f83ae40507a40a29e008f163be5ec6e",
"Name": "change texture",
"Action": "ReloadTextures",
"File": "",
"Position": {
"X": 0.0,
"Y": 0.0,
"Z": 0.0,
"Rotation": 0.0
},
"ColorOverlay": {
"On": false,
"Display": -1,
"WindowName": "",
"IncludeLeft": false,
"IncludeMid": false,
"IncludeRight": false,
"BaseValue": 0,
"OverlayValue": 0,
"Smoothing": 0,
"IncludeItems": false
},
"HandGestureSettings": {
"GestureLeft": "",
"GestureRight": "",
"GestureCombinator": "AND",
"AllowMirroredGesture": false,
"DeactivateExpWhenGestureNotDetected": false,
"SecondsUntilDetection": 0.5,
"SecondsDetected": 0.0,
"PercentDetected": 0.0
},
"Triggers": {
"Trigger1": "N1",
"Trigger2": "",
"ScreenButton": -1
},
"IsGlobal": true,
"IsActive": true,
"Minimized": false,
"StopsOnLastFrame": false,
"DeactivateAfterKeyUp": false,
"DeactivateAfterSeconds": false,
"DeactivateAfterSecondsAmount": 10.0,
"FadeSecondsAmount": 0.5,
"OnScreenHotkeyColor": {
"r": 1.0,
"g": 1.0,
"b": 1.0,
"a": 1.0
}
}
],
"HotkeySettings": {
"UseOnScreenHotkeys": false,
"UseKeyboardHotkeys": true,
"SendOnScreenHotkeysToPC": true,
"OnScreenHotkeyAlpha": 75
},
"ArtMeshDetails": {
"ArtMeshesExcludedFromPinning": [],
"ArtMeshesThatDeleteItemsOnDrop": [],
"ArtMeshSceneLightingMultipliers": []
},
"PhysicsCustomizationSettings": {
"PhysicsMultipliersPerPhysicsGroup": [],
"WindMultipliersPerPhysicsGroup": []
}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

@@ -0,0 +1,14 @@
{
"FileMetadata": {
"LastSavedVTubeStudioVersion": "1.17.0",
"LastSavedPlatform": "Steam",
"LastSavedDateUTC": "Monday, 07 March 2022, 21:52:21",
"LastSavedDateLocalTime": "Monday, 07 March 2022, 15:52:21",
"LastSavedDateUnixMillisecondTimestamp": "1646689941998"
},
"SceneName": "",
"SceneGroupName": "",
"SceneModel": "",
"SceneID": "",
"Items": []
}
+3
View File
@@ -0,0 +1,3 @@
This model was made by Ezri!
These files can be edited and used in personal or commercial projects. The model itself cannot be resold even if edited.