adding rotate camera and player follow direction

This commit is contained in:
AleaJactaEst 2022-02-03 00:01:07 +01:00
parent 11acbf1250
commit 4a6692050c
9 changed files with 280 additions and 79 deletions

View file

@ -32,4 +32,3 @@ process/normal_map_invert_y=false
process/HDR_as_SRGB=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0

View file

@ -6,7 +6,7 @@
[node name="main_scene" type="Node3D"]
[node name="sunlight" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.0749787, -0.776052, 0.626195, 2.98023e-08, 0.627963, 0.778243, -0.997185, 0.0583517, -0.0470839, 0, 7.57957, 0)
transform = Transform3D(-0.0749787, -0.776052, 0.626196, 2.98023e-08, 0.627963, 0.778243, -0.997185, 0.0583517, -0.0470839, 0, 7.57957, 0)
shadow_enabled = true
[node name="player" parent="." instance=ExtResource( "2_bge2k" )]

View file

@ -1,12 +1,20 @@
[gd_scene load_steps=3 format=3 uid="uid://dhqay3umgle6c"]
[gd_scene load_steps=4 format=3 uid="uid://dhqay3umgle6c"]
[ext_resource type="Material" uid="uid://cdijyqa881tvv" path="res://maps/simple_grid.material" id="1_ympm1"]
[sub_resource type="BoxMesh" id="BoxMesh_k23th"]
material = ExtResource( "1_ympm1" )
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_y7uft"]
data = PackedVector3Array(-1, 1, 1, 1, 1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, -1, 1, 1, 1, -1, -1, 1, -1, 1, -1, -1, -1, 1, -1, -1, -1, -1, 1, -1, -1, 1, 1, 1, 1, 1, -1, 1, -1, 1, 1, 1, -1, 1, -1, -1, 1, -1, 1, -1, 1, -1, -1, 1, 1, -1, -1, -1, -1, 1, 1, -1, -1, 1, -1, -1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, -1, 1, 1, -1, 1, -1, 1, 1, -1, -1, -1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, 1, -1, -1, -1, -1, -1)
[node name="basic_setup" type="Node3D"]
[node name="floor" type="MeshInstance3D" parent="."]
transform = Transform3D(10, 0, 0, 0, 0.1, 0, 0, 0, 10, 0, -0.1, 0)
mesh = SubResource( "BoxMesh_k23th" )
[node name="StaticBody3D" type="StaticBody3D" parent="floor"]
[node name="@@22318" type="CollisionShape3D" parent="floor/StaticBody3D"]
shape = SubResource( "ConcavePolygonShape3D_y7uft" )

View file

@ -32,4 +32,3 @@ process/normal_map_invert_y=false
process/HDR_as_SRGB=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0

View file

@ -1,16 +1,16 @@
extends Node3D
var starting_point = Vector2(DisplayServer.window_get_size().x / 2, DisplayServer.window_get_size().y / 2)
func _ready():
# Place the mouse at the center of the screen
get_viewport().warp_mouse(starting_point)
func _input(event):
# If right mouse button is pressed and mouse moves, pan horizontally camera
# and rotate vertically
if Input.is_mouse_button_pressed( 2 ):
if event is InputEventMouseMotion:
$horizontal_root.rotate_y( event.relative.x *0.01 )
$horizontal_root/vertical_root.rotate_x( event.relative.y * 0.01 )
#var starting_point = Vector2(DisplayServer.window_get_size().x / 2, DisplayServer.window_get_size().y / 2)
#
#func _ready():
## Place the mouse at the center of the screen
# get_viewport().warp_mouse(starting_point)
#
#
#func _input(event):
# # If right mouse button is pressed and mouse moves, pan horizontally camera
# # and rotate vertically
# if Input.is_mouse_button_pressed( 2 ):
# if event is InputEventMouseMotion:
# $horizontal_root.rotate_y( event.relative.x *0.01 )
# $horizontal_root/vertical_root.rotate_x( event.relative.y * 0.01 )

View file

