From 3a7febe17acdedde3ad78653c7cb1ee5ce5dc2f9 Mon Sep 17 00:00:00 2001 From: Ententerminator Date: Sat, 1 Feb 2020 11:27:04 +0100 Subject: [PATCH 1/2] its better now*= decline --- BodyConfig/bodyBuildingScript.gd | 40 ++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/BodyConfig/bodyBuildingScript.gd b/BodyConfig/bodyBuildingScript.gd index cf0b979..194216e 100644 --- a/BodyConfig/bodyBuildingScript.gd +++ b/BodyConfig/bodyBuildingScript.gd @@ -1,32 +1,48 @@ extends Spatial -const ROT_MOD = 10 - +const ROT_MOD = 500 +const ROT_DECLINE = 0.1 var _viewRot = false var _prev_mouse_pos +var _velx = 0 +var _vely = 0 + +var _torso : RigidBody # Called when the node enters the scene tree for the first time. func _ready(): PhysicsServer.area_set_param(get_viewport().find_world().get_space(), PhysicsServer.AREA_PARAM_GRAVITY, 0) + _torso = get_node("Torso") - -func _physics_process(delta): +func _process(delta): if _viewRot: var mouse_pos = get_viewport().get_mouse_position() - var x_dif = mouse_pos.x - _prev_mouse_pos.x - var y_dif = mouse_pos.y - _prev_mouse_pos.y - - print (x_dif) - print (y_dif) - - rotate_x(x_dif * ROT_MOD * delta * PI/180 - global_transform.basis.get_euler().y) - rotate_y(y_dif * ROT_MOD * delta * PI/180 - global_transform.basis.get_euler().y) + _velx = (mouse_pos.x - _prev_mouse_pos.x) * delta + _vely = (mouse_pos.y - _prev_mouse_pos.y) * delta _prev_mouse_pos = mouse_pos + + if not(_velx < 0.001 and _velx > -0.001) or not(_vely < 0.001 and _vely > -0.001) or _viewRot: + _torso.rotate_x(_vely * ROT_MOD * delta * PI/180 - global_transform.basis.get_euler().x) + _torso.rotate_y(_velx * ROT_MOD * delta * PI/180 - global_transform.basis.get_euler().y) + var decline = (1 - ROT_DECLINE * (delta*100)) + + if decline > 1: + decline = 1 + elif decline < 0: + decline = 0 + + _velx *= decline + _vely *= decline + + + +func _physics_process(delta): + pass # Get the camera #var camera = get_node("GUI/HBoxC/ViewportContainer/Viewport/Camera") From bcfdd2c6c66415eeb42ef52cdb60e109ef116a5b Mon Sep 17 00:00:00 2001 From: karl Date: Sat, 1 Feb 2020 11:29:43 +0100 Subject: [PATCH 2/2] Fix arm --- Ingame/BodyParts/Arm.gd | 14 ++++++++++---- Ingame/BodyParts/Arm.tscn | 30 +++++------------------------- 2 files changed, 15 insertions(+), 29 deletions(-) diff --git a/Ingame/BodyParts/Arm.gd b/Ingame/BodyParts/Arm.gd index 9ef2789..f3f6ffe 100644 --- a/Ingame/BodyParts/Arm.gd +++ b/Ingame/BodyParts/Arm.gd @@ -1,9 +1,7 @@ -extends "res://Ingame/BodyParts/PushingBodyPart.gd" +extends PushingBodyPart -# Declare member variables here. Examples: -# var a: int = 2 -# var b: String = "text" +onready var anim = get_node("Mesh/AnimationPlayer") # Called when the node enters the scene tree for the first time. @@ -11,6 +9,14 @@ func _ready() -> void: pass # Replace with function body. +func action(): + anim.play("ArmatureAction001") + + +func push(body): + # TODO: Hardcoded values - maybe try to generalize + base.apply_impulse(transform.basis.xform(Vector3(0.0, 0.0, -3.0)), base.transform.basis.y * 10.0) + # Called every frame. 'delta' is the elapsed time since the previous frame. #func _process(delta: float) -> void: # pass diff --git a/Ingame/BodyParts/Arm.tscn b/Ingame/BodyParts/Arm.tscn index 2137615..0513701 100644 --- a/Ingame/BodyParts/Arm.tscn +++ b/Ingame/BodyParts/Arm.tscn @@ -2,30 +2,7 @@ [ext_resource path="res://Ingame/BodyParts/PushingBodyPart.tscn" type="PackedScene" id=1] [ext_resource path="res://3D Input/untitled.glb" type="PackedScene" id=2] - -[sub_resource type="GDScript" id=1] -script/source = "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 action(): - anim.play(\"ArmatureAction001\") - - -func push(body): - base.apply_impulse(touch_area.transform.origin, base.transform.basis.y * 6.0) - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta: float) -> void: -# pass -" +[ext_resource path="res://Ingame/BodyParts/Arm.gd" type="Script" id=3] [sub_resource type="SphereShape" id=4] @@ -33,7 +10,7 @@ func push(body): radius = 0.591769 [node name="Arm" instance=ExtResource( 1 )] -script = SubResource( 1 ) +script = ExtResource( 3 ) [node name="PartCollider" parent="." index="0"] transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -8 ) @@ -41,6 +18,9 @@ shape = SubResource( 4 ) [node name="Mesh" parent="." index="1" instance=ExtResource( 2 )] +[node name="Skeleton" parent="Mesh/Armature" index="0"] +bones/2/bound_children = [ NodePath("BoneAttachment") ] + [node name="BoneAttachment" type="BoneAttachment" parent="Mesh/Armature/Skeleton" index="1"] transform = Transform( 1, -1.98247e-23, -2.98292e-24, 6.50669e-24, -9.49949e-08, 1, -2.07684e-23, -1, -9.49949e-08, -2.23781e-16, -0.0078205, -5.05441 ) bone_name = "bone_2"