This commit is contained in:
austin 2022-05-06 22:37:03 -04:00
parent 07eaecfa16
commit ce022ab893
6 changed files with 444 additions and 21 deletions

View File

@ -222,6 +222,7 @@
], ],
"files" : [ "files" : [
"Data/creatures/human.json" "Data/creatures/human.json",
"Data/creatures/elf.json"
] ]
} }

View File

@ -0,0 +1,324 @@
{
"creatures" : [
{
"creatureId" : "elf",
"hitboxes" : [
{
"type": "hurt",
"bone": "Bone.031",
"radius": 0.04
},
{
"type": "hurt",
"bone": "Bone.012",
"radius": 0.04
},
{
"type": "hurt",
"bone": "Bone.003",
"radius": 0.04
},
{
"type": "hurt",
"bone": "Bone.010",
"radius": 0.06
},
{
"type": "hurt",
"bone": "Bone.001",
"radius": 0.06
},
{
"type": "hurt",
"bone": "Bone.014",
"radius": 0.06
},
{
"type": "hurt",
"bone": "Bone",
"radius": 0.08
},
{
"type": "hurt",
"bone": "Bone.014",
"radius": 0.06
},
{
"type": "hurt",
"bone": "Bone.019",
"radius": 0.04
}
],
"tokens" : [
"BLENDER_TRANSFORM",
"SENTIENT",
"ATTACKER",
"GRAVITY",
"TARGETABLE",
"CAN_EQUIP",
"INVENTORY",
"OUTLINE",
"PLAYABLE"
],
"visualAttributes" : [
{
"attributeId" : "TorsoHeight",
"type" : "bone",
"subtype" : "offy",
"primaryBone" : "UpperTorso",
"minValue" : -0.2,
"maxValue" : 0.2
},
{
"attributeId" : "TorsoWidth",
"type" : "bone",
"subtype" : "scalex",
"primaryBone" : "UpperTorso",
"minValue" : 0.8,
"maxValue" : 1.2
},
{
"attributeId" : "ShoulderSize",
"type" : "bone",
"subtype" : "scale",
"primaryBone" : "Shoulder.R",
"mirrorBone" : "Shoulder.L",
"minValue" : 0.8,
"maxValue" : 1.2
},
{
"attributeId" : "JawWidth",
"type" : "bone",
"subtype" : "scalex",
"primaryBone" : "Jaw",
"minValue" : 0.8,
"maxValue" : 1.2
},
{
"attributeId" : "JawExtrude",
"type" : "bone",
"subtype" : "posz",
"primaryBone" : "Jaw",
"minValue" : -0.1,
"maxValue" : 0.1
},
{
"attributeId" : "HeadWidth",
"type" : "bone",
"subtype" : "scalex",
"primaryBone" : "Head",
"minValue" : 0.8,
"maxValue" : 1.2
}
],
"movementSystems" : [
{
"type" : "GROUND",
"acceleration" : 10.0,
"maxVelocity" : 0.025,
"animationStartup" : {
"name" : "Jog",
"length" : 1,
"loops" : false
},
"animationLoop" : {
"name" : "Jog",
"length" : 1,
"loops" : false
},
"animationWindDown" : {
"name" : "Jog",
"length" : 1,
"loops" : false
},
"sprintSystem" : {
"maxVelocity" : 5.8,
"staminaMax" : 500,
"animationStartUp" : {
"name" : "SprintStart",
"length" : 1,
"loops" : false
},
"animationMain" : {
"name" : "Sprint",
"length" : 1,
"loops" : false
}
}
},
{
"type" : "JUMP",
"jumpFrames" : 30,
"jumpForce" : 0.05,
"animationJump" : {
"name" : "Jump",
"length" : 1,
"loops" : false
}
},
{
"type" : "FALL",
"animationFall" : {
"name" : "Fall",
"length" : 1,
"loops" : true
},
"animationLand" : {
"name" : "Land",
"length" : 1,
"loops" : true
}
}
],
"rotatorSystem" : {
"rotatorItems" : [
{
"boneName" : "Bone",
"constraints" : [
{
"followsView" : true,
"followsBone" : false,
"parentBone" : "",
"allowedMarginPitch" : 0.2
}
]
},
{
"boneName" : "Leg.L",
"constraints" : [
{
"followsView" : false,
"followsBone" : true,
"parentBone" : "myTorsoBone",
"allowedMarginYaw" : 0.2
}
]
},
{
"boneName" : "Leg.R",
"constraints" : [
{
"followsView" : false,
"followsBone" : true,
"parentBone" : "myTorsoBone",
"allowedMarginYaw" : 0.2
}
]
}
]
},
"equipPoints" : [
{
"equipPointId" : "handLeft",
"bone" : "MiddleLower.L",
"offsetVector" : [],
"offsetRotation" : [],
"equipClassWhitelist" : [
"tool",
"shield",
"item"
]
},
{
"equipPointId" : "handRight",
"bone" : "MiddleLower.R",
"offsetVector" : [],
"offsetRotation" : [],
"equipClassWhitelist" : [
"tool",
"weapon",
"item"
]
},
{
"equipPointId" : "Torso",
"bone" : "Bone",
"offsetVector" : [],
"offsetRotation" : [],
"equipClassWhitelist" : [
"armor",
"clothing"
]
},
{
"equipPointId" : "Legs",
"bone" : "Bone",
"offsetVector" : [],
"offsetRotation" : [],
"equipClassWhitelist" : [
"armor",
"clothing"
]
}
],
"collidable" : {
"type" : "CYLINDER",
"dimension1" : 0.1,
"dimension2" : 0.45,
"dimension3" : 0.1,
"offsetX" : 0,
"offsetY" : 0.45,
"offsetZ" : 0
},
"attackMoves" : [
{
"attackMoveId" : "Sword1HSlash1",
"type" : "MELEE_WEAPON_SWING_ONE_HAND",
"attackAnimationName" : "Sword1HSlash1",
"windupFrames" : 5,
"attackFrames" : 5,
"cooldownFrames" : 25,
"firesProjectile" : false,
"nextMoveId" : "Sword1HSlash2",
"nextAttackMoveWindowStart" : 0,
"nextAttackMoveWindowEnd" : 1,
"moveChainWindowStart" : 12,
"moveChainWindowEnd" : 18,
"driftGoal" : 0.02,
"driftFrameStart" : 7,
"driftFrameEnd" : 15,
"initialMove" : true
},
{
"attackMoveId" : "Sword1HSlash2",
"type" : "MELEE_WEAPON_SWING_ONE_HAND",
"attackAnimationName" : "Sword1HSlash2",
"windupFrames" : 2,
"attackFrames" : 5,
"cooldownFrames" : 28,
"firesProjectile" : false,
"nextMoveId" : "Sword1HSlash1",
"nextAttackMoveWindowStart" : 10,
"nextAttackMoveWindowEnd" : 18,
"driftGoal" : 0.03,
"driftFrameStart" : 1,
"driftFrameEnd" : 10,
"initialMove" : false
},
{
"attackMoveId" : "Bow2HFire",
"type" : "RANGED_WEAPON_BOW_TWO_HAND",
"windupAnimationName" : "HoldBowString",
"holdAnimationName" : "HoldBow",
"attackAnimationName" : "HoldBowString",
"damageStartFrame" : 30,
"damageEndFrame" : 60,
"firesProjectile" : true,
"nextMoveId" : "",
"nextAttackMoveWindowStart" : 0,
"nextAttackMoveWindowEnd" : 1,
"movementStart" : 0,
"movementEnd" : 0,
"movementGoal" : 0,
"initialMove" : false
}
],
"healthSystem" : {
"maxHealth" : 100,
"onDamageIFrames" : 30
},
"modelPath" : "Models/elf1.fbx"
}
],
"files" : []
}