@ -5,66 +5,84 @@
[node name="character" instance=ExtResource( "1_2jxjm" )]
[node name="Skeleton3D" parent="char_grp/rig" index="0"]
bones/2/rotation = Quaternion(-0.271757, 0.626496, -0.507842, 0.525117)
bones/5/rotation = Quaternion(-0.445372, 0.390831, -0.410612, 0.693032)
bones/6/rotation = Quaternion(-0.0372555, -0.0374979, 0.122351, 0.991078)
bones/9/rotation = Quaternion(-0.55327, -0.021387, -0.0662289, 0.830089)
bones/12/rotation = Quaternion(-0.69924, -0.00070756, -0.0840618, 0.709928)
bones/14/rotation = Quaternion(-0.281124, -0.000329497, -0.0339629, 0.95907)
bones/17/rotation = Quaternion(-0.541706, 0.00703882, -0.0505262, 0.839019)
bones/20/rotation = Quaternion(-0.727666, -0.00506352, -0.0876433, 0.680291)
bones/22/rotation = Quaternion(-0.340549, -0.00194646, -0.041411, 0.939312)
bones/25/rotation = Quaternion(-0.55521, 0.0120764, -0.0438172, 0.830467)
bones/28/rotation = Quaternion(-0.864959, 0.00479228, -0.103815, 0.490964)
bones/30/rotation = Quaternion(-0.171698, -0.00446994, -0.0205173, 0.984926)
bones/38/rotation = Quaternion(-0.38892, -0.00569116, -0.0466897, 0.92007)
bones/41/rotation = Quaternion(0.0189979, 0.0622678, -0.039629, 0.997091)
bones/44/rotation = Quaternion(-0.352984, -0.0533485, -0.00972458, 0.934057)
bones/47/rotation = Quaternion(-0.491492, -0.286184, 0.496952, 0.655418)
bones/50/rotation = Quaternion(-0.440024, -0.360322, 0.385434, 0.726628)
bones/53/rotation = Quaternion(1.24162e-07, -0.0289177, 2.77174e-07, 0.999582)
bones/55/rotation = Quaternion(-0.445372, 0.390831, -0.410612, 0.693032)
bones/56/rotation = Quaternion(-2.72248e-07, -0.040541, -1.08628e-07, 0.999178)
bones/60/rotation = Quaternion(-0.502103, 0.436597, -0.652123, 0.363333)
bones/65/rotation = Quaternion(-0.519517, -0.442971, 0.636258, 0.359241)
bones/66/rotation = Quaternion(9.07769e-10, 0.0551515, 3.5838e-08, 0.998478)
bones/70/rotation = Quaternion(-0.440024, -0.360322, 0.385434, 0.726628)
bones/71/rotation = Quaternion(-0.067789, -0.0294414, -0.0321137, 0.996748)
bones/74/rotation = Quaternion(-0.529658, 0.0176954, 0.0583603, 0.846016)
bones/77/rotation = Quaternion(-0.686348, 0.000695412, 0.0817067, 0.722669)
bones/79/rotation = Quaternion(-0.325638, 0.000781165, 0.0388156, 0.944697)
bones/82/rotation = Quaternion(-0.508272, -0.0129833, 0.0348485, 0.860393)
bones/85/rotation = Quaternion(-0.788088, 0.00548676, 0.0939959, 0.608319)
bones/90/rotation = Quaternion(0.0583021, -0.0664381, 0.18425, 0.978897)
bones/93/rotation = Quaternion(-0.325608, 0.00672599, -0.0201309, 0.945267)
bones/95/rotation = Quaternion(-0.476819, 0.0786276, -0.0477728, 0.874173)
bones/98/rotation = Quaternion(-0.474577, -0.0113585, 0.0306311, 0.879608)
bones/101/rotation = Quaternion(-0.781749, -0.0043309, 0.0929099, 0.616618)
bones/103/rotation = Quaternion(-0.357714, 0.00928428, 0.0423253, 0.932826)
bones/106/rotation = Quaternion(-0.574211, 0.0203224, 0.0987876, 0.812471)
bones/109/rotation = Quaternion(-0.663777, 0.0235976, 0.0521688, 0.745736)
bones/111/rotation = Quaternion(-0.361751, 0.00527712, 0.0430036, 0.931268)
bones/112/rotation = Quaternion(0.0097308, -0.701742, -0.712346, 0.00508848)
bones/113/rotation = Quaternion(-0.0911941, -0.00258285, 0.000984978, 0.995829)
bones/116/rotation = Quaternion(0.080616, 0.00590208, 0.00270844, 0.996724)
bones/120/rotation = Quaternion(0.105174, 0.00605958, 0.0129845, 0.994351)
bones/123/rotation = Quaternion(-0.562449, 0.324106, 0.455498, 0.609203)
bones/125/rotation = Quaternion(-0.539888, -0.0493987, 0.199217, 0.816329)
bones/129/rotation = Quaternion(-0.558722, -0.301251, -0.453266, 0.625802)
bones/131/rotation = Quaternion(-0.508332, 0.0333607, -0.240729, 0.826157)
bones/139/rotation = Quaternion(0.0980113, -0.0899481, -0.0867249, 0.98731)
bones/140/rotation = Quaternion(-0.0310007, 0.0719017, 0.355743, 0.931298)
bones/142/rotation = Quaternion(0.470828, 0.517658, -0.563252, 0.439429)
bones/143/rotation = Quaternion(0.00477369, 0.990276, 0.139034, 0.000545654)
bones/144/rotation = Quaternion(0.105475, -3.99246e-08, -0.0774747, 0.991399)
bones/148/rotation = Quaternion(0.0834681, -3.02306e-08, 0.0769496, 0.993535)
bones/151/rotation = Quaternion(0.0726204, 0.130697, 0.0872612, 0.984901)
bones/152/rotation = Quaternion(0.0219061, -0.0761316, -0.353842, 0.931944)
bones/154/rotation = Quaternion(0.474683, -0.474536, 0.557822, 0.488187)
bones/155/rotation = Quaternion(0.0047883, -0.989589, -0.143844, 0.0006509)
bones/156/rotation = Quaternion(-0.492611, 0.329333, -0.498554, 0.632707)
bones/162/rotation = Quaternion(0.000208666, -0.699219, -0.714693, 0.0175177)
bones/163/rotation = Quaternion(-0.0303771, 0.00768932, 0.00157884, 0.999508)
bones/2/position = Vector3(-0.0137206, -0.00893447, 0.623635)
bones/2/rotation = Quaternion(-0.0542181, -0.698824, 0.705138, 0.107172)
bones/5/position = Vector3(0.225526, -0.0449977, 1.00549)
bones/5/rotation = Quaternion(-0.212256, 0.507514, -0.409583, 0.727749)
bones/6/rotation = Quaternion(0.0763622, -0.151315, 0.201611, 0.964689)
bones/9/rotation = Quaternion(-0.354247, -0.0113183, -0.114535, 0.928042)
bones/12/rotation = Quaternion(-0.0859619, -0.000690616, -0.0113947, 0.996233)
bones/14/rotation = Quaternion(-0.0708235, 0.00135137, 0.00912021, 0.997446)
bones/17/rotation = Quaternion(-0.289619, 0.0147139, -0.0606385, 0.955105)
bones/20/rotation = Quaternion(-0.071225, -0.000127472, -0.014186, 0.997359)
bones/22/rotation = Quaternion(-0.050349, -0.000215399, -0.00607436, 0.998713)
bones/25/rotation = Quaternion(-0.189839, 0.0091794, -0.0234996, 0.98149)
bones/28/rotation = Quaternion(-0.0475135, 0.000428396, -0.011606, 0.998803)
bones/30/rotation = Quaternion(-0.0834221, 0.000160671, 0.00221177, 0.996512)
bones/33/rotation = Quaternion(-0.396376, -0.000130737, -0.142626, 0.906942)
bones/36/rotation = Quaternion(-0.172635, 0.0012423, -0.0155044, 0.984863)
bones/38/rotation = Quaternion(-0.0638606, 0.00298732, 0.0124317, 0.997877)
bones/41/rotation = Quaternion(-0.033223, -0.0646825, 0.00673106, 0.99733)
bones/44/rotation = Quaternion(-0.170821, 0.00587304, -0.0810434, 0.981944)
bones/46/rotation = Quaternion(-0.120295, 0.00125632, 0.0085031, 0.9927)
bones/47/position = Vector3(-0.134833, 0.0653124, 1.13379)
bones/47/rotation = Quaternion(-0.659221, -0.0283842, 0.430366, 0.61596)
bones/50/position = Vector3(-0.19488, 0.0360943, 1.03029)
bones/50/rotation = Quaternion(-0.632594, -0.189283, 0.26349, 0.703257)
bones/53/rotation = Quaternion(1.23425e-07, 0.194622, 2.8287e-07, 0.980878)
bones/55/position = Vector3(0.225526, -0.0449977, 1.00549)
bones/55/rotation = Quaternion(-0.212256, 0.507514, -0.409583, 0.727749)
bones/56/rotation = Quaternion(-2.54969e-07, -0.158062, -1.24093e-07, 0.987429)
bones/60/position = Vector3(-0.0306801, -0.00903376, 0.410954)
bones/60/rotation = Quaternion(0.27466, -0.583274, 0.654977, 0.394154)
bones/61/rotation = Quaternion(-1.67814e-07, 0.00969424, -2.09387e-07, 0.999953)
bones/65/position = Vector3(0.228274, 0.0354965, 0.486375)
bones/65/rotation = Quaternion(-0.736181, -0.0420695, 0.0630477, 0.672527)
bones/66/rotation = Quaternion(-3.45758e-08, -0.0658087, -1.18379e-08, 0.997832)
bones/70/position = Vector3(-0.19488, 0.0360944, 1.03029)
bones/70/rotation = Quaternion(-0.632594, -0.189283, 0.263491, 0.703256)
bones/71/rotation = Quaternion(-0.133067, 0.197528, 0.0747902, 0.96834)
bones/74/rotation = Quaternion(-0.274108, 0.0121625, 0.120633, 0.954025)
bones/77/rotation = Quaternion(-0.151302, 0.00120142, 0.0177719, 0.988327)
bones/79/rotation = Quaternion(-0.115412, 0.00165681, 0.0111454, 0.993254)
bones/82/rotation = Quaternion(-0.179167, -0.00608298, 0.0625111, 0.981812)
bones/85/rotation = Quaternion(-0.126398, 1.04667e-05, 0.019615, 0.991786)
bones/87/rotation = Quaternion(-0.0748097, 0.000649867, 0.00982608, 0.997149)
bones/90/rotation = Quaternion(-0.0496308, 0.0679533, -0.0180453, 0.99629)
bones/93/rotation = Quaternion(-0.123578, 0.0137458, 0.101123, 0.987073)
bones/95/rotation = Quaternion(-0.118975, 6.71328e-05, -0.000388975, 0.992897)
bones/98/rotation = Quaternion(-0.0805458, -0.000323918, 0.0182939, 0.996583)
bones/101/rotation = Quaternion(-0.0693506, -0.00070072, 0.013769, 0.997497)
bones/103/rotation = Quaternion(-0.0785608, 0.00150039, 0.00594976, 0.99689)
bones/106/rotation = Quaternion(-0.328283, 0.00323289, 0.147203, 0.933033)
bones/109/rotation = Quaternion(-0.210199, -0.0015143, 0.0192418, 0.977468)
bones/111/rotation = Quaternion(-0.088144, 0.0013427, 0.0161606, 0.995976)
bones/112/position = Vector3(0.019602, 0.0386716, 0.866973)
bones/112/rotation = Quaternion(0.532326, 0.514181, 0.504871, 0.444244)
bones/113/rotation = Quaternion(-0.0649652, 0.110191, -0.0360143, 0.991131)
bones/116/rotation = Quaternion(0.0561334, 0.300638, -0.0189887, 0.951895)
bones/120/rotation = Quaternion(0.148044, 0.0480133, -0.00268973, 0.98781)
bones/123/rotation = Quaternion(-0.508658, 0.40436, 0.59608, 0.471645)
bones/125/rotation = Quaternion(-0.428569, -0.0251431, 0.238236, 0.871172)
bones/129/rotation = Quaternion(-0.601724, -0.289307, -0.457284, 0.587471)
bones/131/rotation = Quaternion(-0.488059, 0.108326, 0.00490083, 0.866049)
bones/139/rotation = Quaternion(-0.135171, -0.00136852, -0.227491, 0.964352)
bones/140/rotation = Quaternion(0.0537204, -0.042591, 0.290175, 0.954515)
bones/142/rotation = Quaternion(0.483791, 0.550795, -0.400661, 0.549583)
bones/143/rotation = Quaternion(0.00484993, 0.9864, 0.164286, 0.00110764)
bones/144/rotation = Quaternion(-0.13481, -4.23659e-08, -0.227675, 0.96436)
bones/148/rotation = Quaternion(0.0382164, -2.35926e-08, -0.0828285, 0.995831)
bones/151/rotation = Quaternion(0.0457827, 0.0887355, -0.0791179, 0.991852)
bones/152/rotation = Quaternion(0.0968234, -0.0159964, -0.430017, 0.897471)
bones/154/rotation = Quaternion(0.313121, -0.578061, 0.414367, 0.629366)
bones/155/rotation = Quaternion(-0.00376207, 0.973964, 0.226656, 0.00254173)
bones/156/position = Vector3(0.183474, -0.0360153, 1.116)
bones/156/rotation = Quaternion(-0.366684, 0.410974, -0.627613, 0.550222)
bones/159/position = Vector3(0.113059, 0.0613343, 0.667578)
bones/159/rotation = Quaternion(-0.729315, -0.228512, -0.168593, 0.622461)
bones/162/position = Vector3(0.040388, 0.0554522, 1.35329)
bones/162/rotation = Quaternion(0.230239, 0.730674, 0.611786, 0.197031)
bones/163/rotation = Quaternion(-0.102034, 0.307882, -0.036231, 0.945242)
[node name="AnimationPlayer" parent="." index="1"]
autoplay = "CHAR_idle_bored"

