Kabuto and isolated TPSController
This commit is contained in:
parent
feb2bcc410
commit
e97384825c
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,56 @@
|
|||
[gd_scene load_steps=11 format=2]
|
||||
|
||||
[ext_resource path="res://characters/latest_kabuto/kabuto.gltf" type="PackedScene" id=1]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=1]
|
||||
animation = "mutant punch-loop"
|
||||
|
||||
[sub_resource type="AnimationNodeBlend2" id=2]
|
||||
filter_enabled = true
|
||||
filters = [ "Armature/Skeleton:Head", "Armature/Skeleton:LeftArm", "Armature/Skeleton:LeftForeArm", "Armature/Skeleton:LeftHand", "Armature/Skeleton:LeftHandIndex1", "Armature/Skeleton:LeftHandIndex2", "Armature/Skeleton:LeftHandIndex3", "Armature/Skeleton:LeftShoulder", "Armature/Skeleton:Neck", "Armature/Skeleton:RightArm", "Armature/Skeleton:RightForeArm", "Armature/Skeleton:RightHand", "Armature/Skeleton:RightHandIndex1", "Armature/Skeleton:RightHandIndex2", "Armature/Skeleton:RightHandIndex3", "Armature/Skeleton:RightShoulder", "Armature/Skeleton:Spine", "Armature/Skeleton:Spine1", "Armature/Skeleton:Spine2" ]
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=3]
|
||||
animation = "left strafe-loop"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=4]
|
||||
animation = "standard run-loop"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=5]
|
||||
animation = "right strafe-loop"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=6]
|
||||
animation = "standard run-loop"
|
||||
|
||||
[sub_resource type="AnimationNodeAnimation" id=7]
|
||||
animation = "idle-loop"
|
||||
|
||||
[sub_resource type="AnimationNodeBlendSpace2D" id=8]
|
||||
blend_point_0/node = SubResource( 3 )
|
||||
blend_point_0/pos = Vector2( -1, 0 )
|
||||
blend_point_1/node = SubResource( 4 )
|
||||
blend_point_1/pos = Vector2( 0, 1 )
|
||||
blend_point_2/node = SubResource( 5 )
|
||||
blend_point_2/pos = Vector2( 1, 0 )
|
||||
blend_point_3/node = SubResource( 6 )
|
||||
blend_point_3/pos = Vector2( 0, -1 )
|
||||
blend_point_4/node = SubResource( 7 )
|
||||
blend_point_4/pos = Vector2( 0, 0 )
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id=9]
|
||||
graph_offset = Vector2( -681.028, 65.5 )
|
||||
nodes/Animation/node = SubResource( 1 )
|
||||
nodes/Animation/position = Vector2( -360, 360 )
|
||||
nodes/Blend2/node = SubResource( 2 )
|
||||
nodes/Blend2/position = Vector2( 40, 260 )
|
||||
nodes/movement/node = SubResource( 8 )
|
||||
nodes/movement/position = Vector2( -340, 120 )
|
||||
node_connections = [ "output", 0, "Blend2", "Blend2", 0, "movement", "Blend2", 1, "Animation" ]
|
||||
|
||||
[node name="kabuto" instance=ExtResource( 1 )]
|
||||
|
||||
[node name="AnimationTree" type="AnimationTree" parent="." index="2"]
|
||||
tree_root = SubResource( 9 )
|
||||
anim_player = NodePath("../AnimationPlayer")
|
||||
active = true
|
||||
parameters/Blend2/blend_amount = 0.0
|
||||
parameters/movement/blend_position = Vector2( 0, 0 )
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -40,7 +40,7 @@ blend_point_4/node = SubResource( 7 )
|
|||
blend_point_4/pos = Vector2( 0, -1 )
|
||||
|
||||
[sub_resource type="AnimationNodeBlendTree" id=9]
|
||||
graph_offset = Vector2( 0, 65.5 )
|
||||
graph_offset = Vector2( 0, 131 )
|
||||
"nodes/Animation 2/node" = SubResource( 1 )
|
||||
"nodes/Animation 2/position" = Vector2( 20, 340 )
|
||||
nodes/blend_draw/node = SubResource( 2 )
|
||||
|
@ -118,11 +118,11 @@ visible = false
|
|||
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0 )
|
||||
|
||||
[node name="lefthand" type="BoneAttachment" parent="Armature/Skeleton" index="1"]
|
||||
transform = Transform( 0.564253, 0.0541211, -0.823825, -0.598574, 0.714068, -0.363064, 0.568618, 0.697981, 0.435311, -1.42826, 5.04108, 1.28101 )
|
||||
transform = Transform( 0.533259, 0.0320889, -0.845343, -0.614146, 0.701903, -0.360771, 0.581773, 0.711548, 0.394004, -1.5385, 5.02043, 1.17579 )
|
||||
bone_name = "left_hand_index_4"
|
||||
|
||||
[node name="righthand" type="BoneAttachment" parent="Armature/Skeleton" index="2"]
|
||||
transform = Transform( -0.0680855, -0.709655, -0.70125, 0.192445, -0.699023, 0.688717, -0.978942, -0.0880606, 0.184163, 0.900404, 5.11416, -0.448968 )
|
||||
transform = Transform( -0.0728095, -0.680585, -0.729042, 0.215094, -0.724495, 0.654859, -0.973875, -0.109132, 0.199139, 0.824623, 5.05023, -0.526535 )
|
||||
bone_name = "right_hand_index_2"
|
||||
|
||||
[node name="AnimationPlayer" parent="." index="9"]
|
||||
|
|
|
@ -16,6 +16,8 @@ weapon_refpt_right = NodePath("ReaperGLTF/Armature/Skeleton/righthand")
|
|||
weapon_refpt_left = NodePath("ReaperGLTF/Armature/Skeleton/lefthand")
|
||||
water_splash_sound = ExtResource( 3 )
|
||||
animation_tree_path = NodePath("ReaperGLTF/AnimationTree")
|
||||
back_camera_path = NodePath("HeadPivot/SpringArm/BackCamera")
|
||||
head_path = NodePath("HeadPivot")
|
||||
sprint_speed = 250.0
|
||||
deacceleration = 6
|
||||
air_control = 0.05
|
||||
|
@ -31,10 +33,10 @@ shape = SubResource( 1 )
|
|||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.611, 0 )
|
||||
|
||||
[node name="lefthand" parent="ReaperGLTF/Armature/Skeleton" index="1"]
|
||||
transform = Transform( 0.524316, 0.123817, -0.842473, -0.658921, 0.685675, -0.309309, 0.539366, 0.717299, 0.441096, -1.57618, 5.07854, 1.16485 )
|
||||
transform = Transform( 0.52524, 0.121386, -0.842251, -0.658248, 0.685222, -0.311738, 0.539289, 0.718148, 0.439809, -1.57497, 5.07708, 1.16144 )
|
||||
|
||||
[node name="righthand" parent="ReaperGLTF/Armature/Skeleton" index="2"]
|
||||
transform = Transform( 0.232014, -0.551311, -0.801389, 0.0601252, -0.814167, 0.577508, -0.970851, -0.182174, -0.155751, 1.20283, 5.04613, 0.0143257 )
|
||||
transform = Transform( 0.231562, -0.548807, -0.803236, 0.0602912, -0.815995, 0.574906, -0.970949, -0.181554, -0.155865, 1.19905, 5.04342, 0.0130773 )
|
||||
|
||||
[node name="AnimationTree" parent="ReaperGLTF" index="10"]
|
||||
parameters/movement/blend_position = Vector2( 0, 0 )
|
||||
|
@ -44,4 +46,15 @@ root_node = NodePath("../ReaperGLTF")
|
|||
playback_speed = 0.2
|
||||
"anims/standing run forward-loop" = ExtResource( 6 )
|
||||
|
||||
[node name="HeadPivot" type="Spatial" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 8, -1 )
|
||||
|
||||
[node name="SpringArm" type="SpringArm" parent="HeadPivot"]
|
||||
spring_length = 10.0
|
||||
margin = 1.0
|
||||
|
||||
[node name="BackCamera" type="Camera" parent="HeadPivot/SpringArm"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.398, 11.737 )
|
||||
far = 8192.0
|
||||
|
||||
[editable path="ReaperGLTF"]
|
||||
|
|
|
@ -3,20 +3,40 @@
|
|||
[ext_resource path="res://entities/character.gd" type="Script" id=1]
|
||||
[ext_resource path="res://assets/all_gbs/vp_l1.gbs.obj" type="ArrayMesh" id=2]
|
||||
|
||||
[sub_resource type="BoxShape" id=1]
|
||||
extents = Vector3( 4, 10, 7 )
|
||||
[sub_resource type="CapsuleShape" id=1]
|
||||
radius = 8.0
|
||||
height = 6.0
|
||||
|
||||
[node name="Vimp" type="KinematicBody"]
|
||||
collision_layer = 2
|
||||
script = ExtResource( 1 )
|
||||
max_weapons = 0
|
||||
back_camera_path = NodePath("Spatial/SpringArm/BackCamera")
|
||||
head_path = NodePath("Spatial")
|
||||
sprint_speed = 50.0
|
||||
air_control = 0.05
|
||||
can_jump = false
|
||||
gravity = 200.0
|
||||
walk_speed = 20.0
|
||||
|
||||
[node name="MeshInstance" type="MeshInstance" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0, 0 )
|
||||
transform = Transform( -1, 8.74228e-08, 3.82137e-15, 0, -4.37114e-08, 1, 8.74228e-08, 1, 4.37114e-08, 0, 0, 0 )
|
||||
mesh = ExtResource( 2 )
|
||||
material/0 = null
|
||||
material/1 = null
|
||||
material/2 = null
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 2 )
|
||||
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 11, 0 )
|
||||
shape = SubResource( 1 )
|
||||
|
||||
[node name="Spatial" type="Spatial" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 17, -7 )
|
||||
|
||||
[node name="SpringArm" type="SpringArm" parent="Spatial"]
|
||||
spring_length = 50.0
|
||||
margin = 1.0
|
||||
|
||||
[node name="BackCamera" type="Camera" parent="Spatial/SpringArm"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 22.846, 34.344 )
|
||||
far = 8192.0
|
||||
|
|
|
@ -22,7 +22,6 @@ signal fired(projectile)
|
|||
signal pickup_weapon
|
||||
signal jumped
|
||||
|
||||
var UI: Control
|
||||
export var max_weapons: int = 5
|
||||
var weapons: Array = []
|
||||
var current_weapon: Weapon
|
||||
|
@ -33,6 +32,10 @@ export var water_splash_sound: AudioStreamSample
|
|||
var animation_blend_vector = Vector2.ZERO
|
||||
export var animation_tree_path: NodePath
|
||||
var animation_tree: AnimationTree
|
||||
export var back_camera_path: NodePath
|
||||
onready var back_camera = get_node(back_camera_path)
|
||||
export var head_path: NodePath
|
||||
onready var head = get_node(head_path)
|
||||
|
||||
|
||||
# Move
|
||||
|
@ -51,6 +54,8 @@ export var floor_max_angle := 90.0
|
|||
export var gravity: float = 40.0
|
||||
export var walk_speed: float = 2.0
|
||||
export var ground_friction: float = 3.0
|
||||
export var animation_blend_speed: float = 10
|
||||
var ground_snap = Vector3.DOWN
|
||||
|
||||
var ground_type = GroundType.DIRT
|
||||
|
||||
|
@ -166,35 +171,29 @@ func _physics_process(delta):
|
|||
|
||||
if not animation_tree:
|
||||
return
|
||||
if not Globals.process_3d_inputs:
|
||||
return
|
||||
|
||||
# Blend nicely between animations
|
||||
var movement_vector = Vector2.ZERO
|
||||
if Input.is_action_pressed("move_forward"):
|
||||
movement_vector.y = 1
|
||||
if Input.is_action_pressed("move_backward"):
|
||||
movement_vector.y = -1
|
||||
if Input.is_action_pressed("move_right"):
|
||||
movement_vector.x = 1
|
||||
if Input.is_action_pressed("move_left"):
|
||||
movement_vector.x = -1
|
||||
var res = animation_blend_vector.linear_interpolate(movement_vector, delta*10)
|
||||
var anim_vector = Vector2(move_axis.y, move_axis.x)
|
||||
var res = animation_blend_vector.linear_interpolate(anim_vector, delta*animation_blend_speed)
|
||||
animation_tree.set("parameters/movement/blend_position", res)
|
||||
animation_blend_vector = res
|
||||
|
||||
func _process(delta):
|
||||
if Engine.editor_hint:
|
||||
return
|
||||
if Globals.process_3d_inputs:
|
||||
move_axis.x = Input.get_action_strength("move_forward") - Input.get_action_strength("move_backward")
|
||||
move_axis.y = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
|
||||
take_damage(0.1)
|
||||
|
||||
func fire_pressed():
|
||||
current_weapon.activate(Globals.target_position["position"])
|
||||
if current_weapon:
|
||||
current_weapon.activate(Globals.target_position["position"])
|
||||
|
||||
func fire_released():
|
||||
current_weapon.deactivate(Globals.target_position["position"])
|
||||
if current_weapon:
|
||||
current_weapon.deactivate(Globals.target_position["position"])
|
||||
|
||||
func jump():
|
||||
if can_jump and is_on_floor():
|
||||
velocity.y = jump_height
|
||||
emit_signal("jumped")
|
||||
|
||||
func set_sprint(state: bool):
|
||||
if can_sprint:
|
||||
sprinting = state
|
||||
|
||||
func walk(delta: float) -> void:
|
||||
# Input
|
||||
|
@ -211,15 +210,6 @@ func walk(delta: float) -> void:
|
|||
direction.y = 0
|
||||
direction = direction.normalized()
|
||||
|
||||
# Jump
|
||||
var _snap: Vector3
|
||||
if can_jump and is_on_floor():
|
||||
_snap = Vector3.DOWN
|
||||
if Input.is_action_just_pressed("move_jump"):
|
||||
_snap = Vector3.ZERO
|
||||
velocity.y = jump_height
|
||||
emit_signal("jumped")
|
||||
|
||||
# Apply Gravity
|
||||
velocity.y -= gravity * delta
|
||||
# if is_in_water:
|
||||
|
@ -227,12 +217,11 @@ func walk(delta: float) -> void:
|
|||
|
||||
# Sprint
|
||||
var _speed: float
|
||||
if Globals.process_3d_inputs and Input.is_action_pressed("move_sprint") and can_sprint and move_axis.x == 1:
|
||||
if sprinting:
|
||||
# if can_sprint and move_axis.x == 1:
|
||||
_speed = sprint_speed
|
||||
sprinting = true
|
||||
else:
|
||||
_speed = walk_speed
|
||||
sprinting = false
|
||||
|
||||
# Acceleration and Deacceleration
|
||||
# where would the player go
|
||||
|
|
|
@ -1,28 +1,47 @@
|
|||
extends Spatial
|
||||
class_name TPSController
|
||||
|
||||
export var character_scene: PackedScene
|
||||
var character: Character
|
||||
# debug camera
|
||||
export var reaper_path: NodePath
|
||||
export var vimp_path: NodePath
|
||||
|
||||
export var character_path: NodePath
|
||||
onready var character: Character = get_node(character_path)
|
||||
var head: Spatial
|
||||
var cam: Camera
|
||||
var default_camera_trans: Transform
|
||||
|
||||
var is_in_menu: bool = false
|
||||
onready var cam = $Head/SpringArm/Camera
|
||||
onready var default_camera_trans = cam.transform
|
||||
export var FOV = 80.0
|
||||
export var HUD_scene: PackedScene
|
||||
onready var HUD: Control
|
||||
onready var debug_label = $DebugText
|
||||
onready var debug_label: Label = $DebugText
|
||||
var mouse_axis: Vector2 = Vector2.ZERO
|
||||
export var mouse_sensitivity = 10.0
|
||||
onready var head = $Head
|
||||
export var mouse_sensitivity: float = 10.0
|
||||
var cursor_no_enemy: Control
|
||||
var cursor_enemy: Control
|
||||
|
||||
func set_character(c: Character):
|
||||
if cam:
|
||||
cam.current = false
|
||||
character = c
|
||||
cam = character.back_camera
|
||||
default_camera_trans = cam.transform
|
||||
head = character.head
|
||||
cam.fov = FOV
|
||||
cam.current = true
|
||||
|
||||
func _ready():
|
||||
cam.fov = FOV
|
||||
set_character(character)
|
||||
if not Engine.editor_hint:
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
HUD = HUD_scene.instance()
|
||||
add_child(HUD)
|
||||
character = character_scene.instance()
|
||||
add_child(character)
|
||||
character.connect("health_changed", self, "update_health")
|
||||
if HUD.has_node("cursor_enemy"):
|
||||
cursor_enemy = HUD.get_node("cursor_enemy")
|
||||
if HUD.has_node("cursor_no_enemy"):
|
||||
cursor_enemy = HUD.get_node("cursor_no_enemy")
|
||||
|
||||
func get_target() -> Dictionary:
|
||||
var weapon = character.current_weapon
|
||||
|
@ -46,19 +65,20 @@ func _physics_process(delta):
|
|||
Globals.target_position = target
|
||||
|
||||
# cursor change
|
||||
if target["collider"] and target["collider"] is Entity:
|
||||
HUD.get_node("cursor_no_enemy").visible = false
|
||||
HUD.get_node("cursor_enemy").visible = true
|
||||
else:
|
||||
HUD.get_node("cursor_enemy").visible = false
|
||||
HUD.get_node("cursor_no_enemy").visible = true
|
||||
if cursor_no_enemy and cursor_enemy:
|
||||
if target["collider"] and target["collider"] is Entity:
|
||||
cursor_no_enemy.visible = false
|
||||
cursor_enemy.visible = true
|
||||
else:
|
||||
cursor_enemy.visible = false
|
||||
cursor_no_enemy.visible = true
|
||||
|
||||
# update camera
|
||||
if character.sprinting:
|
||||
cam.set_fov(lerp(cam.fov, FOV * 1.2, delta * 8))
|
||||
else:
|
||||
cam.set_fov(lerp(cam.fov, FOV, delta * 8))
|
||||
head.global_transform.origin = character.global_transform.origin
|
||||
# head.global_transform.origin = character.global_transform.origin
|
||||
|
||||
|
||||
func camera_rotation() -> void:
|
||||
|
@ -73,7 +93,10 @@ func camera_rotation() -> void:
|
|||
character.rotate_y(deg2rad(horizontal))
|
||||
|
||||
var temp_rot: Vector3 = head.rotation_degrees
|
||||
temp_rot += Vector3(vertical, horizontal, 0)
|
||||
temp_rot += Vector3(vertical, 0, 0)
|
||||
# temp_rot += Vector3(vertical, horizontal, 0)
|
||||
|
||||
# clamp vertical rotation
|
||||
temp_rot.x = clamp(temp_rot.x, -75, 75)
|
||||
head.rotation_degrees = temp_rot
|
||||
|
||||
|
@ -108,6 +131,21 @@ func _input(event: InputEvent) -> void:
|
|||
add_child(ingame_menu)
|
||||
ingame_menu.connect("tree_exited", self, "_ingamemenu_closed")
|
||||
Globals.process_3d_inputs = false
|
||||
|
||||
if Input.is_action_just_pressed("camera_reaper"):
|
||||
set_character(get_node(reaper_path))
|
||||
|
||||
if Input.is_action_just_pressed("camera_vimp"):
|
||||
set_character(get_node(vimp_path))
|
||||
|
||||
if Input.is_action_just_pressed("move_jump"):
|
||||
character.jump()
|
||||
|
||||
if Input.is_action_just_pressed("move_sprint"):
|
||||
character.set_sprint(true)
|
||||
if Input.is_action_just_released("move_sprint"):
|
||||
character.set_sprint(false)
|
||||
|
||||
|
||||
func _ingamemenu_closed():
|
||||
Globals.process_3d_inputs = true
|
||||
|
@ -118,10 +156,15 @@ func _process(_delta: float) -> void:
|
|||
return
|
||||
if Globals.process_3d_inputs:
|
||||
camera_rotation()
|
||||
character.move_axis.x = Input.get_action_strength("move_forward") - Input.get_action_strength("move_backward")
|
||||
character.move_axis.y = Input.get_action_strength("move_right") - Input.get_action_strength("move_left")
|
||||
|
||||
update_hud()
|
||||
|
||||
func update_hud() -> void:
|
||||
# for weapon_slot in HUD.find_node("Weapon*"):
|
||||
# for child in weapon_slot.get_children():
|
||||
# weapon_slot.remove_child(child)
|
||||
for weapon in character.weapons:
|
||||
var weapon_slot = character.get_weapon_slot(weapon)
|
||||
var hud_weapon_slot = HUD.find_node("Weapon%s" % weapon_slot)
|
||||
|
|
|
@ -9,6 +9,7 @@ script = ExtResource( 1 )
|
|||
HUD_scene = ExtResource( 2 )
|
||||
|
||||
[node name="Head" type="Spatial" parent="."]
|
||||
visible = false
|
||||
|
||||
[node name="SpringArm" type="SpringArm" parent="Head"]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 10, 5 )
|
||||
|
@ -17,7 +18,6 @@ margin = 1.0
|
|||
|
||||
[node name="Camera" type="Camera" parent="Head/SpringArm"]
|
||||
environment = ExtResource( 3 )
|
||||
current = true
|
||||
near = 0.01
|
||||
far = 8192.0
|
||||
|
||||
|
|
|
@ -139,6 +139,16 @@ move_sprint={
|
|||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":16777237,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
camera_vimp={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":233,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
camera_reaper={
|
||||
"deadzone": 0.5,
|
||||
"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":38,"unicode":0,"echo":false,"script":null)
|
||||
]
|
||||
}
|
||||
|
||||
[layer_names]
|
||||
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
extends Spatial
|
||||
tool
|
||||
|
||||
onready var vimp = $Vimp
|
||||
onready var player = $PlayerController.character
|
||||
onready var nav = $Navigation
|
||||
|
||||
func dict_of_lowercase_filenames(path):
|
||||
var dir_files = {}
|
||||
var dirpath = path
|
||||
|
@ -47,8 +51,8 @@ func _ready():
|
|||
var assets_files = dict_of_lowercase_filenames("res://assets/all_gbs")
|
||||
var audio_files = dict_of_lowercase_filenames("res://assets/audio/Stream/Ambient")
|
||||
var ids = load_json_file("res://assets/id_to_gbs.json")
|
||||
print("Loaded %s valid objects" % len(ids))
|
||||
print("Godot found %s GBS available to load" % str(len(assets_files)))
|
||||
#print("Loaded %s valid objects" % len(ids))
|
||||
#print("Godot found %s GBS available to load" % str(len(assets_files)))
|
||||
var map_objs = load_json_file("res://assets/terrains/square_one_1/w_M_3Way_Tigs - Threeway - Square One.bin.txt.json")
|
||||
#var map_origin = $MeshInstance.global_transform.origin
|
||||
#var map_stretch = 1
|
||||
|
@ -109,5 +113,11 @@ func _ready():
|
|||
audiostream.bus = "Ambiants"
|
||||
mesh_instance.add_child(audiostream)
|
||||
|
||||
func _process(_delta):
|
||||
pass
|
||||
func _on_Timer_timeout():
|
||||
var path = nav.get_simple_path(vimp.global_transform.origin, player.global_transform.origin, true)
|
||||
if path:
|
||||
var direction = path[0] - vimp.translation
|
||||
vimp.move_axis = direction.normalized()
|
||||
vimp.walk(0.01)
|
||||
path.remove(0)
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,56 @@
|
|||
[gd_scene load_steps=5 format=2]
|
||||
|
||||
[ext_resource path="res://assets/all_gbs/textures/st_mec_energy.tga" type="Texture" id=1]
|
||||
[ext_resource path="res://assets/all_gbs/textures/st_mecc_xhair.tga" type="Texture" id=4]
|
||||
|
||||
[sub_resource type="Gradient" id=1]
|
||||
colors = PoolColorArray( 1, 0, 0, 1, 1, 1, 1, 0.046729 )
|
||||
|
||||
[sub_resource type="GradientTexture" id=2]
|
||||
gradient = SubResource( 1 )
|
||||
width = 10
|
||||
|
||||
[node name="UI" type="Control"]
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
margin_left = 2.0
|
||||
margin_right = 2.0
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="hp" type="Polygon2D" parent="."]
|
||||
position = Vector2( 957.76, 325.233 )
|
||||
color = Color( 1, 0, 0, 1 )
|
||||
offset = Vector2( -31.7015, 28.4404 )
|
||||
texture = SubResource( 2 )
|
||||
texture_rotation_degrees = 90.0
|
||||
polygon = PoolVector2Array( 4.07648, -12.0231, 5.19122, -17.9239, 8.9613, -23.6782, 12.533, -26.3569, 15.8069, -28.0435, 20.966, -27.5475, 23.9424, -24.3727, 27.1172, -19.6105, 29.1014, -14.5507, 29.9944, -10.1853, 31.2841, -7.10971, 34.4589, -12.7648, 35.3519, -16.7333, 37.9314, -21.1979, 40.0148, -25.0672, 42.6935, -27.4483, 47.0589, -28.4404, 52.8132, -27.1506, 54.103, -25.8609, 57.8731, -20.1066, 59.7581, -14.6499, 60.9487, -7.70499, 61.3455, 2.51392, 61.2463, 12.336, 60.155, 18.5864, 48.9894, 80.8738, 39.2252, 135.995, 31.9805, 202.456, 25.051, 136.625, 13.7117, 70.7945, 2.68756, 13.468, 2.05756, -1.33612 )
|
||||
|
||||
[node name="healthbar" type="TextureRect" parent="."]
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
margin_left = -97.9412
|
||||
margin_top = -281.782
|
||||
margin_right = -33.9412
|
||||
margin_bottom = -25.7818
|
||||
texture = ExtResource( 1 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="smallcursor" type="TextureRect" parent="."]
|
||||
anchor_left = 0.5
|
||||
anchor_top = 0.5
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 0.5
|
||||
margin_left = -20.0
|
||||
margin_top = -20.0
|
||||
margin_right = 20.0
|
||||
margin_bottom = 20.0
|
||||
texture = ExtResource( 4 )
|
||||
__meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
Loading…
Reference in New Issue