diff options
-rw-r--r-- | client/player/character/character.gd | 27 | ||||
-rw-r--r-- | client/player/character/character.tscn | 47 | ||||
-rw-r--r-- | client/player/character/default/hand_left.res (renamed from client/player/character/hand_left.res) | bin | 11848 -> 11848 bytes | |||
-rw-r--r-- | client/player/character/default/hand_right.res (renamed from client/player/character/hand_right.res) | bin | 11784 -> 11784 bytes | |||
-rw-r--r-- | client/player/character/default/head.res (renamed from client/player/character/head.res) | bin | 32308 -> 32308 bytes | |||
-rw-r--r-- | client/player/character/default/main.res (renamed from client/player/character/main.res) | bin | 30046 -> 30046 bytes | |||
-rw-r--r-- | client/player/character/default/tie.res (renamed from client/player/character/tie.res) | bin | 6126 -> 6126 bytes | |||
-rw-r--r-- | client/player/character/hairstyles/hair.res (renamed from client/player/character/hair.res) | bin | 16938 -> 16938 bytes | |||
-rw-r--r-- | client/player/character/hairstyles/hair_2.res (renamed from client/player/character/hair_2.res) | bin | 16368 -> 16368 bytes | |||
-rw-r--r-- | client/player/character/hairstyles/hair_3.res (renamed from client/player/character/hair_3.res) | bin | 19738 -> 19738 bytes | |||
-rw-r--r-- | client/player/character/robot/antenna.res | bin | 0 -> 4933 bytes | |||
-rw-r--r-- | client/player/character/robot/body.res | bin | 0 -> 30064 bytes | |||
-rw-r--r-- | client/player/character/robot/ears.res | bin | 0 -> 10615 bytes | |||
-rw-r--r-- | client/player/character/robot/face.webp | bin | 0 -> 1196 bytes | |||
-rw-r--r-- | client/player/character/robot/face.webp.import | 36 | ||||
-rw-r--r-- | client/player/character/robot/head.res | bin | 0 -> 4020 bytes | |||
-rw-r--r-- | client/player/character/robot/head.tscn | 20 |
17 files changed, 105 insertions, 25 deletions
diff --git a/client/player/character/character.gd b/client/player/character/character.gd index d15ac61e..31d5230e 100644 --- a/client/player/character/character.gd +++ b/client/player/character/character.gd @@ -17,7 +17,10 @@ extends Node3D class_name Character +const DEFAULT_MAIN_MESH = preload("res://player/character/default/main.res") const CUSTOMER_MAIN_MESH = preload("res://player/character/customer_body.res") +const ROBOT_MAIN_MESH = preload("res://player/character/robot/body.res") + const WALK_ANIM_STRENGTH := 0.05 const WALK_ANIM_SPEED:= 15.0 @@ -37,12 +40,15 @@ var current_animation := "idle" @onready var username_tag = $Username @onready var tie = $Main/Tie -@onready var hairstyles = { - "Brown": $Main/Head/Hair, - "Blond": $Main/Head/Hair2, - "E. Parsley": $Main/Head/Hair3 +@onready var hairstyles := { + "Brown": $Main/HeadDefault/Hair, + "Blond": $Main/HeadDefault/Hair2, + "E. Parsley": $Main/HeadDefault/Hair3 } +@onready var head_default: MeshInstance3D = $Main/HeadDefault +@onready var head_robot: MeshInstance3D = $Main/HeadRobot + @onready var step_sounds: PlayRandom = $Steps @onready var boost_sounds: PlayRandom = $Boosts @@ -79,6 +85,9 @@ func _process(delta): play_animation(next_animation) func select_hairstyle(id: int): + if id == 51: + toggle_robot(true) + return if id < 0: to_customer() id *= -1 @@ -95,6 +104,16 @@ func to_customer(): main.mesh = CUSTOMER_MAIN_MESH tie.queue_free() +func toggle_robot(b: bool): + if b: + head_robot.show() + head_default.hide() + main.mesh = ROBOT_MAIN_MESH + else: + head_robot.hide() + head_default.show() + main.mesh = DEFAULT_MAIN_MESH + func play_animation(name_: String): current_animation = name_ hand_animations.play(name_) diff --git a/client/player/character/character.tscn b/client/player/character/character.tscn index b3d524f6..0957eb68 100644 --- a/client/player/character/character.tscn +++ b/client/player/character/character.tscn @@ -1,15 +1,16 @@ -[gd_scene load_steps=24 format=3 uid="uid://b3hhir2fvnunu"] +[gd_scene load_steps=25 format=3 uid="uid://b3hhir2fvnunu"] [ext_resource type="Script" path="res://player/character/character.gd" id="1_12lbh"] -[ext_resource type="ArrayMesh" uid="uid://bnmm01yjwultj" path="res://player/character/main.res" id="2_lxdbd"] -[ext_resource type="ArrayMesh" uid="uid://46sp3fu3n6ls" path="res://player/character/hand_right.res" id="3_26h3l"] -[ext_resource type="ArrayMesh" uid="uid://r52cylox4imf" path="res://player/character/hand_left.res" id="4_ellbc"] -[ext_resource type="ArrayMesh" uid="uid://csryncouqhwp1" path="res://player/character/head.res" id="5_tyg2e"] -[ext_resource type="ArrayMesh" uid="uid://bsxmxq4dfv2vy" path="res://player/character/hair.res" id="6_rfl5m"] -[ext_resource type="ArrayMesh" uid="uid://dx7jswwaesok4" path="res://player/character/hair_2.res" id="7_0551e"] -[ext_resource type="ArrayMesh" uid="uid://c2qnwt44x8ujl" path="res://player/character/tie.res" id="7_knv6q"] -[ext_resource type="ArrayMesh" uid="uid://c5qsthvtf3cta" path="res://player/character/hair_3.res" id="8_2bc5u"] +[ext_resource type="ArrayMesh" uid="uid://bnmm01yjwultj" path="res://player/character/default/main.res" id="2_uovyg"] +[ext_resource type="ArrayMesh" uid="uid://46sp3fu3n6ls" path="res://player/character/default/hand_right.res" id="3_k28vh"] +[ext_resource type="ArrayMesh" uid="uid://r52cylox4imf" path="res://player/character/default/hand_left.res" id="4_tcrm3"] +[ext_resource type="ArrayMesh" uid="uid://csryncouqhwp1" path="res://player/character/default/head.res" id="5_n1vl0"] +[ext_resource type="ArrayMesh" uid="uid://bsxmxq4dfv2vy" path="res://player/character/hairstyles/hair.res" id="6_3uydp"] +[ext_resource type="ArrayMesh" uid="uid://dx7jswwaesok4" path="res://player/character/hairstyles/hair_2.res" id="7_1403k"] +[ext_resource type="ArrayMesh" uid="uid://c5qsthvtf3cta" path="res://player/character/hairstyles/hair_3.res" id="8_x5g32"] +[ext_resource type="ArrayMesh" uid="uid://c2qnwt44x8ujl" path="res://player/character/default/tie.res" id="9_kgric"] [ext_resource type="AudioStream" uid="uid://bxiorkb4xb8t1" path="res://player/sounds/step1.ogg" id="10_qpd6x"] +[ext_resource type="PackedScene" uid="uid://c6sqsj7r03qp1" path="res://player/character/robot/head.tscn" id="10_w8s0d"] [ext_resource type="AudioStream" uid="uid://l2fd8u7rq3cq" path="res://player/sounds/step2.ogg" id="11_2dmo8"] [ext_resource type="AudioStream" uid="uid://d353uwy83crca" path="res://player/sounds/step3.ogg" id="12_bj5ue"] [ext_resource type="Script" path="res://audio/play_random.gd" id="14_3rb6x"] @@ -586,46 +587,50 @@ script = ExtResource("1_12lbh") [node name="Main" type="MeshInstance3D" parent="."] transform = Transform3D(0.33, 0, 0, 0, 0.33, 0, 0, 0, 0.33, 0, 0.33, 0) -mesh = ExtResource("2_lxdbd") +mesh = ExtResource("2_uovyg") skeleton = NodePath("") [node name="HandRight" type="MeshInstance3D" parent="Main"] transform = Transform3D(0.287144, 0.2864, -1.17785e-06, 0.402357, -0.133775, 0.337554, 0.292329, -0.0971941, -0.464603, -1.302, -0.17, 0) -mesh = ExtResource("3_26h3l") +mesh = ExtResource("3_k28vh") skeleton = NodePath("") [node name="HandLeft" type="MeshInstance3D" parent="Main"] transform = Transform3D(0.287143, -0.2864, 1.45591e-06, -0.497341, -0.165355, -2.37987e-16, 7.2796e-07, -7.26076e-07, -0.574281, 1.302, -0.17, 0) -mesh = ExtResource("4_ellbc") +mesh = ExtResource("4_tcrm3") skeleton = NodePath("") -[node name="Head" type="MeshInstance3D" parent="Main"] +[node name="HeadDefault" type="MeshInstance3D" parent="Main"] transform = Transform3D(0.75, 0, 0, 0, 0.75, 0, 0, 0, 0.75, 0, 1.25, 0) -mesh = ExtResource("5_tyg2e") +mesh = ExtResource("5_n1vl0") skeleton = NodePath("") -[node name="Hair" type="MeshInstance3D" parent="Main/Head"] +[node name="Hair" type="MeshInstance3D" parent="Main/HeadDefault"] transform = Transform3D(1.06667, 0, 0, 0, 1.06667, 0, 0, 0, 1.06667, 0, 0.4, 0) -mesh = ExtResource("6_rfl5m") +mesh = ExtResource("6_3uydp") skeleton = NodePath("") -[node name="Hair2" type="MeshInstance3D" parent="Main/Head"] +[node name="Hair2" type="MeshInstance3D" parent="Main/HeadDefault"] transform = Transform3D(1.06667, 0, 0, 0, 1.06667, 0, 0, 0, 1.06667, 0, 0.4, 0) visible = false -mesh = ExtResource("7_0551e") +mesh = ExtResource("7_1403k") skeleton = NodePath("") -[node name="Hair3" type="MeshInstance3D" parent="Main/Head"] +[node name="Hair3" type="MeshInstance3D" parent="Main/HeadDefault"] transform = Transform3D(1.06667, 0, 0, 0, 1.06667, 0, 0, 0, 1.06667, 0, 0.4, 0) visible = false -mesh = ExtResource("8_2bc5u") +mesh = ExtResource("8_x5g32") skeleton = NodePath("") [node name="Tie" type="MeshInstance3D" parent="Main"] transform = Transform3D(0.125, 0, 0, 0, 0.125, 0, 0, 0, 0.125, 0, 0.47772, 0.445265) -mesh = ExtResource("7_knv6q") +mesh = ExtResource("9_kgric") skeleton = NodePath("") +[node name="HeadRobot" parent="Main" instance=ExtResource("10_w8s0d")] +transform = Transform3D(1.875, 0, 0, 0, 1.25, 0, 0, 0, 1.25, 0, 1.25, 0) +visible = false + [node name="HandAnimations" type="AnimationPlayer" parent="."] libraries = { "": SubResource("AnimationLibrary_xtrfe") diff --git a/client/player/character/hand_left.res b/client/player/character/default/hand_left.res Binary files differindex 8736dad6..8736dad6 100644 --- a/client/player/character/hand_left.res +++ b/client/player/character/default/hand_left.res diff --git a/client/player/character/hand_right.res b/client/player/character/default/hand_right.res Binary files differindex 44e3683d..44e3683d 100644 --- a/client/player/character/hand_right.res +++ b/client/player/character/default/hand_right.res diff --git a/client/player/character/head.res b/client/player/character/default/head.res Binary files differindex 69be33e7..69be33e7 100644 --- a/client/player/character/head.res +++ b/client/player/character/default/head.res diff --git a/client/player/character/main.res b/client/player/character/default/main.res Binary files differindex 3ad69367..3ad69367 100644 --- a/client/player/character/main.res +++ b/client/player/character/default/main.res diff --git a/client/player/character/tie.res b/client/player/character/default/tie.res Binary files differindex 406a4779..406a4779 100644 --- a/client/player/character/tie.res +++ b/client/player/character/default/tie.res diff --git a/client/player/character/hair.res b/client/player/character/hairstyles/hair.res Binary files differindex bea01119..bea01119 100644 --- a/client/player/character/hair.res +++ b/client/player/character/hairstyles/hair.res diff --git a/client/player/character/hair_2.res b/client/player/character/hairstyles/hair_2.res Binary files differindex 5d41a4b5..5d41a4b5 100644 --- a/client/player/character/hair_2.res +++ b/client/player/character/hairstyles/hair_2.res diff --git a/client/player/character/hair_3.res b/client/player/character/hairstyles/hair_3.res Binary files differindex 911afa30..911afa30 100644 --- a/client/player/character/hair_3.res +++ b/client/player/character/hairstyles/hair_3.res diff --git a/client/player/character/robot/antenna.res b/client/player/character/robot/antenna.res Binary files differnew file mode 100644 index 00000000..11416ebf --- /dev/null +++ b/client/player/character/robot/antenna.res diff --git a/client/player/character/robot/body.res b/client/player/character/robot/body.res Binary files differnew file mode 100644 index 00000000..b82147d3 --- /dev/null +++ b/client/player/character/robot/body.res diff --git a/client/player/character/robot/ears.res b/client/player/character/robot/ears.res Binary files differnew file mode 100644 index 00000000..a41c80e7 --- /dev/null +++ b/client/player/character/robot/ears.res diff --git a/client/player/character/robot/face.webp b/client/player/character/robot/face.webp Binary files differnew file mode 100644 index 00000000..2a0808aa --- /dev/null +++ b/client/player/character/robot/face.webp diff --git a/client/player/character/robot/face.webp.import b/client/player/character/robot/face.webp.import new file mode 100644 index 00000000..390dfa02 --- /dev/null +++ b/client/player/character/robot/face.webp.import @@ -0,0 +1,36 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ck26gfqasow26" +path.s3tc="res://.godot/imported/face.webp-90afa5549ff02b63c82faeaa147cf172.s3tc.ctex" +path.etc2="res://.godot/imported/face.webp-90afa5549ff02b63c82faeaa147cf172.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://player/character/robot/face.webp" +dest_files=["res://.godot/imported/face.webp-90afa5549ff02b63c82faeaa147cf172.s3tc.ctex", "res://.godot/imported/face.webp-90afa5549ff02b63c82faeaa147cf172.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/client/player/character/robot/head.res b/client/player/character/robot/head.res Binary files differnew file mode 100644 index 00000000..36032f3b --- /dev/null +++ b/client/player/character/robot/head.res diff --git a/client/player/character/robot/head.tscn b/client/player/character/robot/head.tscn new file mode 100644 index 00000000..1684131d --- /dev/null +++ b/client/player/character/robot/head.tscn @@ -0,0 +1,20 @@ +[gd_scene load_steps=4 format=3 uid="uid://c6sqsj7r03qp1"] + +[ext_resource type="ArrayMesh" uid="uid://b6jg603dkd4ys" path="res://player/character/robot/head.res" id="1_phkuo"] +[ext_resource type="ArrayMesh" uid="uid://d06pr5ahve2ni" path="res://player/character/robot/ears.res" id="2_2lybj"] +[ext_resource type="ArrayMesh" uid="uid://cv86smrevtpid" path="res://player/character/robot/antenna.res" id="3_dmtg5"] + +[node name="Head" type="MeshInstance3D"] +transform = Transform3D(1.875, 0, 0, 0, 1.25, 0, 0, 0, 1.25, 0, 2.125, 0) +mesh = ExtResource("1_phkuo") +skeleton = NodePath("") + +[node name="Ears" type="MeshInstance3D" parent="."] +transform = Transform3D(0, 0.533333, 0, -0.24, 0, 0, 0, 0, 0.24, 0, 0, 0) +mesh = ExtResource("2_2lybj") +skeleton = NodePath("") + +[node name="Antenna" type="MeshInstance3D" parent="."] +transform = Transform3D(0.533333, 0, 0, 0, 0.8, 0, 0, 0, 0.8, 0, 0.7, 0) +mesh = ExtResource("3_dmtg5") +skeleton = NodePath("") |