View File

@ -117,17 +117,17 @@
"acceleration" : 10.0, "acceleration" : 10.0,
"maxVelocity" : 0.025, "maxVelocity" : 0.025,
"animationStartup" : { "animationStartup" : {
"name" : "Armature|Jog", "name" : "Jog",
"length" : 1, "length" : 1,
"loops" : false "loops" : false
}, },
"animationLoop" : { "animationLoop" : {
"name" : "Armature|Jog", "name" : "Jog",
"length" : 1, "length" : 1,
"loops" : false "loops" : false
}, },
"animationWindDown" : { "animationWindDown" : {
"name" : "Armature|Jog", "name" : "Jog",
"length" : 1, "length" : 1,
"loops" : false "loops" : false
}, },
@ -151,7 +151,7 @@
"jumpFrames" : 30, "jumpFrames" : 30,
"jumpForce" : 0.05, "jumpForce" : 0.05,
"animationJump" : { "animationJump" : {
"name" : "Armature|Jump", "name" : "Jump",
"length" : 1, "length" : 1,
"loops" : false "loops" : false
} }
@ -159,12 +159,12 @@
{ {
"type" : "FALL", "type" : "FALL",
"animationFall" : { "animationFall" : {
"name" : "Armature|Fall", "name" : "Fall",
"length" : 1, "length" : 1,
"loops" : true "loops" : true
}, },
"animationLand" : { "animationLand" : {
"name" : "Armature|Land", "name" : "Land",
"length" : 1, "length" : 1,
"loops" : true "loops" : true
} }
@ -264,7 +264,7 @@
{ {
"attackMoveId" : "Sword1HSlash1", "attackMoveId" : "Sword1HSlash1",
"type" : "MELEE_WEAPON_SWING_ONE_HAND", "type" : "MELEE_WEAPON_SWING_ONE_HAND",
"attackAnimationName" : "Armature|Sword1HSlash1", "attackAnimationName" : "Sword1HSlash1",
"windupFrames" : 5, "windupFrames" : 5,
"attackFrames" : 5, "attackFrames" : 5,
"cooldownFrames" : 25, "cooldownFrames" : 25,
@ -282,7 +282,7 @@
{ {
"attackMoveId" : "Sword1HSlash2", "attackMoveId" : "Sword1HSlash2",
"type" : "MELEE_WEAPON_SWING_ONE_HAND", "type" : "MELEE_WEAPON_SWING_ONE_HAND",
"attackAnimationName" : "Armature|Sword1HSlash2", "attackAnimationName" : "Sword1HSlash2",
"windupFrames" : 2, "windupFrames" : 2,
"attackFrames" : 5, "attackFrames" : 5,
"cooldownFrames" : 28, "cooldownFrames" : 28,
@ -298,9 +298,9 @@
{ {
"attackMoveId" : "Bow2HFire", "attackMoveId" : "Bow2HFire",
"type" : "RANGED_WEAPON_BOW_TWO_HAND", "type" : "RANGED_WEAPON_BOW_TWO_HAND",
"windupAnimationName" : "Armature|HoldBowString", "windupAnimationName" : "HoldBowString",
"holdAnimationName" : "Armature|HoldBow", "holdAnimationName" : "HoldBow",
"attackAnimationName" : "Armature|HoldBowString", "attackAnimationName" : "HoldBowString",
"damageStartFrame" : 30, "damageStartFrame" : 30,
"damageEndFrame" : 60, "damageEndFrame" : 60,
"firesProjectile" : true, "firesProjectile" : true,

BIN
assets/Models/elf1.fbx Normal file

Binary file not shown.

View File

@ -166,6 +166,104 @@
"/Textures/b1.png" "/Textures/b1.png"
] ]
}, },
"Models/elf1.fbx" : {
"Torso" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Hand.L" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Forearm.L" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Bicep.L" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Hand.R" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Forearm.R" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Bicep.R" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Foot.L" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Foot.R" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"LowerLeg.L" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"LowerLeg.R" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"UpperLeg.L" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"UpperLeg.R" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Shorts" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Shoulder.L" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Shoulder.R" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Neck" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Head" : [
"/Textures/skin1.png",
"/Textures/skin1.png"
],
"Eyebrow.R" : [
"/Textures/b1.png",
"/Textures/b1.png"
],
"Eyebrow.L" : [
"/Textures/b1.png",
"/Textures/b1.png"
],
"Eye.R" : [
"/Textures/w1.png",
"/Textures/w1.png"
],
"Eye.L" : [
"/Textures/w1.png",
"/Textures/w1.png"
],
"Iris.R" : [
"/Textures/b1.png",
"/Textures/b1.png"
],
"Iris.L" : [
"/Textures/b1.png",
"/Textures/b1.png"
]
},
"Models/building1.fbx" : { "Models/building1.fbx" : {
"Cube.001" : [ "Cube.001" : [
"/Textures/building_diffuse.png", "/Textures/building_diffuse.png",

View File

@ -21,15 +21,15 @@ import org.lwjgl.assimp.AIVectorKey;
*/ */
public class Animation { public class Animation {
public static final String ANIMATION_MOVEMENT_STARTUP = "Armature|WalkStart"; public static final String ANIMATION_MOVEMENT_STARTUP = "WalkStart";
public static final String ANIMATION_MOVEMENT_MOVE = "Armature|Walk"; public static final String ANIMATION_MOVEMENT_MOVE = "Walk";
public static final String ANIMATION_IDLE_1 = "Armature|Idle1"; public static final String ANIMATION_IDLE_1 = "Idle1";
public static final String ANIMATION_SWING_PRIMARY = "Armature|SwingWeapon"; public static final String ANIMATION_SWING_PRIMARY = "SwingWeapon";
public static final String ANIMATION_SPRINT_STARTUP = "Armature|RunStart"; public static final String ANIMATION_SPRINT_STARTUP = "RunStart";
public static final String ANIMATION_SPRINT = "Armature|Run"; public static final String ANIMATION_SPRINT = "Run";
public static final String ANIMATION_SPRINT_WINDDOWN = "Armature|RunStart"; public static final String ANIMATION_SPRINT_WINDDOWN = "RunStart";
public static final String ANIMATION_WALK_RIGHT = "Armature|JogRight"; public static final String ANIMATION_WALK_RIGHT = "JogRight";
public static final String ANIMATION_WALK_LEFT = "Armature|JogLeft"; public static final String ANIMATION_WALK_LEFT = "JogLeft";