Compare commits

..

No commits in common. "b7442f9efa8a73e66f22ff49fbe20fd782844fff" and "8465f2eadb0ad06fb9685eff57e93a65221e3052" have entirely different histories.

26 changed files with 105 additions and 432 deletions

Binary file not shown.

Binary file not shown.

7
godot/Holster.gd Normal file
View File

@ -0,0 +1,7 @@
extends Node3D
func _ready():
set_as_top_level(true)
func _process(delta):
global_transform.origin = $"../grape_man".get_pickup_bone_location()

View File

@ -3,10 +3,10 @@
[ext_resource type="PackedScene" uid="uid://d2d4uv7o5gx5p" path="res://Level/World/screen_shader.tscn" id="1_huyen"]
[ext_resource type="PackedScene" uid="uid://b35w4hlh4n1jt" path="res://Level/World/world_environment.tscn" id="2_lerrn"]
[ext_resource type="PackedScene" uid="uid://d3ccrfjpg4hbv" path="res://Models/palm_curved.tscn" id="3_bth2b"]
[ext_resource type="PackedScene" uid="uid://c1n2lfcn4rkx7" path="res://Models/palm_default.tscn" id="4_2cnue"]
[ext_resource type="PackedScene" path="res://Models/palm_default.tscn" id="4_2cnue"]
[ext_resource type="PackedScene" uid="uid://ctbyl0qbks4k6" path="res://Models/ocean.tscn" id="4_dey2i"]
[ext_resource type="PackedScene" uid="uid://difi2tur2j4dg" path="res://Models/island.tscn" id="4_lq6cy"]
[ext_resource type="PackedScene" uid="uid://hg1yr5rnxd47" path="res://Models/palm_young.tscn" id="5_prlw2"]
[ext_resource type="PackedScene" path="res://Models/palm_young.tscn" id="5_prlw2"]
[ext_resource type="PackedScene" uid="uid://ce7jbp7f55cro" path="res://Models/buildings/building_1.tscn" id="8_6qbns"]
[ext_resource type="PackedScene" uid="uid://cx44bjuxlhq06" path="res://Models/buildings/building_2.tscn" id="9_maqyx"]
[ext_resource type="PackedScene" uid="uid://bm65tvb4irjqw" path="res://Models/buildings/building_3.tscn" id="10_j7nf7"]

View File

@ -1,6 +1,7 @@
extends Node3D
@onready var animation: AnimationNodeStateMachinePlayback = $AnimationTree.get("parameters/playback")
@onready var pickup_bone_idx = $rig/Skeleton3D.find_bone("PickupBone")
signal anim_check_grab(position: Vector3)
@ -28,8 +29,12 @@ func idle_hold():
animation.travel("IdleHold")
func animation_key_grab():
emit_signal("anim_check_grab", $GrabPointLocation.global_transform)
emit_signal("anim_check_grab", get_pickup_bone_location())
func get_pickup_bone_location() -> Vector3:
var trans = $rig/Skeleton3D.global_transform * $rig/Skeleton3D.get_bone_global_pose(pickup_bone_idx)
return trans.origin
func animation_key_pickup_completed():
pickup_animation_in_progress = false
emit_signal("pickup_animation_finished")

BIN
godot/Models/grape_man.glb (Stored with Git LFS)

Binary file not shown.

View File

