From d3acd8c09c29e94377d80bac44064808eea05fb6 Mon Sep 17 00:00:00 2001 From: mathias Date: Sun, 2 Feb 2020 15:26:02 +0100 Subject: [PATCH] Horseleg inclueded --- BodyParts/HorseLeg.gd | 31 ++++++++++++++++++++++++++ BodyParts/HorseLeg.tscn | 49 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 BodyParts/HorseLeg.gd create mode 100644 BodyParts/HorseLeg.tscn diff --git a/BodyParts/HorseLeg.gd b/BodyParts/HorseLeg.gd new file mode 100644 index 0000000..26f871c --- /dev/null +++ b/BodyParts/HorseLeg.gd @@ -0,0 +1,31 @@ +extends PushingBodyPart + + +onready var anim = get_node("Mesh/AnimationPlayer") + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +func _is_animation_playing(): + return anim.is_playing() + + +func action(): + anim.play("ArmatureAction") + + # Apply a slight counter force + var offset = transform.basis.xform(Vector3.ZERO) #transform.basis.xform(touch_area.global_transform.origin - base.global_transform.origin) * 0.5 + var direction = -(base.transform.basis.y - base.transform.basis.z).normalized() * 0.5 + + base.apply_impulse(offset, direction) + + +func push(body): + # We multiply by 0.1 because we only want it to spin slightly, it should mostly go up + var offset = transform.basis.xform(Vector3.ZERO) #transform.basis.xform(touch_area.global_transform.origin - base.global_transform.origin) * 0.5 + var direction = (base.transform.basis.y - base.transform.basis.z).normalized() * 19.0 + + base.apply_impulse(offset, direction) diff --git a/BodyParts/HorseLeg.tscn b/BodyParts/HorseLeg.tscn new file mode 100644 index 0000000..d4fa328 --- /dev/null +++ b/BodyParts/HorseLeg.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=8 format=2] + +[ext_resource path="res://3D Input/Fertige GLBs/Bein_Pferd.glb" type="PackedScene" id=1] +[ext_resource path="res://BodyParts/PushingBodyPart.tscn" type="PackedScene" id=2] +[ext_resource path="res://3D Input/pferdtextur.png" type="Texture" id=3] +[ext_resource path="res://BodyParts/HorseLeg.gd" type="Script" id=4] + +[sub_resource type="BoxShape" id=2] +extents = Vector3( 0.452502, 2.45458, 0.822059 ) + +[sub_resource type="SphereShape" id=3] +radius = 0.195173 + +[sub_resource type="SpatialMaterial" id=1] +albedo_texture = ExtResource( 3 ) + +[node name="HorseLeg" instance=ExtResource( 2 )] +transform = Transform( -1, -3.89414e-07, -1.70218e-14, 0, -4.37114e-08, 1, -3.89414e-07, 1, 4.37114e-08, -0.194821, -0.336704, 1.57652 ) +script = ExtResource( 4 ) + +[node name="PartCollider" parent="." index="0"] +transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 1.35601e-06, -3.54662, -8.9407e-08 ) +shape = SubResource( 2 ) + +[node name="TouchArea" parent="." index="1"] +transform = Transform( -2.11393, -0.0496973, -0.00818296, 0.0470731, -1.82726, -1.06308, 0.017914, -1.06296, 1.82785, -0.011488, -5.48132, 0.244033 ) + +[node name="CollisionShape" type="CollisionShape" parent="TouchArea" index="0"] +transform = Transform( 1, 0, -1.86265e-09, 1.86265e-09, 1, 0, 0, -2.98023e-08, 1, 0, 0, 0 ) +shape = SubResource( 3 ) + +[node name="Mesh" parent="." index="4" instance=ExtResource( 1 )] +transform = Transform( 0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, -7, 0 ) + +[node name="Skeleton" parent="Mesh/Armature" index="0"] +bones/2/bound_children = [ NodePath("BoneAttachment") ] + +[node name="Cube" parent="Mesh/Armature/Skeleton" index="0"] +transform = Transform( 1, -2.84217e-14, -3.55271e-15, -2.84217e-14, 1, 0, 0, 0, 1, 0, 0, 0 ) +material/0 = SubResource( 1 ) + +[node name="BoneAttachment" type="BoneAttachment" parent="Mesh/Armature/Skeleton" index="1"] +transform = Transform( -0.999716, -0.0235028, -0.00386987, -0.0209347, 0.789477, 0.613423, -0.011362, 0.61333, -0.789745, -0.00543287, 1.86361, 0.173834 ) +bone_name = "bone_2" + +[node name="RemoteTransform" type="RemoteTransform" parent="Mesh/Armature/Skeleton/BoneAttachment" index="0"] +remote_path = NodePath("../../../../../TouchArea") + +[editable path="Mesh"]