Add Games File

This commit is contained in:
Ivan Anikin
2026-05-19 13:42:41 +07:00
parent 7908479e0c
commit 12e7e22c1a
3672 changed files with 125922 additions and 0 deletions
@@ -0,0 +1,20 @@
{
"title": "vrm.blendshape.bind",
"type": "object",
"properties": {
"mesh": {
"type": "integer",
"minimum": 0
},
"index": {
"type": "integer",
"minimum": 0
},
"weight": {
"description": "SkinnedMeshRenderer.SetBlendShapeWeight",
"type": "number",
"minimum": 0,
"maximum": 100
}
}
}
@@ -0,0 +1,33 @@
{
"title": "vrm.blendshape.group",
"type": "object",
"properties": {
"name": {
"description": "Expression name",
"type": "string"
},
"presetName": {
"description": "Predefined Expression name",
"type": "string",
"enum": ["unknown","neutral","a","i","u","e","o","blink","joy","angry","sorrow","fun","lookup","lookdown","lookleft","lookright","blink_l","blink_r"]
},
"binds": {
"description": "Low level blendshape references.",
"type": "array",
"items": {
"$ref": "vrm.blendshape.bind.schema.json"
}
},
"materialValues": {
"description": "Material animation references.",
"type": "array",
"items": {
"$ref": "vrm.blendshape.materialbind.schema.json"
}
},
"isBinary": {
"description": "0 or 1. Do not allow an intermediate value. Value should rounded",
"type": "boolean"
}
}
}
@@ -0,0 +1,18 @@
{
"title": "vrm.blendshape.materialbind",
"type": "object",
"properties": {
"materialName": {
"type": "string"
},
"propertyName": {
"type": "string"
},
"targetValue": {
"type": "array",
"items": {
"type": "number"
}
}
}
}
@@ -0,0 +1,13 @@
{
"title": "vrm.blendshape",
"description": "BlendShapeAvatar of UniVRM",
"type": "object",
"properties": {
"blendShapeGroups": {
"type": "array",
"items": {
"$ref": "vrm.blendshape.group.schema.json"
}
}
}
}
@@ -0,0 +1,22 @@
{
"title": "vrm.firstperson.degreemap",
"description": "Eye controller setting.",
"type": "object",
"properties": {
"curve": {
"description": "None linear mapping params. time, value, inTangent, outTangent",
"type": "array",
"items": {
"type": "number"
}
},
"xRange": {
"description": "Look at input clamp range degree.",
"type": "number"
},
"yRange": {
"description": "Look at map range degree from xRange.",
"type": "number"
}
}
}
@@ -0,0 +1,12 @@
{
"title": "vrm.firstperson.meshannotation",
"type": "object",
"properties": {
"mesh": {
"type": "integer"
},
"firstPersonFlag": {
"type": "string"
}
}
}
@@ -0,0 +1,49 @@
{
"title": "vrm.firstperson",
"type": "object",
"properties": {
"firstPersonBone": {
"description": "The bone whose rendering should be turned off in first-person view. Usually Head is specified.",
"type": "integer"
},
"firstPersonBoneOffset": {
"description": "The target position of the VR headset in first-person view. It is assumed that an offset from the head bone to the VR headset is added.",
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"z": {
"type": "number"
}
}
},
"meshAnnotations": {
"description": "Switch display \/ undisplay for each mesh in first-person view or the others.",
"type": "array",
"items": {
"$ref": "vrm.firstperson.meshannotation.schema.json"
}
},
"lookAtTypeName": {
"description": "Eye controller mode.",
"type": "string",
"enum": ["Bone","BlendShape"]
},
"lookAtHorizontalInner": {
"$ref": "vrm.firstperson.degreemap.schema.json"
},
"lookAtHorizontalOuter": {
"$ref": "vrm.firstperson.degreemap.schema.json"
},
"lookAtVerticalDown": {
"$ref": "vrm.firstperson.degreemap.schema.json"
},
"lookAtVerticalUp": {
"$ref": "vrm.firstperson.degreemap.schema.json"
}
}
}
@@ -0,0 +1,68 @@
{
"title": "vrm.humanoid.bone",
"type": "object",
"properties": {
"bone": {
"description": "Human bone name.",
"type": "string",
"enum": ["hips","leftUpperLeg","rightUpperLeg","leftLowerLeg","rightLowerLeg","leftFoot","rightFoot","spine","chest","neck","head","leftShoulder","rightShoulder","leftUpperArm","rightUpperArm","leftLowerArm","rightLowerArm","leftHand","rightHand","leftToes","rightToes","leftEye","rightEye","jaw","leftThumbProximal","leftThumbIntermediate","leftThumbDistal","leftIndexProximal","leftIndexIntermediate","leftIndexDistal","leftMiddleProximal","leftMiddleIntermediate","leftMiddleDistal","leftRingProximal","leftRingIntermediate","leftRingDistal","leftLittleProximal","leftLittleIntermediate","leftLittleDistal","rightThumbProximal","rightThumbIntermediate","rightThumbDistal","rightIndexProximal","rightIndexIntermediate","rightIndexDistal","rightMiddleProximal","rightMiddleIntermediate","rightMiddleDistal","rightRingProximal","rightRingIntermediate","rightRingDistal","rightLittleProximal","rightLittleIntermediate","rightLittleDistal","upperChest"]
},
"node": {
"description": "Reference node index",
"type": "integer"
},
"useDefaultValues": {
"description": "Unity's HumanLimit.useDefaultValues",
"type": "boolean"
},
"min": {
"description": "Unity's HumanLimit.min",
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"z": {
"type": "number"
}
}
},
"max": {
"description": "Unity's HumanLimit.max",
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"z": {
"type": "number"
}
}
},
"center": {
"description": "Unity's HumanLimit.center",
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"z": {
"type": "number"
}
}
},
"axisLength": {
"description": "Unity's HumanLimit.axisLength",
"type": "number"
}
}
}
@@ -0,0 +1,44 @@
{
"title": "vrm.humanoid",
"type": "object",
"properties": {
"humanBones": {
"type": "array",
"items": {
"$ref": "vrm.humanoid.bone.schema.json"
}
},
"armStretch": {
"description": "Unity's HumanDescription.armStretch",
"type": "number"
},
"legStretch": {
"description": "Unity's HumanDescription.legStretch",
"type": "number"
},
"upperArmTwist": {
"description": "Unity's HumanDescription.upperArmTwist",
"type": "number"
},
"lowerArmTwist": {
"description": "Unity's HumanDescription.lowerArmTwist",
"type": "number"
},
"upperLegTwist": {
"description": "Unity's HumanDescription.upperLegTwist",
"type": "number"
},
"lowerLegTwist": {
"description": "Unity's HumanDescription.lowerLegTwist",
"type": "number"
},
"feetSpacing": {
"description": "Unity's HumanDescription.feetSpacing",
"type": "number"
},
"hasTranslationDoF": {
"description": "Unity's HumanDescription.hasTranslationDoF",
"type": "boolean"
}
}
}
@@ -0,0 +1,49 @@
{
"title": "vrm.material",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"shader": {
"description": "This contains shader name. VRM/MToon, VRM/UnlitTransparentZWrite, and VRM_USE_GLTFSHADER (and legacy materials as Standard, UniGLTF/UniUnlit, VRM/UnlitTexture, VRM/UnlitCutout, VRM/UnlitTransparent) . If VRM_USE_GLTFSHADER is specified, use same index of gltf's material settings",
"type": "string"
},
"renderQueue": {
"type": "integer"
},
"floatProperties": {
"type": "object",
"additionalProperties": {
"type": "number"
}
},
"vectorProperties": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "number"
}
}
},
"textureProperties": {
"type": "object",
"additionalProperties": {
"type": "integer"
}
},
"keywordMap": {
"type": "object",
"additionalProperties": {
"type": "boolean"
}
},
"tagMap": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
}
}
@@ -0,0 +1,63 @@
{
"title": "vrm.meta",
"type": "object",
"properties": {
"title": {
"description": "Title of VRM model",
"type": "string"
},
"version": {
"description": "Version of VRM model",
"type": "string"
},
"author": {
"description": "Author of VRM model",
"type": "string"
},
"contactInformation": {
"description": "Contact Information of VRM model author",
"type": "string"
},
"reference": {
"description": "Reference of VRM model",
"type": "string"
},
"texture": {
"description": "Thumbnail of VRM model",
"type": "integer"
},
"allowedUserName": {
"description": "A person who can perform with this avatar",
"type": "string",
"enum": ["OnlyAuthor","ExplicitlyLicensedPerson","Everyone"]
},
"violentUssageName": {
"description": "Permission to perform violent acts with this avatar",
"type": "string",
"enum": ["Disallow","Allow"]
},
"sexualUssageName": {
"description": "Permission to perform sexual acts with this avatar",
"type": "string",
"enum": ["Disallow","Allow"]
},
"commercialUssageName": {
"description": "For commercial use",
"type": "string",
"enum": ["Disallow","Allow"]
},
"otherPermissionUrl": {
"description": "If there are any conditions not mentioned above, put the URL link of the license document here.",
"type": "string"
},
"licenseName": {
"description": "License type",
"type": "string",
"enum": ["Redistribution_Prohibited","CC0","CC_BY","CC_BY_NC","CC_BY_SA","CC_BY_NC_SA","CC_BY_ND","CC_BY_NC_ND","Other"]
},
"otherLicenseUrl": {
"description": "If “Other” is selected, put the URL link of the license document here.",
"type": "string"
}
}
}
@@ -0,0 +1,36 @@
{
"title": "vrm",
"description": "VRM extension is for 3d humanoid avatars (and models) in VR applications.",
"type": "object",
"properties": {
"exporterVersion": {
"description": "Version of exporter that vrm created. UniVRM-0.46",
"type": "string"
},
"specVersion": {
"description": "Version of VRM specification. 0.0",
"type": "string"
},
"meta": {
"$ref": "vrm.meta.schema.json"
},
"humanoid": {
"$ref": "vrm.humanoid.schema.json"
},
"firstPerson": {
"$ref": "vrm.firstperson.schema.json"
},
"blendShapeMaster": {
"$ref": "vrm.blendshape.schema.json"
},
"secondaryAnimation": {
"$ref": "vrm.secondaryanimation.schema.json"
},
"materialProperties": {
"type": "array",
"items": {
"$ref": "vrm.material.schema.json"
}
}
}
}
@@ -0,0 +1,37 @@
{
"title": "vrm.secondaryanimation.collidergroup",
"type": "object",
"properties": {
"node": {
"description": "The node of the collider group for setting up collision detections.",
"type": "integer"
},
"colliders": {
"type": "array",
"items": {
"type": "object",
"properties": {
"offset": {
"description": "The local coordinate from the node of the collider group in *left-handed* Y-up coordinate.",
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"z": {
"type": "number"
}
}
},
"radius": {
"description": "The radius of the collider.",
"type": "number"
}
}
}
}
}
}
@@ -0,0 +1,19 @@
{
"title": "vrm.secondaryanimation",
"description": "The setting of automatic animation of string-like objects such as tails and hairs.",
"type": "object",
"properties": {
"boneGroups": {
"type": "array",
"items": {
"$ref": "vrm.secondaryanimation.spring.schema.json"
}
},
"colliderGroups": {
"type": "array",
"items": {
"$ref": "vrm.secondaryanimation.collidergroup.schema.json"
}
}
}
}
@@ -0,0 +1,59 @@
{
"title": "vrm.secondaryanimation.spring",
"type": "object",
"properties": {
"comment": {
"description": "Annotation comment",
"type": "string"
},
"stiffiness": {
"description": "The resilience of the swaying object (the power of returning to the initial pose).",
"type": "number"
},
"gravityPower": {
"description": "The strength of gravity.",
"type": "number"
},
"gravityDir": {
"description": "The direction of gravity. Set (0, -1, 0) for simulating the gravity. Set (1, 0, 0) for simulating the wind.",
"type": "object",
"properties": {
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"z": {
"type": "number"
}
}
},
"dragForce": {
"description": "The resistance (deceleration) of automatic animation.",
"type": "number"
},
"center": {
"description": "The reference point of a swaying object can be set at any location except the origin. When implementing UI moving with warp, the parent node to move with warp can be specified if you don't want to make the object swaying with warp movement.",
"type": "integer"
},
"hitRadius": {
"description": "The radius of the sphere used for the collision detection with colliders.",
"type": "number"
},
"bones": {
"description": "Specify the node index of the root bone of the swaying object.",
"type": "array",
"items": {
"type": "integer"
}
},
"colliderGroups": {
"description": "Specify the index of the collider group for collisions with swaying objects.",
"type": "array",
"items": {
"type": "integer"
}
}
}
}
@@ -0,0 +1,23 @@
{
"title": "VRMC_materials_hdr_emissiveMultiplier",
"type": "object",
"description": "A multiplier for emissiveFactor",
"allOf": [
{
"$ref": "glTFProperty.schema.json"
}
],
"properties": {
"emissiveMultiplier": {
"type": "number",
"description": "A multiplier for emissiveFactor",
"default": 1.0,
"minimum": 0.0
},
"extensions": {},
"extras": {}
},
"required": [
"emissiveMultiplier"
]
}
@@ -0,0 +1,176 @@
{
"title": "VRMC_materials_mtoon",
"type": "object",
"description": "",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"specVersion": {
"type": "string",
"description": "Specification version of VRMC_materials_mtoon"
},
"transparentWithZWrite": {
"type": "boolean",
"default": "false",
"description": "enable depth buffer when `alphaMode` is `BLEND`"
},
"renderQueueOffsetNumber": {
"type": "integer",
"description": "",
"default": 0,
"minimum": -9,
"maximum": 9
},
"shadeColorFactor": {
"type": "array",
"description": "",
"items": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0
},
"default": [ 1.0, 1.0, 1.0 ],
"minItems": 3,
"maxItems": 3
},
"shadeMultiplyTexture": {
"allOf": [ { "$ref": "textureInfo.schema.json" } ],
"description": ""
},
"shadingShiftFactor": {
"type": "number",
"description": "Lighting",
"default": 0.0
},
"shadingShiftTexture": {
"allOf": [ { "$ref": "mtoon.shadingShiftTexture.schema.json" } ]
},
"shadingToonyFactor": {
"type": "number",
"description": "",
"default": 0.9,
"minimum": 0.0,
"maximum": 1.0
},
"giEqualizationFactor": {
"type": "number",
"description": "",
"default": 0.9,
"minimum": 0.0,
"maximum": 1.0
},
"matcapFactor": {
"type": "array",
"description": "",
"items": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0
},
"default": [ 1.0, 1.0, 1.0 ],
"minItems": 3,
"maxItems": 3
},
"matcapTexture": {
"allOf": [ { "$ref": "textureInfo.schema.json" } ],
"description": "MatCap"
},
"parametricRimColorFactor": {
"type": "array",
"description": "Rim",
"items": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0
},
"default": [ 0.0, 0.0, 0.0 ],
"minItems": 3,
"maxItems": 3
},
"rimMultiplyTexture": {
"allOf": [ { "$ref": "textureInfo.schema.json" } ],
"description": ""
},
"rimLightingMixFactor": {
"type": "number",
"description": "",
"default": 1.0,
"minimum": 0.0,
"maximum": 1.0
},
"parametricRimFresnelPowerFactor": {
"type": "number",
"description": "",
"default": 5.0,
"minimum": 0.0
},
"parametricRimLiftFactor": {
"type": "number",
"description": "",
"default": 0.0
},
"outlineWidthMode": {
"title": "OutlineWidthMode",
"type": "string",
"enum": [
"none",
"worldCoordinates",
"screenCoordinates"
],
"default": "none",
"description": "Outline"
},
"outlineWidthFactor": {
"type": "number",
"description": "",
"default": 0.0,
"minimum": 0.0
},
"outlineWidthMultiplyTexture": {
"allOf": [ { "$ref": "textureInfo.schema.json" } ],
"description": ""
},
"outlineColorFactor": {
"type": "array",
"description": "",
"items": {
"type": "number",
"minimum": 0.0,
"maximum": 1.0
},
"default": [ 0.0, 0.0, 0.0 ],
"minItems": 3,
"maxItems": 3
},
"outlineLightingMixFactor": {
"type": "number",
"description": "",
"default": 1.0,
"minimum": 0.0,
"maximum": 1.0
},
"uvAnimationMaskTexture": {
"allOf": [ { "$ref": "textureInfo.schema.json" } ],
"description": ""
},
"uvAnimationScrollXSpeedFactor": {
"type": "number",
"default": 0,
"description": ""
},
"uvAnimationScrollYSpeedFactor": {
"type": "number",
"default": 0,
"description": ""
},
"uvAnimationRotationSpeedFactor": {
"type": "number",
"default": 0,
"description": ""
},
"extensions": { },
"extras": { }
},
"required": [
"specVersion"
]
}
@@ -0,0 +1,17 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Shading Shift Texture Info",
"type": "object",
"allOf": [ { "$ref": "textureInfo.schema.json" } ],
"properties": {
"index": { },
"texCoord": { },
"scale": {
"type": "number",
"description": "The scalar multiplier applied to the texture.",
"default": 1.0
},
"extensions": { },
"extras": { }
}
}
@@ -0,0 +1,28 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Aim Constraint",
"type": "object",
"description": "A constraint that makes it look at a source object.",
"allOf": [ { "$ref": "glTFChildOfRootProperty.schema.json" } ],
"properties": {
"source": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "The index of the node constrains the node."
},
"aimAxis": {
"description": "The aim axis of the constraint.",
"type": "string",
"enum": [ "PositiveX", "NegativeX", "PositiveY", "NegativeY", "PositiveZ", "NegativeZ" ]
},
"weight": {
"type": "number",
"description": "The weight of the constraint.",
"minimum": 0.0,
"maximum": 1.0,
"default": 1.0
},
"extensions": { },
"extras": { }
},
"required": [ "source", "aimAxis" ]
}
@@ -0,0 +1,25 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Constraint",
"type": "object",
"description": "Contains roll, aim, or rotation",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"roll": {
"$ref": "VRMC_node_constraint.rollConstraint.schema.json"
},
"aim": {
"$ref": "VRMC_node_constraint.aimConstraint.schema.json"
},
"rotation": {
"$ref": "VRMC_node_constraint.rotationConstraint.schema.json"
},
"extensions": { },
"extras": { }
},
"oneOf": [
{ "required": [ "roll" ] },
{ "required": [ "aim" ] },
{ "required": [ "rotation" ] }
]
}
@@ -0,0 +1,28 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Roll Constraint",
"type": "object",
"description": "A constraint that transfers a rotation around one axis of a source.",
"allOf": [ { "$ref": "glTFChildOfRootProperty.schema.json" } ],
"properties": {
"source": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "The index of the node constrains the node."
},
"rollAxis": {
"description": "The roll axis of the constraint.",
"type": "string",
"enum": [ "X", "Y", "Z" ]
},
"weight": {
"type": "number",
"description": "The weight of the constraint.",
"minimum": 0.0,
"maximum": 1.0,
"default": 1.0
},
"extensions": { },
"extras": { }
},
"required": [ "source", "rollAxis" ]
}
@@ -0,0 +1,23 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Rotation Constraint",
"type": "object",
"description": "A constraint that links the rotation with a source.",
"allOf": [ { "$ref": "glTFChildOfRootProperty.schema.json" } ],
"properties": {
"source": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "The index of the node constrains the node."
},
"weight": {
"type": "number",
"description": "The weight of the constraint.",
"minimum": 0.0,
"maximum": 1.0,
"default": 1.0
},
"extensions": { },
"extras": { }
},
"required": [ "source" ]
}
@@ -0,0 +1,19 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "VRMC_node_constraint extension",
"type": "object",
"description": "glTF extension that defines constraints.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"specVersion": {
"type": "string",
"description": "Specification version of VRMC_node_constraint"
},
"constraint": {
"$ref": "VRMC_node_constraint.constraint.schema.json"
},
"extensions": { },
"extras": { }
},
"required": [ "specVersion", "constraint" ]
}
@@ -0,0 +1,22 @@
{
"title": "Collider",
"type": "object",
"description": "collider definition for SpringBone",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"node": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "The node index."
},
"shape": {
"allOf": [ { "$ref": "VRMC_springBone.shape.schema.json" } ],
"description": ""
},
"extensions": { },
"extras": { }
},
"required": [
"node",
"shape"
]
}
@@ -0,0 +1,25 @@
{
"title": "ColliderGroup",
"type": "object",
"description": "collider group definition for SpringBone",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"name": {
"type": "string",
"description": "Name of the ColliderGroup"
},
"colliders": {
"type": "array",
"items": {
"$ref": "glTFid.schema.json"
},
"description": "An array of colliders.",
"minItems": 1
},
"extensions": { },
"extras": { }
},
"required": [
"colliders"
]
}
@@ -0,0 +1,56 @@
{
"title": "SpringBoneJoint",
"type": "object",
"description": "A bone joint of VRMCSpringBone.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"node": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "The node index."
},
"hitRadius": {
"type": "number",
"description": "The radius of spring sphere.",
"default": 0.0,
"minimum": 0.0
},
"stiffness": {
"type": "number",
"description": "The force to return to the initial pose.",
"default": 1.0,
"minimum": 0.0
},
"gravityPower": {
"type": "number",
"description": "Gravitational acceleration.",
"default": 0.0,
"minimum": 0.0
},
"gravityDir": {
"type": "array",
"description": "The direction of gravity. A gravity other than downward direction also works.",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3,
"default": [
0.0,
-1.0,
0.0
]
},
"dragForce": {
"type": "number",
"description": "Air resistance. Deceleration force.",
"default": 0.5,
"minimum": 0.0,
"maximum": 1.0
},
"extensions": { },
"extras": { }
},
"required": [
"node"
]
}
@@ -0,0 +1,39 @@
{
"title": "VRMCSpringBone",
"type": "object",
"description": "SpringBone makes objects such as costumes and hair swaying",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"specVersion": {
"type": "string",
"description": "Specification version of VRMC_springBone"
},
"colliders": {
"type": "array",
"description": "An array of colliders.",
"items": {
"$ref": "VRMC_springBone.collider.schema.json"
},
"minItems": 1
},
"colliderGroups": {
"type": "array",
"description": "An array of colliderGroups.",
"items": {
"$ref": "VRMC_springBone.colliderGroup.schema.json"
},
"minItems": 1
},
"springs": {
"type": "array",
"description": "An array of springs.",
"items": {
"$ref": "VRMC_springBone.spring.schema.json"
},
"minItems": 1
},
"extensions": { },
"extras": { }
},
"required": [ "specVersion" ]
}
@@ -0,0 +1,68 @@
{
"title": "ColliderShape",
"type": "object",
"description": "Shape of collider. Have one of sphere and capsule",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"sphere": {
"type": "object",
"title": "ColliderShapeSphere",
"properties": {
"offset": {
"type": "array",
"description": "The sphere center. vector3",
"items": {
"type": "number"
},
"default": [0.0, 0.0, 0.0],
"minItems": 3,
"maxItems": 3
},
"radius": {
"type": "number",
"description": "The sphere radius",
"default": 0.0,
"minimum": 0.0
}
}
},
"capsule": {
"type": "object",
"title": "ColliderShapeCapsule",
"properties": {
"offset": {
"type": "array",
"description": "The capsule head. vector3",
"items": {
"type": "number"
},
"default": [0.0, 0.0, 0.0],
"minItems": 3,
"maxItems": 3
},
"radius": {
"type": "number",
"description": "The capsule radius",
"default": 0.0,
"minimum": 0.0
},
"tail": {
"type": "array",
"description": "The capsule tail. vector3",
"items": {
"type": "number"
},
"default": [0.0, 0.0, 0.0],
"minItems": 3,
"maxItems": 3
}
}
},
"extensions": { },
"extras": { }
},
"oneOf": [
{ "required": [ "sphere" ] },
{ "required": [ "capsule" ] }
]
}
@@ -0,0 +1,38 @@
{
"title": "Spring",
"type": "object",
"description": "A bone group of VRMCSpringBone.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"name": {
"type": "string",
"description": "Name of the Spring"
},
"joints": {
"type": "array",
"description": "Joints of the spring. Except for the first element, a previous joint of the array must be an ancestor of the joint.",
"items": {
"$ref": "VRMC_springBone.joint.schema.json"
},
"minItems": 1
},
"colliderGroups": {
"type": "array",
"description": "Indices of ColliderGroups that detect collision with this spring.",
"items": {
"$ref": "glTFid.schema.json",
"description": "Index in colliderGroups."
},
"minItems": 1
},
"center": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "An index of node which is used as a root of center space."
},
"extensions": { },
"extras": { }
},
"required": [
"joints"
]
}
@@ -0,0 +1,19 @@
{
"title": "VRMCSpringBoneExtendedCollider",
"type": "object",
"description": "An extended collider for VRMC_springBone.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"specVersion": {
"type": "string",
"description": "Specification version of VRMC_springBone_extended_collider."
},
"shape": {
"allOf": [ { "$ref": "VRMC_springBone_extended_collider.shape.schema.json" } ],
"description": "The shape of the collider."
},
"extensions": { },
"extras": { }
},
"required": [ "specVersion" ]
}
@@ -0,0 +1,105 @@
{
"title": "ExtendedColliderShape",
"type": "object",
"description": "The shape of the collider. One of sphere, capsule, or plane is defined.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"sphere": {
"type": "object",
"title": "ExtendedColliderShapeSphere",
"properties": {
"offset": {
"type": "array",
"description": "The offset of the sphere from the origin in the local space.",
"items": {
"type": "number"
},
"default": [0.0, 0.0, 0.0],
"minItems": 3,
"maxItems": 3
},
"radius": {
"type": "number",
"description": "The radius of the sphere.",
"default": 0.0,
"minimum": 0.0
},
"inside": {
"type": "boolean",
"description": "If true, the collider prevents spring bones from going outside of the sphere instead.",
"default": false
}
}
},
"capsule": {
"type": "object",
"title": "ExtendedColliderShapeCapsule",
"properties": {
"offset": {
"type": "array",
"description": "The offset of the capsule head from the origin in the local space.",
"items": {
"type": "number"
},
"default": [0.0, 0.0, 0.0],
"minItems": 3,
"maxItems": 3
},
"radius": {
"type": "number",
"description": "The radius of the capsule.",
"default": 0.0,
"minimum": 0.0
},
"tail": {
"type": "array",
"description": "The offset of the capsule tail from the origin in the local space.",
"items": {
"type": "number"
},
"default": [0.0, 0.0, 0.0],
"minItems": 3,
"maxItems": 3
},
"inside": {
"type": "boolean",
"description": "If true, the collider prevents spring bones from going outside of the capsule instead.",
"default": false
}
}
},
"plane": {
"type": "object",
"title": "ExtendedColliderShapePlane",
"properties": {
"offset": {
"type": "array",
"description": "The offset of the plane from the origin in the local space.",
"items": {
"type": "number"
},
"default": [0.0, 0.0, 0.0],
"minItems": 3,
"maxItems": 3
},
"normal": {
"type": "array",
"description": "The normal of the plane in the local space. Must be normalized.",
"items": {
"type": "number"
},
"default": [0.0, 0.0, 1.0],
"minItems": 3,
"maxItems": 3
}
}
},
"extensions": { },
"extras": { }
},
"oneOf": [
{ "required": [ "sphere" ] },
{ "required": [ "capsule" ] },
{ "required": [ "plane" ] }
]
}
@@ -0,0 +1,40 @@
{
"title": "MaterialColorBind",
"type": "object",
"description": "Material color value associated with a expression",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"material": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "target material"
},
"type": {
"title": "MaterialColorType",
"type": "string",
"enum": [
"color",
"emissionColor",
"shadeColor",
"matcapColor",
"rimColor",
"outlineColor"
]
},
"targetValue": {
"type": "array",
"description": "target color",
"items": {
"type": "number"
},
"minItems": 4,
"maxItems": 4
},
"extensions": { },
"extras": { }
},
"required": [
"material",
"type",
"targetValue"
]
}
@@ -0,0 +1,27 @@
{
"title": "MorphTargetBind",
"type": "object",
"description": "Morph target value associated with a expression",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"node": {
"allOf": [{ "$ref": "glTFid.schema.json" }],
"description": "The index of the node that attached to target mesh."
},
"index": {
"allOf": [{ "$ref": "glTFid.schema.json" }],
"description": "The index of the morph target in the mesh."
},
"weight": {
"type": "number",
"description": "The weight value of target morph target."
},
"extensions": { },
"extras": { }
},
"required": [
"node",
"index",
"weight"
]
}
@@ -0,0 +1,72 @@
{
"title": "Expression",
"type": "object",
"description": "Definition of expression by weighted animation",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"morphTargetBinds": {
"type": "array",
"description": "Specify a morph target",
"items": {
"$ref": "VRMC_vrm.expressions.expression.morphTargetBind.schema.json"
},
"minItems": 1
},
"materialColorBinds": {
"type": "array",
"description": "Material color animation references",
"items": {
"$ref": "VRMC_vrm.expressions.expression.materialColorBind.schema.json"
},
"minItems": 1
},
"textureTransformBinds": {
"type": "array",
"description": "Texture transform animation references",
"items": {
"$ref": "VRMC_vrm.expressions.expression.textureTransformBind.schema.json"
},
"minItems": 1
},
"isBinary": {
"type": "boolean",
"default": false,
"description": "A value greater than 0.5 is 1.0, otherwise 0.0"
},
"overrideBlink": {
"title": "ExpressionOverrideType",
"type": "string",
"enum": [
"none",
"block",
"blend"
],
"default": "none",
"description": "Override values of Blink expressions when this Expression is enabled"
},
"overrideLookAt": {
"title": "ExpressionOverrideType",
"type": "string",
"enum": [
"none",
"block",
"blend"
],
"default": "none",
"description": "Override values of LookAt expressions when this Expression is enabled"
},
"overrideMouth": {
"title": "ExpressionOverrideType",
"type": "string",
"enum": [
"none",
"block",
"blend"
],
"default": "none",
"description": "Override values of Mouth expressions when this Expression is enabled"
},
"extensions": { },
"extras": { }
}
}
@@ -0,0 +1,43 @@
{
"title": "TextureTransformBind",
"type": "object",
"description": "Texture transform value associated with a expression",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"material": {
"allOf": [ { "$ref": "glTFid.schema.json" } ],
"description": "target material"
},
"scale": {
"type": "array",
"description": "uv scaling for TEXCOORD_0",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2,
"default": [
1,
1
]
},
"offset": {
"type": "array",
"description": "uv offset for TEXCOORD_0",
"items": {
"type": "number"
},
"minItems": 2,
"maxItems": 2,
"default": [
0,
0
]
},
"extensions": { },
"extras": { }
},
"required": [
"material"
]
}
@@ -0,0 +1,77 @@
{
"title": "Expressions",
"type": "object",
"description": "Definition of expressions",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"preset": {
"type": "object",
"description": "Preset expressions",
"properties": {
"happy": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"angry": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"sad": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"relaxed": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"surprised": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"aa": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"ih": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"ou": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"ee": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"oh": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"blink": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"blinkLeft": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"blinkRight": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"lookUp": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"lookDown": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"lookLeft": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"lookRight": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
},
"neutral": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
}
}
},
"custom": {
"type": "object",
"description": "Custom expressions",
"additionalProperties": {
"$ref": "VRMC_vrm.expressions.expression.schema.json"
}
},
"extensions": { },
"extras": { }
}
}
@@ -0,0 +1,24 @@
{
"title": "MeshAnnotation",
"type": "object",
"description": "Specify how the mesh should be interpreted by the camera",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"node": {
"allOf": [{ "$ref": "glTFid.schema.json" }],
"description": "The index of the node that attached to target mesh."
},
"type": {
"title": "FirstPersonType",
"type": "string",
"enum": ["auto", "both", "thirdPersonOnly", "firstPersonOnly"],
"description": "How the camera interprets the mesh."
},
"extensions": { },
"extras": { }
},
"required": [
"node",
"type"
]
}
@@ -0,0 +1,18 @@
{
"title": "FirstPerson",
"type": "object",
"description": "First-person perspective settings",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"meshAnnotations": {
"type": "array",
"description": "Mesh rendering annotation for cameras.",
"items": {
"$ref": "VRMC_vrm.firstPerson.meshAnnotation.schema.json"
},
"minItems": 1
},
"extensions": { },
"extras": { }
}
}
@@ -0,0 +1,15 @@
{
"title": "HumanBone",
"type": "object",
"description": "Represents a single bone of a Humanoid.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"node": {
"allOf": [{ "$ref": "glTFid.schema.json" }],
"description": "Represents a single glTF node tied to this humanBone."
},
"extensions": { },
"extras": { }
},
"required": [ "node" ]
}
@@ -0,0 +1,173 @@
{
"title": "HumanBones",
"type": "object",
"description": "Represents a set of humanBones of a humanoid.",
"properties": {
"hips": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"spine": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"chest": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"upperChest": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"neck": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"head": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftEye": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightEye": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"jaw": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftUpperLeg": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftLowerLeg": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftFoot": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftToes": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightUpperLeg": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightLowerLeg": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightFoot": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightToes": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftShoulder": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftUpperArm": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftLowerArm": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftHand": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightShoulder": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightUpperArm": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightLowerArm": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightHand": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftThumbMetacarpal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftThumbProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftThumbDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftIndexProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftIndexIntermediate": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftIndexDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftMiddleProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftMiddleIntermediate": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftMiddleDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftRingProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftRingIntermediate": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftRingDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftLittleProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftLittleIntermediate": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"leftLittleDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightThumbMetacarpal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightThumbProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightThumbDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightIndexProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightIndexIntermediate": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightIndexDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightMiddleProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightMiddleIntermediate": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightMiddleDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightRingProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightRingIntermediate": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightRingDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightLittleProximal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightLittleIntermediate": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
},
"rightLittleDistal": {
"$ref": "VRMC_vrm.humanoid.humanBones.humanBone.schema.json"
}
},
"required": [ "hips", "spine", "head", "leftUpperLeg", "leftLowerLeg", "leftFoot", "rightUpperLeg", "rightLowerLeg", "rightFoot", "leftUpperArm", "leftLowerArm", "leftHand", "rightUpperArm", "rightLowerArm", "rightHand" ]
}
@@ -0,0 +1,14 @@
{
"title": "Humanoid",
"type": "object",
"description": "Correspondence between nodes and human bones",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"humanBones": {
"$ref": "VRMC_vrm.humanoid.humanBones.schema.json"
},
"extensions": { },
"extras": { }
},
"required": [ "humanBones" ]
}
@@ -0,0 +1,20 @@
{
"title": "LookAtRangeMap",
"type": "object",
"description": "Horizontal inward movement. The left eye moves right. The right eye moves left.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"inputMaxValue": {
"type": "number",
"minimum": 0.0,
"maximum": 180.0,
"description": "Yaw and pitch angles ( degrees ) between the head bone forward vector and the eye gaze LookAt vector"
},
"outputScale": {
"type": "number",
"description": "Degree for type.bone, Weight for type.expressions"
},
"extensions": { },
"extras": { }
}
}
@@ -0,0 +1,43 @@
{
"title": "LookAt",
"type": "object",
"description": "Eye gaze control",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"offsetFromHeadBone": {
"type": "array",
"description": "The origin of LookAt. Position offset from the head bone",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
},
"type": {
"title": "LookAtType",
"type": "string",
"enum": [
"bone",
"expression"
]
},
"rangeMapHorizontalInner": {
"description": "Horizontal inward movement. The left eye moves right. The right eye moves left.",
"$ref": "VRMC_vrm.lookAt.rangeMap.schema.json"
},
"rangeMapHorizontalOuter": {
"description": "Horizontal outward movement. The left eye moves left. The right eye moves right.",
"$ref": "VRMC_vrm.lookAt.rangeMap.schema.json"
},
"rangeMapVerticalDown": {
"description": "Vertical downward movement. Both eyes move upwards",
"$ref": "VRMC_vrm.lookAt.rangeMap.schema.json"
},
"rangeMapVerticalUp": {
"description": "Vertical upward movement. Both eyes move downwards",
"$ref": "VRMC_vrm.lookAt.rangeMap.schema.json"
},
"extensions": { },
"extras": { }
}
}
@@ -0,0 +1,133 @@
{
"title": "Meta",
"type": "object",
"description": "",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"name": {
"type": "string",
"description": "The name of the model",
"minLength": 1
},
"version": {
"type": "string",
"description": "The version of the model"
},
"authors": {
"type": "array",
"description": "Authors of the model",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1
},
"copyrightInformation": {
"type": "string",
"description": "An information that describes the copyright of the model"
},
"contactInformation": {
"type": "string",
"description": "An information that describes the contact information of the author"
},
"references": {
"type": "array",
"description": "References / original works of the model",
"items": {
"type": "string"
},
"minItems": 1
},
"thirdPartyLicenses": {
"type": "string",
"description": "Third party licenses of the model, if required. You can use line breaks"
},
"thumbnailImage": {
"allOf": [{ "$ref": "glTFid.schema.json" }],
"description": "The index to the thumbnail image of the model in gltf.images"
},
"licenseUrl": {
"type": "string",
"description": "A URL towards the license document this model refers to"
},
"avatarPermission": {
"title": "AvatarPermissionType",
"type": "string",
"enum": [
"onlyAuthor",
"onlySeparatelyLicensedPerson",
"everyone"
],
"default": "onlyAuthor",
"description": "A person who can perform as an avatar with this model"
},
"allowExcessivelyViolentUsage": {
"type": "boolean",
"default": false,
"description": "A flag that permits to use this model in excessively violent contents"
},
"allowExcessivelySexualUsage": {
"type": "boolean",
"default": false,
"description": "A flag that permits to use this model in excessively sexual contents"
},
"commercialUsage": {
"title": "CommercialUsageType",
"type": "string",
"enum": [
"personalNonProfit",
"personalProfit",
"corporation"
],
"default": "personalNonProfit",
"description": "An option that permits to use this model in commercial products"
},
"allowPoliticalOrReligiousUsage": {
"type": "boolean",
"default": false,
"description": "A flag that permits to use this model in political or religious contents"
},
"allowAntisocialOrHateUsage": {
"type": "boolean",
"default": false,
"description": "A flag that permits to use this model in contents contain anti-social activities or hate speeches"
},
"creditNotation": {
"title": "CreditNotationType",
"type": "string",
"enum": [
"required",
"unnecessary"
],
"default": "required",
"description": "An option that forces or abandons to display the credit of this model"
},
"allowRedistribution": {
"type": "boolean",
"default": false,
"description": "A flag that permits to redistribute this model"
},
"modification": {
"title": "ModificationType",
"type": "string",
"enum": [
"prohibited",
"allowModification",
"allowModificationRedistribution"
],
"default": "prohibited",
"description": "An option that controls the condition to modify this model"
},
"otherLicenseUrl": {
"type": "string",
"description": "Describe the URL links of other license"
},
"extensions": { },
"extras": { }
},
"required": [
"name",
"authors",
"licenseUrl"
]
}
@@ -0,0 +1,43 @@
{
"title": "VRMCVrm",
"type": "object",
"description": "",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"specVersion": {
"type": "string",
"description": "Specification version of VRMC_vrm"
},
"meta": {
"title": "Meta",
"type": "object",
"description": "Meta informations of the VRM model",
"$ref": "VRMC_vrm.meta.schema.json"
},
"humanoid": {
"$ref": "VRMC_vrm.humanoid.schema.json"
},
"firstPerson": {
"title": "FirstPerson",
"type": "object",
"description": "First-person perspective settings",
"$ref": "VRMC_vrm.firstPerson.schema.json"
},
"lookAt": {
"title": "LookAt",
"type": "object",
"description": "Eye gaze control",
"$ref": "VRMC_vrm.lookAt.schema.json"
},
"expressions": {
"$ref": "VRMC_vrm.expressions.schema.json"
},
"extensions": { },
"extras": { }
},
"required": [
"specVersion",
"meta",
"humanoid"
]
}
@@ -0,0 +1,16 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Expression",
"type": "object",
"description": "Represents a single expression.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"node": {
"allOf": [{ "$ref": "glTFid.schema.json" }],
"description": "Represents a single glTF node mapped to this expression."
},
"extensions": { },
"extras": { }
},
"required": [ "node" ]
}
@@ -0,0 +1,66 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Expressions",
"type": "object",
"description": "An object which maps expressions to nodes.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"preset": {
"type": "object",
"description": "An object that contains definitions of preset expressions.",
"properties": {
"happy": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"angry": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"sad": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"relaxed": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"surprised": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"aa": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"ih": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"ou": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"ee": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"oh": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"blink": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"blinkLeft": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"blinkRight": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
},
"neutral": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
}
}
},
"custom": {
"type": "object",
"description": "An object that contains definitions of custom expressions.",
"additionalProperties": {
"$ref": "VRMC_vrm_animation.expressions.expression.schema.json"
}
},
"extensions": { },
"extras": { }
}
}
@@ -0,0 +1,16 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "HumanBone",
"type": "object",
"description": "Represents a single bone of a Humanoid.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"node": {
"allOf": [{ "$ref": "glTFid.schema.json" }],
"description": "Represents a single glTF node mapped to this humanBone."
},
"extensions": { },
"extras": { }
},
"required": [ "node" ]
}
@@ -0,0 +1,169 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "HumanBones",
"type": "object",
"description": "An object which maps humanoid bones to nodes.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"hips": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"spine": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"chest": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"upperChest": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"neck": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"head": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"jaw": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftUpperLeg": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftLowerLeg": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftFoot": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftToes": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightUpperLeg": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightLowerLeg": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightFoot": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightToes": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftShoulder": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftUpperArm": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftLowerArm": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftHand": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightShoulder": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightUpperArm": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightLowerArm": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightHand": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftThumbMetacarpal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftThumbProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftThumbDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftIndexProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftIndexIntermediate": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftIndexDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftMiddleProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftMiddleIntermediate": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftMiddleDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftRingProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftRingIntermediate": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftRingDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftLittleProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftLittleIntermediate": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"leftLittleDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightThumbMetacarpal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightThumbProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightThumbDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightIndexProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightIndexIntermediate": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightIndexDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightMiddleProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightMiddleIntermediate": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightMiddleDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightRingProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightRingIntermediate": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightRingDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightLittleProximal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightLittleIntermediate": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
},
"rightLittleDistal": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.humanBone.schema.json"
}
},
"required": [ "hips", "spine", "head", "leftUpperLeg", "leftLowerLeg", "leftFoot", "rightUpperLeg", "rightLowerLeg", "rightFoot", "leftUpperArm", "leftLowerArm", "leftHand", "rightUpperArm", "rightLowerArm", "rightHand" ]
}
@@ -0,0 +1,13 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "Humanoid",
"type": "object",
"description": "An object which describes about humanoid bones.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"humanBones": {
"$ref": "VRMC_vrm_animation.humanoid.humanBones.schema.json"
}
},
"required": [ "humanBones" ]
}
@@ -0,0 +1,25 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "LookAt",
"type": "object",
"description": "An object which maps a eye gaze point to a node.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"node": {
"allOf": [{ "$ref": "glTFid.schema.json" }],
"description": "Represents a single glTF node represents the eye gaze point."
},
"offsetFromHeadBone": {
"type": "array",
"description": "The position offset of the origin of the LookAt from the humanoid head bone",
"items": {
"type": "number"
},
"minItems": 3,
"maxItems": 3
},
"extensions": { },
"extras": { }
},
"required": [ "node" ]
}
@@ -0,0 +1,25 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"title": "VRMC_vrm_animation extension",
"type": "object",
"description": "glTF extension that defines humanoid animations.",
"allOf": [ { "$ref": "glTFProperty.schema.json" } ],
"properties": {
"specVersion": {
"type": "string",
"description": "Specification version of VRMC_vrm_animation"
},
"humanoid": {
"$ref": "VRMC_vrm_animation.humanoid.schema.json"
},
"expressions": {
"$ref": "VRMC_vrm_animation.expressions.schema.json"
},
"lookAt": {
"$ref": "VRMC_vrm_animation.lookAt.schema.json"
},
"extensions": { },
"extras": { }
},
"required": [ "specVersion" ]
}