144
player/player.gd Normal file
View file

@ -0,0 +1,144 @@
extends CharacterBody3D
const SPEED = 5.0
const JUMP_FORCE = 4.5
# Get the gravity from the project settings to be synced with RigidDynamicBody nodes.
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
var starting_point = Vector2(DisplayServer.window_get_size().x / 2, DisplayServer.window_get_size().y / 2)
var camera_rotate_y = 0.0
var camera_rotate_x = 0.0
var player_rotate_y = 0.0
#var timer_rotate:Timer
var speed_rotate_1sec = PI
var max_angle = PI / 2
const TWO_PI = 2.0 * PI
const PI_2 = PI / 2.0
func _init():
# timer_rotate = Timer.new()
# add_child(timer_rotate)
# timer_rotate.autostart = false
# timer_rotate.wait_time = 1.0
# timer_rotate.connect("timeout", update_rotate_start.bind())
pass
func _ready():
# Place the mouse at the center of the screen
get_viewport().warp_mouse(starting_point)
func _input(event):
# If right mouse button is pressed and mouse moves, pan horizontally camera
# and rotate vertically
if Input.is_mouse_button_pressed( 2 ):
if event is InputEventMouseMotion:
camera_rotate_y += event.relative.x *0.01
if camera_rotate_y >= PI:
camera_rotate_y -= TWO_PI
elif camera_rotate_y <= -PI:
camera_rotate_y += TWO_PI
$camera_root/horizontal_root.rotate_y( event.relative.x *0.01 )
# if (roty >= 0.0 and max_angle > roty) or (roty <= 0.0 and max_angle > -roty):
# $camera_root/horizontal_root.rotate_y( event.relative.x *0.01 )
# camera_rotate = roty
# else:
# $Mesh/character.rotate_y( event.relative.x *0.01 )
# $camera_root/horizontal_root.rotate_y( event.relative.x *0.01 )
var new_camera_rotate_x = camera_rotate_x + event.relative.y * 0.01
if new_camera_rotate_x <= PI_2 and new_camera_rotate_x >= - PI_2:
$camera_root/horizontal_root/vertical_root.rotate_x( event.relative.y * 0.01 )
camera_rotate_x = new_camera_rotate_x
# timer_rotate.autostart = false
# timer_rotate.wait_time = 1.0
# if timer_rotate.is_connected("timeout", update_rotate.bind()):
# timer_rotate.stop()
# timer_rotate.disconnect("timeout", update_rotate.bind())
# timer_rotate.connect("timeout", update_rotate_start.bind())
# timer_rotate.start(1.0)
# print("Update timer")
# else:
# #timer_rotate.stop()
# timer_rotate.start(1.0)
# print("launch timer")
func _physics_process(delta):
# Add the gravity.
if not is_on_floor():
motion_velocity.y -= gravity * delta
# Handle Jump.
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
motion_velocity.y = JUMP_FORCE
# # Get the input direction and handle the movement/deceleration.
# # As good practice, you should replace UI actions with custom gameplay actions.
# var input_dir = Input.get_vector("ui_right", "ui_left", "ui_down", "ui_up")
# var direction = (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
# if direction:
# motion_velocity.x = direction.x * SPEED
# motion_velocity.z = direction.z * SPEED
# else:
# motion_velocity.x = move_toward(motion_velocity.x, 0, SPEED)
# motion_velocity.z = move_toward(motion_velocity.z, 0, SPEED)
move_and_slide()
func _process( delta ):
var diff = camera_rotate_y - player_rotate_y
if diff > PI:
diff = camera_rotate_y - player_rotate_y - TWO_PI
elif diff < -PI:
diff = camera_rotate_y - player_rotate_y + TWO_PI
var absdiff = diff
if absdiff < 0.0:
absdiff = -absdiff
if absdiff <= 0.5 * delta:
$Mesh/character.rotate_y( diff )
player_rotate_y = camera_rotate_y
else:
if diff >= 0.0:
diff = delta * speed_rotate_1sec
else:
diff = -delta * speed_rotate_1sec
$Mesh/character.rotate_y( diff )
player_rotate_y += diff
#func update_rotate_start():
# print("update_rotate_start")
# var camera = $camera_root/horizontal_root.get_basis()
# var player = $Mesh/character.get_basis()
# timer_rotate.disconnect("timeout", update_rotate_start.bind())
# timer_rotate.connect("timeout", update_rotate.bind())
# timer_rotate.start(0.005)
#
#
#func update_rotate():
# print("update_rotate")
# var step = 0.0
# if camera_rotate >= 0.1:
# step = -0.05
# elif camera_rotate <= -0.1:
# step = +0.05
# $Mesh/character.rotate_y( -step )
# #$camera_root/horizontal_root.rotate_y( step / 2.0 )
# camera_rotate += step
## if (roty >= 0.0 and max_angle > roty) or (roty <= 0.0 and max_angle > -roty):
## $camera_root/horizontal_root.rotate_y( event.relative.x *0.01 )
## current_rotate = roty
## else:
## $Mesh/character.rotate_y( event.relative.x *0.01 )
## $camera_root/horizontal_root.rotate_y( event.relative.x *0.01 )
# if camera_rotate <= 0.1 and camera_rotate >= -0.1:
# timer_rotate.stop()

