Feat/14 movement overhaul #20
@@ -117,14 +117,14 @@ func _ensure_locomotion_animations(ap: AnimationPlayer) -> void:
|
|||||||
# Bone names match the GLB skeleton exactly
|
# Bone names match the GLB skeleton exactly
|
||||||
var hips: String = _get_bone_name("Hips")
|
var hips: String = _get_bone_name("Hips")
|
||||||
var spine: String = _get_bone_name("Spine")
|
var spine: String = _get_bone_name("Spine")
|
||||||
var chest: String = _get_bone_name("Chest")
|
var _chest: String = _get_bone_name("Chest")
|
||||||
var head: String = _get_bone_name("Head")
|
var head: String = _get_bone_name("Head")
|
||||||
var left_upper_arm: String = _get_bone_name("LeftUpperArm")
|
var left_upper_arm: String = _get_bone_name("LeftUpperArm")
|
||||||
var left_lower_arm: String = _get_bone_name("LeftLowerArm")
|
var left_lower_arm: String = _get_bone_name("LeftLowerArm")
|
||||||
var left_hand: String = _get_bone_name("LeftHand")
|
var _left_hand: String = _get_bone_name("LeftHand")
|
||||||
var right_upper_arm: String = _get_bone_name("RightUpperArm")
|
var right_upper_arm: String = _get_bone_name("RightUpperArm")
|
||||||
var right_lower_arm: String = _get_bone_name("RightLowerArm")
|
var right_lower_arm: String = _get_bone_name("RightLowerArm")
|
||||||
var right_hand: String = _get_bone_name("RightHand")
|
var _right_hand: String = _get_bone_name("RightHand")
|
||||||
var left_upper_leg: String = _get_bone_name("LeftUpperLeg")
|
var left_upper_leg: String = _get_bone_name("LeftUpperLeg")
|
||||||
var left_lower_leg: String = _get_bone_name("LeftLowerLeg")
|
var left_lower_leg: String = _get_bone_name("LeftLowerLeg")
|
||||||
var left_foot: String = _get_bone_name("LeftFoot")
|
var left_foot: String = _get_bone_name("LeftFoot")
|
||||||
@@ -188,17 +188,17 @@ func _ensure_locomotion_animations(ap: AnimationPlayer) -> void:
|
|||||||
_add_bone_track(anim, prefix + hips, [{ "time": 0.0, "value": Vector3(0, 0, 0) }, { "time": 1.0, "value": Vector3(0, 0.003, 0) }, { "time": 2.0, "value": Vector3(0, 0, 0) }], prefix)
|
_add_bone_track(anim, prefix + hips, [{ "time": 0.0, "value": Vector3(0, 0, 0) }, { "time": 1.0, "value": Vector3(0, 0.003, 0) }, { "time": 2.0, "value": Vector3(0, 0, 0) }], prefix)
|
||||||
_add_animation_to_player(ap, "Idle", anim)
|
_add_animation_to_player(ap, "Idle", anim)
|
||||||
|
|
||||||
func _get_bone_name(name: String) -> String:
|
func _get_bone_name(bone_name: String) -> String:
|
||||||
## Returns the bone name as stored in the skeleton (uses cache).
|
## Returns the bone name as stored in the skeleton (uses cache).
|
||||||
if _bone_cache.has(name):
|
if _bone_cache.has(bone_name):
|
||||||
return name
|
return bone_name
|
||||||
return name
|
return bone_name
|
||||||
|
|
||||||
func _create_locomotion_anim(
|
func _create_locomotion_anim(
|
||||||
prefix: String,
|
prefix: String,
|
||||||
loop: bool,
|
loop: bool,
|
||||||
l_leg_upper: String, l_leg_lower: String, l_foot: String,
|
l_leg_upper: String, l_leg_lower: String, _l_foot: String,
|
||||||
r_leg_upper: String, r_leg_lower: String, r_foot: String,
|
r_leg_upper: String, r_leg_lower: String, _r_foot: String,
|
||||||
l_arm_upper: String, l_arm_lower: String,
|
l_arm_upper: String, l_arm_lower: String,
|
||||||
r_arm_upper: String, r_arm_lower: String,
|
r_arm_upper: String, r_arm_lower: String,
|
||||||
spine: String, hips: String,
|
spine: String, hips: String,
|
||||||
@@ -277,14 +277,14 @@ func _add_bone_track(anim: Animation, bone_path: String, keyframes: Array, _pref
|
|||||||
for kf in keyframes:
|
for kf in keyframes:
|
||||||
anim.track_insert_key(track_idx, kf["time"], kf["value"])
|
anim.track_insert_key(track_idx, kf["time"], kf["value"])
|
||||||
|
|
||||||
func _add_animation_to_player(ap: AnimationPlayer, name: String, anim: Animation) -> void:
|
func _add_animation_to_player(ap: AnimationPlayer, anim_name: String, anim: Animation) -> void:
|
||||||
## Adds an animation to the AnimationPlayer via its default library.
|
## Adds an animation to the AnimationPlayer via its default library.
|
||||||
var lib_name: String = ""
|
var lib_name: String = ""
|
||||||
if not ap.has_animation_library(lib_name):
|
if not ap.has_animation_library(lib_name):
|
||||||
ap.add_animation_library(lib_name, AnimationLibrary.new())
|
ap.add_animation_library(lib_name, AnimationLibrary.new())
|
||||||
var lib = ap.get_animation_library(lib_name)
|
var lib = ap.get_animation_library(lib_name)
|
||||||
lib.add_animation(name, anim)
|
lib.add_animation(anim_name, anim)
|
||||||
print("SkinnedPlayerModel: added '%s' (%d tracks)" % [name, anim.get_track_count()])
|
print("SkinnedPlayerModel: added '%s' (%d tracks)" % [anim_name, anim.get_track_count()])
|
||||||
|
|
||||||
func _setup_first_person() -> void:
|
func _setup_first_person() -> void:
|
||||||
# In first person, hide the head and upper body so only arms/hands/legs show
|
# In first person, hide the head and upper body so only arms/hands/legs show
|
||||||
|
|||||||
Reference in New Issue
Block a user