@ -5430,7 +5430,7 @@ _subresources={
"UpperBodyIdle": {
"save_to_file/enabled": true,
"save_to_file/keep_custom_tracks": true,
"save_to_file/path": "res://Models/grape_animations/upper_body_idle.res.res",
"save_to_file/path": "res://Models/grape_animations/upper_body_idle.res",
"settings/loop_mode": 0,
"slice_1/end_frame": 0,
"slice_1/loop_mode": 0,

View File

@ -4,7 +4,6 @@
[ext_resource type="Script" path="res://Models/grape_man.gd" id="2_ksje8"]
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_a0vxm"]
filter_enabled = true
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_s8uqe"]
@ -14,7 +13,7 @@ animation = &"UpperBodyIdle"
animation = &"Idle"
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_ojr1k"]
graph_offset = Vector2(-312, -69)
graph_offset = Vector2(-74, 44)
nodes/Add2/node = SubResource("AnimationNodeAdd2_a0vxm")
nodes/Add2/position = Vector2(160, 80)
nodes/Animation/node = SubResource("AnimationNodeAnimation_4ft7i")
@ -24,7 +23,6 @@ nodes/Animation/position = Vector2(0, 80)
node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1, &"Animation 2"]
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_4gk6k"]
filter_enabled = true
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_alnh1"]
@ -48,7 +46,6 @@ node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1,
animation = &"Pickup"
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_rd6bn"]
filter_enabled = true
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_7s7tg"]
@ -58,7 +55,7 @@ animation = &"UpperBodyIdle"
animation = &"Walk"
[sub_resource type="AnimationNodeBlendTree" id="AnimationNodeBlendTree_6rmmo"]
graph_offset = Vector2(-358.186, -79.7423)
graph_offset = Vector2(-384.186, 6.2577)
nodes/Add2/node = SubResource("AnimationNodeAdd2_rd6bn")
nodes/Add2/position = Vector2(140, 80)
nodes/Animation/node = SubResource("AnimationNodeAnimation_ir63n")
@ -68,7 +65,6 @@ nodes/Animation/position = Vector2(-40, 60)
node_connections = [&"output", 0, &"Add2", &"Add2", 0, &"Animation", &"Add2", 1, &"Animation 2"]
[sub_resource type="AnimationNodeAdd2" id="AnimationNodeAdd2_sv87c"]
filter_enabled = true
filters = ["rig/Skeleton3D:forearm.L", "rig/Skeleton3D:forearm.R", "rig/Skeleton3D:head", "rig/Skeleton3D:upper_arm.L", "rig/Skeleton3D:upper_arm.R"]
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_y7bu0"]
@ -147,14 +143,14 @@ states/WalkEmpty/position = Vector2(548, 208)
states/WalkHold/node = SubResource("AnimationNodeBlendTree_kalnq")
states/WalkHold/position = Vector2(351, 323)
transitions = ["Start", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_8sw6d"), "IdleEmpty", "WalkHold", SubResource("AnimationNodeStateMachineTransition_71rn8"), "WalkHold", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_cp7lp"), "WalkEmpty", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_27n2r"), "IdleEmpty", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_v26jl"), "IdleHold", "WalkHold", SubResource("AnimationNodeStateMachineTransition_u0rau"), "IdleHold", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_1hqga"), "WalkEmpty", "IdleHold", SubResource("AnimationNodeStateMachineTransition_uekhs"), "WalkHold", "IdleHold", SubResource("AnimationNodeStateMachineTransition_652wi"), "IdleEmpty", "Pickup", SubResource("AnimationNodeStateMachineTransition_sdgve"), "Pickup", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_otprv"), "IdleEmpty", "IdleHold", SubResource("AnimationNodeStateMachineTransition_fbwhh"), "IdleHold", "IdleEmpty", SubResource("AnimationNodeStateMachineTransition_4rq7a"), "WalkHold", "WalkEmpty", SubResource("AnimationNodeStateMachineTransition_oange"), "WalkEmpty", "WalkHold", SubResource("AnimationNodeStateMachineTransition_et4tx"), "Pickup", "IdleHold", SubResource("AnimationNodeStateMachineTransition_y2dr5")]
graph_offset = Vector2(26, 89)
graph_offset = Vector2(3, 172)
[node name="grape_man" instance=ExtResource("1_fh5yr")]
transform = Transform3D(0.065, 0, 0, 0, 0.065, 0, 0, 0, 0.065, 0, 0, 0)
script = ExtResource("2_ksje8")
[node name="Skeleton3D" parent="rig" index="0"]
bones/0/rotation = Quaternion(0.0897714, 0, 0, 0.995962)
bones/0/rotation = Quaternion(0.0970975, 0, 0, 0.995275)
bones/1/rotation = Quaternion(-0.0891896, 1.18734e-07, -1.06322e-08, 0.996015)
bones/2/rotation = Quaternion(0.0133933, -1.19199e-07, 1.5966e-09, 0.99991)
bones/3/rotation = Quaternion(-0.00997737, 0.100365, -0.694951, 0.711948)
@ -167,13 +163,10 @@ bones/7/rotation = Quaternion(0.0142813, -6.34259e-18, -4.44044e-16, 0.999898)
bones/10/rotation = Quaternion(0.105246, 0.0039338, -0.0113526, 0.994374)
bones/15/rotation = Quaternion(0.105246, -0.0039338, 0.0113526, 0.994374)
[node name="GrabPointLocation" type="Node3D" parent="." index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.29365)
[node name="OmniLight3D" type="OmniLight3D" parent="." index="3"]
[node name="OmniLight3D" type="OmniLight3D" parent="." index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.289473, 8.26292, 4.26359)
[node name="AnimationTree" type="AnimationTree" parent="." index="4"]
[node name="AnimationTree" type="AnimationTree" parent="." index="3"]
tree_root = SubResource("AnimationNodeStateMachine_6mfdu")
anim_player = NodePath("../AnimationPlayer")
active = true

View File