View file

@ -1,5 +1,6 @@
[gd_scene load_steps=4 format=3 uid="uid://dwxrvijqyym70"]
[gd_scene load_steps=5 format=3 uid="uid://dwxrvijqyym70"]
[ext_resource type="Script" path="res://player/player.gd" id="1_myhjw"]
[ext_resource type="PackedScene" uid="uid://ccctktndxnskh" path="res://player/character/character.tscn" id="1_rqqo8"]
[ext_resource type="Script" path="res://player/camera.gd" id="2_xvdvx"]
@ -8,6 +9,7 @@ radius = 0.220923
height = 2.83965
[node name="player" type="CharacterBody3D"]
script = ExtResource( "1_myhjw" )
[node name="Mesh" type="Node3D" parent="."]

View file

@ -14,3 +14,34 @@ config/name="Third Person basic scene"
run/main_scene="res://main.tscn"
config/icon="res://icon.png"
config/features=PackedStringArray("4.0", "Vulkan Clustered")
[input]
ui_left={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777231,"physical_keycode":0,"unicode":16777231,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":13,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"unicode":0,"echo":false,"script":null)
]
}
ui_right={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777233,"physical_keycode":0,"unicode":16777233,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":14,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"unicode":0,"echo":false,"script":null)
]
}
ui_up={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777232,"physical_keycode":0,"unicode":16777232,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":11,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"unicode":0,"echo":false,"script":null)
]
}
ui_down={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":16777234,"physical_keycode":0,"unicode":16777234,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":0,"button_index":12,"pressure":0.0,"pressed":false,"script":null)
, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"store_command":true,"alt_pressed":false,"shift_pressed":false,"meta_pressed":false,"command_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"unicode":0,"echo":false,"script":null)
]
}