Updated ESS, also added support for the new modelpart transforms on the gdscript side.

This commit is contained in:
Relintai 2021-01-29 16:33:27 +01:00
parent 4cf18b244b
commit ef061631d2
4 changed files with 30 additions and 5 deletions

2
HEADS
View File

@ -1 +1 @@
{"engine": {"3.2": "803f6d2388f64d069810554ab1b0a57d6a5a8087", "master": "8c73e813134001e575b6f59e3b0100471c007410"}, "world_generator": {"master": "805928da1872cf803a14c34c95fc5de9b0996ee6"}, "entity_spell_system": {"master": "52cd322c8859ce9eba64e0c9e4819417783c3086"}, "ui_extensions": {"master": "07c50b139fd3db4cb813db9955187f9530b754bb"}, "voxelman": {"master": "fd464c042c0d862da994bc5f721a7315bf555c9a"}, "texture_packer": {"master": "f98b7410cd3f2a743cb57456910ad9f93ef89937"}, "fastnoise": {"master": "d0e3f1c759332cf0d9a5d7e0e71d0b0278310651"}, "mesh_data_resource": {"master": "b852ab0e525addbd11ebcdd7d16b7536171837be"}, "procedural_animations": {"master": "ec465a7a683a047cd373959bb022bde1321fb72d"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "props": {"master": "bfb60df21570415b1860c25c2dae7722cf158ed9"}, "mesh_utils": {"master": "ab36f527d77a76fd525687dd4b92d8f22810d5c9"}, "broken_seals_module": {"master": "9f89e2a4e7b59351ac4cb4c4dc5f88e5b60a2f15"}, "thread_pool": {"master": "bc0d2f6debd23fe7112f2aab21efb66414eb4670"}}
{"engine": {"3.2": "803f6d2388f64d069810554ab1b0a57d6a5a8087", "master": "8c73e813134001e575b6f59e3b0100471c007410"}, "world_generator": {"master": "805928da1872cf803a14c34c95fc5de9b0996ee6"}, "entity_spell_system": {"master": "9621a6dda57a2020290894963a77ad2a498f8f8c"}, "ui_extensions": {"master": "07c50b139fd3db4cb813db9955187f9530b754bb"}, "voxelman": {"master": "fd464c042c0d862da994bc5f721a7315bf555c9a"}, "texture_packer": {"master": "f98b7410cd3f2a743cb57456910ad9f93ef89937"}, "fastnoise": {"master": "d0e3f1c759332cf0d9a5d7e0e71d0b0278310651"}, "mesh_data_resource": {"master": "b852ab0e525addbd11ebcdd7d16b7536171837be"}, "procedural_animations": {"master": "ec465a7a683a047cd373959bb022bde1321fb72d"}, "ess_data": {"master": "3bd637fdd3304b64a18287a49a6b7387acf2f5de"}, "props": {"master": "bfb60df21570415b1860c25c2dae7722cf158ed9"}, "mesh_utils": {"master": "ab36f527d77a76fd525687dd4b92d8f22810d5c9"}, "broken_seals_module": {"master": "9f89e2a4e7b59351ac4cb4c4dc5f88e5b60a2f15"}, "thread_pool": {"master": "bc0d2f6debd23fe7112f2aab21efb66414eb4670"}}

File diff suppressed because one or more lines are too long

View File

@ -179,7 +179,7 @@ bone_name = "left_forearm"
transform = Transform( 0.122585, 0.992132, -0.0242311, 0.987746, -0.124342, -0.0941345, -0.0964273, -0.0123912, -0.995239, 0.0157415, 0.108918, 0.0213161 )
[node name="RightHandAttachment" type="BoneAttachment" parent="armature/Armature/Skeleton" index="3"]
transform = Transform( -0.0270232, -0.0924786, -0.995348, -0.0997119, -0.990496, 0.0947352, -0.99465, 0.101808, 0.0175453, -0.248237, 0.77238, -0.0111511 )
transform = Transform( -0.0270232, -0.0924787, -0.995348, -0.0997119, -0.990496, 0.0947352, -0.99465, 0.101808, 0.0175453, -0.248237, 0.77238, -0.0111511 )
bone_name = "right_hand"
[node name="RightHandAP" type="Spatial" parent="armature/Armature/Skeleton/RightHandAttachment"]
@ -197,7 +197,7 @@ script = ExtResource( 2 )
positions = [ ]
[node name="NeckAttachment" type="BoneAttachment" parent="armature/Armature/Skeleton" index="5"]
transform = Transform( 0.999992, 0.00218317, -0.00333621, -0.0019591, 0.997835, 0.0657461, 0.00347252, -0.065739, 0.997831, 0.000876503, 1.31821, 0.00123351 )
transform = Transform( 0.999992, 0.00218317, -0.00333621, -0.00195909, 0.997835, 0.0657461, 0.00347252, -0.065739, 0.997831, 0.000876503, 1.31821, 0.00123351 )
bone_name = "neck"
[node name="TorsoAP" type="Spatial" parent="armature/Armature/Skeleton/NeckAttachment"]

View File

@ -156,6 +156,15 @@ func build():
continue
var bone_idx : int = skeleton.find_bone(bone_name)
var abi_dict : Dictionary = Dictionary()
for abti in range(bone_additional_mesh_transform_count):
var obi : int = bone_additional_mesh_transform_bone_index_get(abti)
var bin = get_bone_name(obi)
var bi : int = skeleton.find_bone(bin)
abi_dict[bi] = bone_additional_mesh_transform_transform_get(abti) * bone_additional_mesh_transform_user_transform_get(abti)
var ddict : Dictionary = Dictionary()
for j in range(get_model_entry_count(skele_point)):
@ -166,7 +175,23 @@ func build():
ddict["bone_name"] = bone_name
ddict["bone_idx"] = bone_idx
var global_pose = skeleton.get_bone_global_pose(bone_idx)
ddict["transform"] = skeleton.get_bone_global_pose(bone_idx)
if abi_dict.has(bone_idx):
global_pose *= abi_dict[bone_idx]
# for abti in range(bone_model_additional_mesh_transform_count):
# var bin = get_bone_name(bone_model_additional_mesh_transform_bone_index_get(abti))
# var bi : int = skeleton.find_bone(bin)
#
# if bone_idx == bi:
# global_pose *= bone_model_additional_mesh_transform_bone_transform_get(abti)
# break
#
ddict["transform"] = global_pose
ddict["mesh"] = entry.entry.get_mesh(k)
var texture_layer_array : Array = Array()