@ -1,6 +1,5 @@
extends CharacterBody3D
const SPEED = 5.0
const JUMP_VELOCITY = 4.5
@export var horiz_sens = 0.25
@ -17,6 +16,7 @@ func _ready():
$CameraMount.global_rotation.x = clampf($CameraMount.global_rotation.x, deg_to_rad(-60), deg_to_rad(-11))
func _process(_delta):
# Brings your mouse out of the window if you press escape. Add pause screen function here?
if Input.is_action_pressed("ui_cancel"):
@ -26,6 +26,7 @@ func _process(_delta):
func _input(event):
# Handle the rotation of the camera using mouse movement.
if event is InputEventMouseMotion:
# Side to side, first player object then player visuals.
rotate_y(deg_to_rad(-event.relative.x * horiz_sens))
$CameraMount.rotate_x(deg_to_rad(-event.relative.y * vert_sens))
$grape_man.rotate_y(deg_to_rad(event.relative.x * horiz_sens))

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://dg35jx6svmrj2"
path="res://.godot/imported/SlimeParty.wav-3a5ca824380a5317a9f053c836f3f093.sample"
[deps]
source_file="res://Sounds/SlimeParty.wav"
dest_files=["res://.godot/imported/SlimeParty.wav-3a5ca824380a5317a9f053c836f3f093.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

Binary file not shown.

View File

@ -1,24 +0,0 @@
[remap]
importer="wav"
type="AudioStreamWAV"
uid="uid://l02hcu1llpjk"
path="res://.godot/imported/beachquiet.wav-4d7b3f362a0eb18f5504682a02c34ea5.sample"
[deps]
source_file="res://Sounds/beachquiet.wav"
dest_files=["res://.godot/imported/beachquiet.wav-4d7b3f362a0eb18f5504682a02c34ea5.sample"]
[params]
force/8_bit=false
force/mono=false
force/max_rate=false
force/max_rate_hz=44100
edit/trim=false
edit/normalize=false
edit/loop_mode=0
edit/loop_begin=0
edit/loop_end=-1
compress/mode=0

BIN
godot/Sounds/dropgrunt.ogg (Stored with Git LFS)

Binary file not shown.

View File

@ -1,19 +0,0 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://csboqs15k3vps"
path="res://.godot/imported/dropgrunt.ogg-17874ed33d96ba69ea351610265a51dd.oggvorbisstr"
[deps]
source_file="res://Sounds/dropgrunt.ogg"
dest_files=["res://.godot/imported/dropgrunt.ogg-17874ed33d96ba69ea351610265a51dd.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
godot/Sounds/heartychuckle.ogg (Stored with Git LFS)

Binary file not shown.

View File

@ -1,19 +0,0 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://b80t5xqckjoqk"
path="res://.godot/imported/heartychuckle.ogg-5d7553a58eca2ba7e4b363c99bfd92a4.oggvorbisstr"
[deps]
source_file="res://Sounds/heartychuckle.ogg"
dest_files=["res://.godot/imported/heartychuckle.ogg-5d7553a58eca2ba7e4b363c99bfd92a4.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
godot/Sounds/pickup_grunt.ogg (Stored with Git LFS)

Binary file not shown.

View File

@ -1,19 +0,0 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://baocyd0p3jcku"
path="res://.godot/imported/pickup_grunt.ogg-b9b8b2eeb327248ea7dccb4c4bd8e12d.oggvorbisstr"
[deps]
source_file="res://Sounds/pickup_grunt.ogg"
dest_files=["res://.godot/imported/pickup_grunt.ogg-b9b8b2eeb327248ea7dccb4c4bd8e12d.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@ -1,55 +1,85 @@
extends Node3D
extends CharacterBody3D
var rng = RandomNumberGenerator.new()
var spin_amount = 0
var spinning = false
var wait_time = 0
@export var target_location_xz = global_transform.origin * Vector3(1, 0, 1)
@export var location_xz = global_transform.origin * Vector3(1, 0, 1)
@export var target_direction_xz = (transform.basis * Vector3(1, 0, 1)).normalized()
@export var direction_xz = (transform.basis * Vector3(1, 0, 1)).normalized()
var task = "idle"
# Percentage chances of the character performing certain actions while idle.
@export var walk_chance = 0.1
@export var spin_chance = 0.2
@export var walk_speed = 0.5
# Rate at which character corrects their direction after going off course (decimal percentage).
@export var spin_speed = 0.50
# Margin of accuracy to which the character will correct their direction when off course (radians).
@export var dir_accuracy = deg_to_rad(0.1)
# Get the gravity from the project settings to be synced with RigidBody nodes.
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
pass
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
var task = "idle"
location_xz = global_transform.origin * Vector3(1, 0, 1)
direction_xz = (transform.basis * Vector3(1, 0, 1)).normalized()
match task:
"idle":
task = rng.randi_range(0, 100)
task = rng.randf_range(0, 100)
if task <= 33:
# Chance to walk somewhere.
if task <= walk_chance:
task = "walk"
elif task > 33 and task <= 50:
target_location_xz = global_transform.origin * Vector3(1, 0, 1) + (direction_xz * 16)
# Chance to rotate.
elif task > walk_chance and task <= (walk_chance + spin_chance):
task = "spin"
elif task > 50:
task = "wait"
var rotation_angle = rng.randf_range(-2*PI, 2*PI)
var rotation_vector = Vector3(cos(rotation_angle), 0, sin(rotation_angle))
target_direction_xz = direction_xz + rotation_vector
# Chance to idle.
elif task > (spin_chance + walk_chance):
task = "idle"
"walk":
pass
# Get the direction to the target in z-x plane.
target_direction_xz = (location_xz.direction_to(target_location_xz) * Vector3(1, 0, 1)).normalized()
# Continue to correct direction to within a margin of dir_accuracy degrees.
if direction_xz.angle_to(target_direction_xz) >= dir_accuracy:
# Rotate towards destination at specified percentage rate.
rotate_y(direction_xz.angle_to(target_direction_xz) * spin_speed)
if location_xz.distance_to(target_location_xz) <= (Vector2(direction_xz.x, direction_xz.z) * walk_speed).length():
target_direction_xz = direction_xz
target_location_xz = location_xz
task = "idle"
"spin":
if !spinning:
var spin_amount = rng.randi_range(-360, 360)
spinning = true
if spin_amount > 0:
rotate_y(5)
spin_amount -= 5
elif spin_amount < 0:
rotate_y(-5)
spin_amount += 5
if direction_xz.angle_to(target_direction_xz) >= dir_accuracy:
# Rotate towards destination at specified percentage rate.
rotate_y(direction_xz.angle_to(target_direction_xz) * spin_speed)
else:
task = "idle"
spinning = false
"wait":
# Idle Animation goes here!
wait_time += 1
if wait_time == 100:
task = "idle"
wait_time = 0
func _physics_process(delta):
# Add the gravity.
if not is_on_floor():
velocity.y -= gravity * delta
# Walk to target location.
if location_xz.distance_to(target_location_xz) > (Vector2(direction_xz.x, direction_xz.z) * walk_speed).length():
velocity.x = direction_xz.x * walk_speed
velocity.z = direction_xz.z * walk_speed
move_and_slide()

View File

@ -1,10 +1,13 @@
[gd_scene load_steps=4 format=3 uid="uid://7utef1nnena8"]
[gd_scene load_steps=6 format=3 uid="uid://7utef1nnena8"]
[ext_resource type="Script" path="res://Player.gd" id="1_7gpdp"]
[ext_resource type="PackedScene" uid="uid://bgoo1lbt28na" path="res://Models/grape_man.tscn" id="2_hg0av"]
[ext_resource type="Script" path="res://Holster.gd" id="3_a68da"]
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kb4ms"]
[sub_resource type="SphereShape3D" id="SphereShape3D_6l1w6"]
[node name="Player" type="CharacterBody3D"]
script = ExtResource("1_7gpdp")
@ -21,4 +24,13 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.39043)
current = true
fov = 50.0
[node name="Holster" type="Node3D" parent="."]
script = ExtResource("3_a68da")
[node name="Area3D" type="Area3D" parent="Holster"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="Holster/Area3D"]
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0, 0)
shape = SubResource("SphereShape3D_6l1w6")
[connection signal="anim_check_grab" from="grape_man" to="." method="_on_grape_man_anim_check_grab"]

View File

@ -1,259 +0,0 @@
[gd_scene load_steps=24 format=3 uid="uid://v3vjhyhrqfhi"]
[ext_resource type="PackedScene" uid="uid://d2d4uv7o5gx5p" path="res://Level/World/screen_shader.tscn" id="1_ee0bf"]
[ext_resource type="PackedScene" uid="uid://b35w4hlh4n1jt" path="res://Level/World/world_environment.tscn" id="2_wvs0f"]
[ext_resource type="PackedScene" uid="uid://difi2tur2j4dg" path="res://Models/island.tscn" id="3_30dtd"]
[ext_resource type="PackedScene" uid="uid://ctbyl0qbks4k6" path="res://Models/ocean.tscn" id="4_527x8"]
[ext_resource type="PackedScene" uid="uid://d3ccrfjpg4hbv" path="res://Models/palm_curved.tscn" id="5_a3wkm"]
[ext_resource type="PackedScene" uid="uid://c1n2lfcn4rkx7" path="res://Models/palm_default.tscn" id="6_106fc"]
[ext_resource type="PackedScene" uid="uid://hg1yr5rnxd47" path="res://Models/palm_young.tscn" id="7_ill0p"]
[ext_resource type="PackedScene" uid="uid://g8vvg7c5ddkr" path="res://Models/rocks/rock_1.tscn" id="8_lwun6"]
[ext_resource type="PackedScene" uid="uid://bjafsu0utvm0g" path="res://Models/rocks/rock_2.tscn" id="9_ywqbr"]
[ext_resource type="PackedScene" uid="uid://bf6bbqbaeh21y" path="res://Models/rocks/rock_3.tscn" id="10_pmsfa"]
[ext_resource type="PackedScene" uid="uid://ce7jbp7f55cro" path="res://Models/buildings/building_1.tscn" id="11_wytos"]
[ext_resource type="PackedScene" uid="uid://cx44bjuxlhq06" path="res://Models/buildings/building_2.tscn" id="12_soqmo"]
[ext_resource type="PackedScene" uid="uid://bm65tvb4irjqw" path="res://Models/buildings/building_3.tscn" id="13_bqbcp"]
[ext_resource type="PackedScene" uid="uid://tky3cco2k7v7" path="res://Models/buildings/building_4.tscn" id="14_26vp6"]
[ext_resource type="PackedScene" uid="uid://dhrnbubumgi5h" path="res://Models/buildings/buildingruined.tscn" id="15_pvu04"]
[ext_resource type="PackedScene" uid="uid://bj8le45u845v3" path="res://Models/beach_decor/floatie.tscn" id="16_o5f84"]
[ext_resource type="PackedScene" uid="uid://dvpank15vkvtv" path="res://Models/beach_decor/parsol.tscn" id="17_tvwlm"]
[ext_resource type="PackedScene" uid="uid://b3aus2kigf8xt" path="res://Models/beach_decor/cooler.tscn" id="18_whrnr"]
[ext_resource type="PackedScene" uid="uid://bw3k2c75qavce" path="res://Models/beach_decor/bucket.tscn" id="19_yg6e1"]
[ext_resource type="PackedScene" uid="uid://g4gmc0pwlak1" path="res://Models/buildings/fence.tscn" id="20_k7apf"]
[ext_resource type="PackedScene" uid="uid://bgoo1lbt28na" path="res://Models/grape_man.tscn" id="21_j8hpq"]
[ext_resource type="PackedScene" uid="uid://c3q6fva1c1baa" path="res://Models/slime.tscn" id="22_f6psl"]
[ext_resource type="PackedScene" uid="uid://7utef1nnena8" path="res://player.tscn" id="23_bmfvv"]
[node name="World" type="Node3D"]
[node name="ScreenShader" parent="." instance=ExtResource("1_ee0bf")]
[node name="WorldEnvironment" parent="." instance=ExtResource("2_wvs0f")]
[node name="island" parent="." instance=ExtResource("3_30dtd")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="ocean" parent="." instance=ExtResource("4_527x8")]
transform = Transform3D(1.96278, 0, 0, 0, 1.96278, 0, 0, 0, 1.96278, 0, 1.6366, 0)
[node name="Decorations" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0)
[node name="nature" type="Node3D" parent="Decorations"]
[node name="PalmCurved" parent="Decorations/nature" instance=ExtResource("5_a3wkm")]
transform = Transform3D(0.0166766, 0, 0, 0, 0.0166766, 0, 0, 0, 0.0166766, 2.60201, 1.38633, -0.419671)
[node name="PalmCurved2" parent="Decorations/nature" instance=ExtResource("5_a3wkm")]
transform = Transform3D(0.0206421, 0, 0, 0, 0.0206421, 0, 0, 0, 0.0206421, 1.60311, 1.38633, -2.78547)
[node name="PalmCurved3" parent="Decorations/nature" instance=ExtResource("5_a3wkm")]
transform = Transform3D(0.0228198, -0.00350905, 0.0182581, 0.00447368, 0.029093, 0, -0.018046, 0.00277496, 0.0230881, 1.60311, 1.38633, -3.05434)
[node name="PalmDefault" parent="Decorations/nature" instance=ExtResource("6_106fc")]
transform = Transform3D(0.0285645, 0, 0, 0, 0.0285645, 0, 0, 0, 0.0285645, 1.58539, 1.19143, 0.741446)
[node name="PalmDefault2" parent="Decorations/nature" instance=ExtResource("6_106fc")]
transform = Transform3D(0.0285645, 0, 0, 0, 0.0285645, 0, 0, 0, 0.0285645, 2.54841, 1.33006, -0.654728)
[node name="PalmCurved4" parent="Decorations/nature" instance=ExtResource("5_a3wkm")]
transform = Transform3D(-0.0165298, 0, -0.0022076, 0, 0.0166766, 0, 0.0022076, 0, -0.0165298, -2.92791, 1.29787, -2.21588)
[node name="PalmDefault4" parent="Decorations/nature" instance=ExtResource("6_106fc")]
transform = Transform3D(-0.0283131, 0, -0.00378129, 0, 0.0285645, 0, 0.00378129, 0, -0.0283131, -2.84367, 1.2416, -1.98999)
[node name="PalmDefault3" parent="Decorations/nature" instance=ExtResource("6_106fc")]
transform = Transform3D(0.0357832, 0, 0, 0, 0.0357832, 0, 0, 0, 0.0357832, 1.57703, 1.36549, -3.01082)
[node name="PalmYoung" parent="Decorations/nature" instance=ExtResource("7_ill0p")]
transform = Transform3D(0.0328739, 0, 0, 0, 0.0328739, 0, 0, 0, 0.0328739, 0.0679206, 1.38939, 0.60797)
[node name="PalmYoung2" parent="Decorations/nature" instance=ExtResource("7_ill0p")]
transform = Transform3D(0.0324601, 0, -0.00519927, -0.000382867, 0.0327846, -0.00239032, 0.00518516, 0.00242079, 0.032372, 1.36351, 1.17911, 0.610679)
[node name="PalmYoung3" parent="Decorations/nature" instance=ExtResource("7_ill0p")]
transform = Transform3D(0.0247079, -4.21649e-12, -0.00395757, -0.00112831, 0.0239843, -0.0070443, 0.00379331, 0.00713409, 0.0236825, 1.68554, 1.21103, 0.610679)
[node name="PalmDefault5" parent="Decorations/nature" instance=ExtResource("6_106fc")]
transform = Transform3D(0.0105791, -0.0084015, -0.025168, 0.00325558, 0.027301, -0.00774509, 0.0263328, 0, 0.0110687, -0.427893, 1.9423, -2.64889)
[node name="PalmYoung4" parent="Decorations/nature" instance=ExtResource("7_ill0p")]
transform = Transform3D(0.00756592, -0.0117757, -0.0297453, 0.00192772, 0.0306781, -0.0116546, 0.0319333, 0.000938053, 0.00775109, -0.391226, 1.9407, -2.90411)
[node name="PalmYoung5" parent="Decorations/nature" instance=ExtResource("7_ill0p")]
transform = Transform3D(0.00614041, -0.0133402, -0.0202603, 0.000709091, 0.0209891, -0.0136051, 0.0242474, 0.00276446, 0.00552858, -0.293324, 2.04682, -2.60724)
[node name="PalmDefault6" parent="Decorations/nature" instance=ExtResource("6_106fc")]
transform = Transform3D(0.0378488, 0, 0, 0, 0.0378488, 0, 0, 0, 0.0378488, -2.78499, 0.880813, -5.32234)
[node name="PalmYoung6" parent="Decorations/nature" instance=ExtResource("7_ill0p")]
transform = Transform3D(0.0324601, 0, -0.00519927, -0.000382867, 0.0327846, -0.00239032, 0.00518516, 0.00242079, 0.032372, -2.92514, 0.929941, -5.44034)
[node name="PalmYoung7" parent="Decorations/nature" instance=ExtResource("7_ill0p")]
transform = Transform3D(0.0247079, -4.21649e-12, -0.00395757, -0.00112831, 0.0239843, -0.0070443, 0.00379331, 0.00713409, 0.0236825, -2.48546, 1.27716, -5.5655)
[node name="rock1" parent="Decorations/nature" instance=ExtResource("8_lwun6")]
transform = Transform3D(2.22588, -0.121134, 0, 0.121134, 2.22588, 0, 0, 0, 2.22917, 1.5143, 1.55265, -0.92903)
[node name="rock2" parent="Decorations/nature" instance=ExtResource("9_ywqbr")]
transform = Transform3D(0.691597, 0, 2.18402, 0, 2.29091, 0, -2.18402, 0, 0.691597, -2.49043, 1.75613, -2.80585)
[node name="rock4" parent="Decorations/nature" instance=ExtResource("9_ywqbr")]
transform = Transform3D(1.07799, 0, -2.02144, 0, 2.29091, 0, 2.02144, 0, 1.07799, 2.91299, 1.48205, -2.24697)
[node name="rock3" parent="Decorations/nature" instance=ExtResource("10_pmsfa")]
transform = Transform3D(1.34711, 0, -1.03681, 0, 1.69991, 0, 1.03681, 0, 1.34711, -0.627084, 1.6587, -0.745724)
[node name="rock5" parent="Decorations/nature" instance=ExtResource("10_pmsfa")]
transform = Transform3D(2.17971, 0, 1.18206, 0, 2.4796, 0, -1.18206, 0, 2.17971, -2.78722, 1.02155, -5.94306)
[node name="buildings" type="Node3D" parent="Decorations"]
[node name="buildingtall" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(21.8862, 0, 0, 0, 21.8862, 0, 0, 0, 21.8862, -4.3809, 2.55474, 2.89074)
[node name="buildingtall2" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(13.5064, 0, 0, 0, 13.5064, 0, 0, 0, 13.5064, -1.47841, 2.55474, -12.1844)
[node name="buildingtall3" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(10.4606, 0, 0, 0, 10.4606, 0, 0, 0, 10.4606, 5.31898, 2.55474, -8.06938)
[node name="buildingtall5" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(-0.0729599, 0, 21.8861, 0, 21.8862, 0, -21.8861, 0, -0.0729599, 12.1925, 2.55474, -11.372)
[node name="buildingtall6" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(-0.0450251, 0, 13.5063, 0, 13.5064, 0, -13.5063, 0, -0.0450251, -2.89216, 2.55474, -14.2242)
[node name="buildingtall7" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(-0.0348714, 0, 10.4605, 0, 10.4606, 0, -10.4605, 0, -0.0348714, 1.20015, 2.55474, -21.0353)
[node name="buildingtall4" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(10.4606, 0, 0, 0, 10.4606, 0, 0, 0, 10.4606, 8.3496, 2.55474, 5.62082)
[node name="buildingdark" parent="Decorations/buildings" instance=ExtResource("12_soqmo")]
transform = Transform3D(4.44687, 0, 0, 0, 4.44687, 0, 0, 0, 4.44687, -4.40636, 1.95165, 3.4984)
[node name="buildingdark4" parent="Decorations/buildings" instance=ExtResource("12_soqmo")]
transform = Transform3D(6.78288, 0, 0, 0, 6.78288, 0, 0, 0, 6.78288, -6.16993, 1.95165, -3.65367)
[node name="buildingtall8" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(-0.0116848, 0, 10.4606, 0, 10.4606, 0, -10.4606, 0, -0.0116848, -14.3399, 2.55474, -17.0464)
[node name="buildingtall9" parent="Decorations/buildings" instance=ExtResource("11_wytos")]
transform = Transform3D(-13.5063, 0, -0.0601121, 0, 13.5064, 0, 0.0601121, 0, -13.5063, -20.4855, 2.55474, -8.82839)
[node name="buildingdark8" parent="Decorations/buildings" instance=ExtResource("12_soqmo")]
transform = Transform3D(-0.00757671, 0, 6.78287, 0, 6.78288, 0, -6.78287, 0, -0.00757671, -9.91133, 1.95165, -5.56244)
[node name="buildingdark2" parent="Decorations/buildings" instance=ExtResource("12_soqmo")]
transform = Transform3D(4.44687, 0, 0, 0, 4.44687, 0, 0, 0, 4.44687, 6.77348, 1.95165, 3.4984)
[node name="buildingdark3" parent="Decorations/buildings" instance=ExtResource("12_soqmo")]
transform = Transform3D(4.44687, 0, 0, 0, 4.44687, 0, 0, 0, 4.44687, 5.32956, 1.95165, 3.4984)
[node name="buildingdark5" parent="Decorations/buildings" instance=ExtResource("12_soqmo")]
transform = Transform3D(7.67301, 0, 0, 0, 7.67301, 0, 0, 0, 7.67301, -0.410835, 2.81886, 6.63391)
[node name="buildinggray" parent="Decorations/buildings" instance=ExtResource("13_bqbcp")]
transform = Transform3D(6.28093, 0, 0, 0, 6.28093, 0, 0, 0, 6.28093, 8.30197, 1.03036, -1.61307)
[node name="buildinggray2" parent="Decorations/buildings" instance=ExtResource("13_bqbcp")]
transform = Transform3D(6.28093, 0, 0, 0, 6.28093, 0, 0, 0, 6.28093, 8.30197, 1.03036, -3.69042)
[node name="buildinggray3" parent="Decorations/buildings" instance=ExtResource("13_bqbcp")]
transform = Transform3D(6.28093, 0, 0, 0, 6.28093, 0, 0, 0, 6.28093, 8.30197, 1.03036, -10.8574)
[node name="buildingshort" parent="Decorations/buildings" instance=ExtResource("14_26vp6")]
transform = Transform3D(4.16771, 0, 0, 0, 4.16771, 0, 0, 0, 4.16771, -0.459043, 1.40556, 3.90663)
[node name="buildingshort3" parent="Decorations/buildings" instance=ExtResource("14_26vp6")]
transform = Transform3D(4.57392, 0, 0, 0, 4.57392, 0, 0, 0, 4.57392, -6.12576, 1.40556, -10.1037)
[node name="buildingdark6" parent="Decorations/buildings" instance=ExtResource("12_soqmo")]
transform = Transform3D(-0.0169875, 0, -6.71246, 0, 6.71248, 0, 6.71246, 0, -0.0169875, -4.48605, 2.0444, 15.7302)
[node name="buildingdark7" parent="Decorations/buildings" instance=ExtResource("12_soqmo")]
transform = Transform3D(-0.0259113, 0, -10.2386, 0, 10.2386, 0, 10.2386, 0, -0.0259113, 6.31659, 2.0444, 13.0954)
[node name="buildingshort6" parent="Decorations/buildings" instance=ExtResource("14_26vp6")]
transform = Transform3D(-0.0174728, 0, -6.90423, 0, 6.90426, 0, 6.90423, 0, -0.0174728, 16.0526, 1.22007, 13.1868)
[node name="buildingshort2" parent="Decorations/buildings" instance=ExtResource("14_26vp6")]
transform = Transform3D(4.16771, 0, 0, 0, 4.16771, 0, 0, 0, 4.16771, 1.65087, 1.40556, 3.90663)
[node name="buildingshort4" parent="Decorations/buildings" instance=ExtResource("14_26vp6")]
transform = Transform3D(4.02251, 0, 0, 0, 4.02251, 0, 0, 0, 4.02251, 1.64013, 1.40556, -9.83171)
[node name="buildingshort5" parent="Decorations/buildings" instance=ExtResource("14_26vp6")]
transform = Transform3D(4.02251, 0, 0, 0, 4.02251, 0, 0, 0, 4.02251, 3.67653, 1.40556, -9.83171)
[node name="buildingruined" parent="Decorations/buildings" instance=ExtResource("15_pvu04")]
transform = Transform3D(3, 0, 0, 0, 7, 0, 0, 0, 3, 0.264704, 3.59073, -4.06142)
[node name="beach items" type="Node3D" parent="Decorations"]
[node name="Floatie" parent="Decorations/beach items" instance=ExtResource("16_o5f84")]
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, -0.784158, 0.853456, 2.16031)
[node name="Floatie2" parent="Decorations/beach items" instance=ExtResource("16_o5f84")]
transform = Transform3D(0.142475, -0.0469124, 0, 0.0469124, 0.142475, 0, 0, 0, 0.15, -3.06407, 0.899973, -0.715843)
[node name="Floatie3" parent="Decorations/beach items" instance=ExtResource("16_o5f84")]
transform = Transform3D(0.130141, 0.074587, 0, -0.074587, 0.130141, 0, 0, 0, 0.15, 3.48612, 0.899973, -0.715843)
[node name="Floatie4" parent="Decorations/beach items" instance=ExtResource("16_o5f84")]
transform = Transform3D(0.130141, 0.074587, 0, -0.074587, 0.130141, 0, 0, 0, 0.15, 0.886782, 1.39103, -0.739674)
[node name="Parsol" parent="Decorations/beach items" instance=ExtResource("17_tvwlm")]
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, -1.66573, 0.876208, 1.05714)
[node name="Parsol4" parent="Decorations/beach items" instance=ExtResource("17_tvwlm")]
transform = Transform3D(-0.0239309, 0.0261311, -0.145755, 0.020213, 0.14684, 0.023007, 0.146693, -0.0159705, -0.0269481, 1.76494, 1.33168, -0.229817)
[node name="Parsol5" parent="Decorations/beach items" instance=ExtResource("17_tvwlm")]
transform = Transform3D(-0.0239309, 0.0261311, -0.145755, 0.020213, 0.14684, 0.023007, 0.146693, -0.0159705, -0.0269481, 2.32692, 1.57535, -2.17909)
[node name="Parsol2" parent="Decorations/beach items" instance=ExtResource("17_tvwlm")]
transform = Transform3D(0.1347, -6.66134e-17, 0.0660003, -0.0146604, 0.146253, 0.0299204, -0.0643514, -0.0333191, 0.131334, -1.14782, 1.47649, -0.558166)
[node name="Parsol3" parent="Decorations/beach items" instance=ExtResource("17_tvwlm")]
transform = Transform3D(0.134699, 1.78109e-09, 0.0660003, 0.0272818, 0.136585, -0.0556792, -0.0600977, 0.0620038, 0.122653, -1.99932, 1.60507, -2.17045)
[node name="Cooler" parent="Decorations/beach items" instance=ExtResource("18_whrnr")]
transform = Transform3D(0.120432, 0, 0.0894211, 0, 0.15, 0, -0.0894211, 0, 0.120432, 0.152196, 1.35823, -1.06364)
[node name="Cooler3" parent="Decorations/beach items" instance=ExtResource("18_whrnr")]
transform = Transform3D(0.148429, 0.0216508, 0, -0.0216154, 0.148186, -0.00857972, -0.00123839, 0.00848987, 0.149754, 1.4826, 1.19789, 0.782173)
[node name="Cooler2" parent="Decorations/beach items" instance=ExtResource("18_whrnr")]
transform = Transform3D(0.0773985, -0.0174174, -0.127303, -0.0231678, 0.144288, -0.0338269, 0.126383, 0.0371166, 0.071761, -2.22704, 1.55195, -2.24528)
[node name="Bucket" parent="Decorations/beach items" instance=ExtResource("19_yg6e1")]
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0.0735223, 1.38544, -0.541391)
[node name="slimepen" type="Node3D" parent="Decorations"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.406997, 0.0234586, 0.519028)
[node name="fence" parent="Decorations/slimepen" instance=ExtResource("20_k7apf")]
transform = Transform3D(0.75, 0, 0, 0, 1.8, 0, 0, 0, 1.8, -0.193081, 1.39007, -1.43506)
[node name="fence2" parent="Decorations/slimepen" instance=ExtResource("20_k7apf")]
transform = Transform3D(-6.55671e-08, 0, 1.5, 0, 1.5, 0, -1.5, 0, -6.55671e-08, 0, 1.40507, -1.34639)
[node name="fence3" parent="Decorations/slimepen" instance=ExtResource("20_k7apf")]
transform = Transform3D(-6.55671e-08, 0, -1.5, 0, 1.5, 0, 1.5, 0, -6.55671e-08, 0, 1.40507, -1.34639)
[node name="fence4" parent="Decorations/slimepen" instance=ExtResource("20_k7apf")]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 1.40507, -2.10425)
[node name="grape_man" parent="." instance=ExtResource("21_j8hpq")]
transform = Transform3D(0.065, 0, 0, 0, 0.065, 0, 0, 0, 0.065, -0.219532, 2.64323, 0)
[node name="slime" parent="." instance=ExtResource("22_f6psl")]
transform = Transform3D(0.035, 0, 0, 0, 0.035, 0, 0, 0, 0.035, -0.240886, 2.72271, 0.267039)
[node name="Camera3D" type="Camera3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 0.965509, 0.26037, 0, -0.26037, 0.965509, 0, 5.42228, 4.14616)
[node name="Player" parent="." instance=ExtResource("23_bmfvv")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.548558, 2.93052, 0.413536)

View File

@ -6,13 +6,11 @@
[sub_resource type="CapsuleMesh" id="CapsuleMesh_b3srs"]
[node name="Node3D" type="Node3D"]
[node name="Villager" type="CharacterBody3D"]
script = ExtResource("1_ardgw")
[node name="RigidBody3D" type="RigidBody3D" parent="."]
[node name="CollisionShape3D" type="CollisionShape3D" parent="RigidBody3D"]
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
shape = SubResource("CapsuleShape3D_s4x8n")
[node name="MeshInstance3D" type="MeshInstance3D" parent="RigidBody3D/CollisionShape3D"]
[node name="MeshInstance3D" type="MeshInstance3D" parent="CollisionShape3D"]
mesh = SubResource("CapsuleMesh_b3srs")