Compare commits
11 Commits
5637c82eb7
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8d00b1a40f | ||
|
|
e32a58f416 | ||
|
|
a0efc6b9b8 | ||
|
|
9bab0ff0f3 | ||
|
|
b5d5d4a818 | ||
|
|
88007d247a | ||
|
|
31c9a69132 | ||
|
|
e4667a3a47 | ||
|
|
7ba255334d | ||
|
|
a62d2e29bc | ||
|
|
c073bb555f |
BIN
Blends/BoneTest.bin
Normal file
BIN
Blends/BoneTest.bin
Normal file
Binary file not shown.
7
Blends/Items/Food/Material.001.tres
Normal file
7
Blends/Items/Food/Material.001.tres
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
[gd_resource type="StandardMaterial3D" format=3 uid="uid://ewwyg8jhpr87"]
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
resource_name = "Material.001"
|
||||||
|
cull_mode = 2
|
||||||
|
albedo_color = Color(0.906332, 0.906332, 0.906332, 1)
|
||||||
|
roughness = 0.5
|
||||||
16
Blends/Items/Food/Material.tres
Normal file
16
Blends/Items/Food/Material.tres
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[gd_resource type="StandardMaterial3D" load_steps=3 format=3 uid="uid://detpb4ww2vvsf"]
|
||||||
|
|
||||||
|
[ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="1_4u3y3"]
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_s6uwl"]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("1_4u3y3")
|
||||||
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
resource_name = "Material"
|
||||||
|
next_pass = SubResource("ShaderMaterial_s6uwl")
|
||||||
|
cull_mode = 2
|
||||||
|
albedo_color = Color(0.655154, 0.629469, 0.906882, 1)
|
||||||
|
roughness = 0.5
|
||||||
BIN
Blends/Items/Food/food.bin
Normal file
BIN
Blends/Items/Food/food.bin
Normal file
Binary file not shown.
BIN
Blends/Items/Food/food.blend
Normal file
BIN
Blends/Items/Food/food.blend
Normal file
Binary file not shown.
53
Blends/Items/Food/food.blend.import
Normal file
53
Blends/Items/Food/food.blend.import
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://yry4c8j7q63q"
|
||||||
|
path="res://.godot/imported/food.blend-bb725c29af6e4b27bddfb2a1444749ae.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Blends/Items/Food/food.blend"
|
||||||
|
dest_files=["res://.godot/imported/food.blend-bb725c29af6e4b27bddfb2a1444749ae.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type=""
|
||||||
|
nodes/root_name=""
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
nodes/import_as_skeleton_bones=false
|
||||||
|
nodes/use_node_type_suffixes=true
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
meshes/force_disable_compression=false
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
animation/import_rest_as_RESET=false
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={}
|
||||||
|
blender/nodes/visible=0
|
||||||
|
blender/nodes/active_collection_only=false
|
||||||
|
blender/nodes/punctual_lights=true
|
||||||
|
blender/nodes/cameras=true
|
||||||
|
blender/nodes/custom_properties=true
|
||||||
|
blender/nodes/modifiers=1
|
||||||
|
blender/meshes/colors=false
|
||||||
|
blender/meshes/uvs=true
|
||||||
|
blender/meshes/normals=true
|
||||||
|
blender/meshes/export_geometry_nodes_instances=false
|
||||||
|
blender/meshes/tangents=true
|
||||||
|
blender/meshes/skins=2
|
||||||
|
blender/meshes/export_bones_deforming_mesh_only=false
|
||||||
|
blender/materials/unpack_enabled=true
|
||||||
|
blender/materials/export_materials=1
|
||||||
|
blender/animation/limit_playback=true
|
||||||
|
blender/animation/always_sample=true
|
||||||
|
blender/animation/group_tracks=true
|
||||||
BIN
Blends/Items/Food/food.blend1
Normal file
BIN
Blends/Items/Food/food.blend1
Normal file
Binary file not shown.
217
Blends/Items/Food/food.gltf
Normal file
217
Blends/Items/Food/food.gltf
Normal file
@@ -0,0 +1,217 @@
|
|||||||
|
{
|
||||||
|
"asset":{
|
||||||
|
"generator":"Khronos glTF Blender I/O v4.5.47",
|
||||||
|
"version":"2.0"
|
||||||
|
},
|
||||||
|
"scene":0,
|
||||||
|
"scenes":[
|
||||||
|
{
|
||||||
|
"name":"Scene",
|
||||||
|
"nodes":[
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"nodes":[
|
||||||
|
{
|
||||||
|
"mesh":0,
|
||||||
|
"name":"Cube"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mesh":1,
|
||||||
|
"name":"Text",
|
||||||
|
"scale":[
|
||||||
|
0.5714878439903259,
|
||||||
|
0.5714878439903259,
|
||||||
|
0.5714878439903259
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"materials":[
|
||||||
|
{
|
||||||
|
"doubleSided":true,
|
||||||
|
"name":"Material",
|
||||||
|
"pbrMetallicRoughness":{
|
||||||
|
"baseColorFactor":[
|
||||||
|
0.3867591321468353,
|
||||||
|
0.3540330231189728,
|
||||||
|
0.8011000156402588,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"metallicFactor":0,
|
||||||
|
"roughnessFactor":0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"doubleSided":true,
|
||||||
|
"name":"Material.001",
|
||||||
|
"pbrMetallicRoughness":{
|
||||||
|
"baseColorFactor":[
|
||||||
|
0.800000011920929,
|
||||||
|
0.800000011920929,
|
||||||
|
0.800000011920929,
|
||||||
|
1
|
||||||
|
],
|
||||||
|
"metallicFactor":0,
|
||||||
|
"roughnessFactor":0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meshes":[
|
||||||
|
{
|
||||||
|
"name":"Cube",
|
||||||
|
"primitives":[
|
||||||
|
{
|
||||||
|
"attributes":{
|
||||||
|
"POSITION":0,
|
||||||
|
"NORMAL":1,
|
||||||
|
"TEXCOORD_0":2
|
||||||
|
},
|
||||||
|
"indices":3,
|
||||||
|
"material":0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name":"f",
|
||||||
|
"primitives":[
|
||||||
|
{
|
||||||
|
"attributes":{
|
||||||
|
"POSITION":4,
|
||||||
|
"NORMAL":5,
|
||||||
|
"TEXCOORD_0":6
|
||||||
|
},
|
||||||
|
"indices":7,
|
||||||
|
"material":1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"accessors":[
|
||||||
|
{
|
||||||
|
"bufferView":0,
|
||||||
|
"componentType":5126,
|
||||||
|
"count":168,
|
||||||
|
"max":[
|
||||||
|
1.0715641975402832,
|
||||||
|
0.07224392890930176,
|
||||||
|
1.0715641975402832
|
||||||
|
],
|
||||||
|
"min":[
|
||||||
|
-1.0715641975402832,
|
||||||
|
-0.7519297003746033,
|
||||||
|
-1.0715641975402832
|
||||||
|
],
|
||||||
|
"type":"VEC3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferView":1,
|
||||||
|
"componentType":5126,
|
||||||
|
"count":168,
|
||||||
|
"type":"VEC3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferView":2,
|
||||||
|
"componentType":5126,
|
||||||
|
"count":168,
|
||||||
|
"type":"VEC2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferView":3,
|
||||||
|
"componentType":5123,
|
||||||
|
"count":852,
|
||||||
|
"type":"SCALAR"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferView":4,
|
||||||
|
"componentType":5126,
|
||||||
|
"count":512,
|
||||||
|
"max":[
|
||||||
|
1.3956226110458374,
|
||||||
|
0.17762300372123718,
|
||||||
|
0.31090247631073
|
||||||
|
],
|
||||||
|
"min":[
|
||||||
|
-1.3473774194717407,
|
||||||
|
0.1200113594532013,
|
||||||
|
-0.38909757137298584
|
||||||
|
],
|
||||||
|
"type":"VEC3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferView":5,
|
||||||
|
"componentType":5126,
|
||||||
|
"count":512,
|
||||||
|
"type":"VEC3"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferView":6,
|
||||||
|
"componentType":5126,
|
||||||
|
"count":512,
|
||||||
|
"type":"VEC2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"bufferView":7,
|
||||||
|
"componentType":5123,
|
||||||
|
"count":3060,
|
||||||
|
"type":"SCALAR"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"bufferViews":[
|
||||||
|
{
|
||||||
|
"buffer":0,
|
||||||
|
"byteLength":2016,
|
||||||
|
"byteOffset":0,
|
||||||
|
"target":34962
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer":0,
|
||||||
|
"byteLength":2016,
|
||||||
|
"byteOffset":2016,
|
||||||
|
"target":34962
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer":0,
|
||||||
|
"byteLength":1344,
|
||||||
|
"byteOffset":4032,
|
||||||
|
"target":34962
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer":0,
|
||||||
|
"byteLength":1704,
|
||||||
|
"byteOffset":5376,
|
||||||
|
"target":34963
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer":0,
|
||||||
|
"byteLength":6144,
|
||||||
|
"byteOffset":7080,
|
||||||
|
"target":34962
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer":0,
|
||||||
|
"byteLength":6144,
|
||||||
|
"byteOffset":13224,
|
||||||
|
"target":34962
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer":0,
|
||||||
|
"byteLength":4096,
|
||||||
|
"byteOffset":19368,
|
||||||
|
"target":34962
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"buffer":0,
|
||||||
|
"byteLength":6120,
|
||||||
|
"byteOffset":23464,
|
||||||
|
"target":34963
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"buffers":[
|
||||||
|
{
|
||||||
|
"byteLength":29584,
|
||||||
|
"uri":"food.bin"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
48
Blends/Items/Food/food.gltf.import
Normal file
48
Blends/Items/Food/food.gltf.import
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://tedmijw81j46"
|
||||||
|
path="res://.godot/imported/food.gltf-05a2764e0a6bf33e050aa626fcac2f77.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Blends/Items/Food/food.gltf"
|
||||||
|
dest_files=["res://.godot/imported/food.gltf-05a2764e0a6bf33e050aa626fcac2f77.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type=""
|
||||||
|
nodes/root_name=""
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
nodes/import_as_skeleton_bones=false
|
||||||
|
nodes/use_node_type_suffixes=true
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
meshes/force_disable_compression=false
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
animation/import_rest_as_RESET=false
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={
|
||||||
|
"materials": {
|
||||||
|
"Material": {
|
||||||
|
"use_external/enabled": true,
|
||||||
|
"use_external/path": "res://Blends/Items/Food/Material.tres"
|
||||||
|
},
|
||||||
|
"Material.001": {
|
||||||
|
"use_external/enabled": true,
|
||||||
|
"use_external/path": "res://Blends/Items/Food/Material.001.tres"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
gltf/naming_version=1
|
||||||
|
gltf/embedded_image_handling=1
|
||||||
BIN
Blends/Person/test/Untitled.blend
Normal file
BIN
Blends/Person/test/Untitled.blend
Normal file
Binary file not shown.
53
Blends/Person/test/Untitled.blend.import
Normal file
53
Blends/Person/test/Untitled.blend.import
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
[remap]
|
||||||
|
|
||||||
|
importer="scene"
|
||||||
|
importer_version=1
|
||||||
|
type="PackedScene"
|
||||||
|
uid="uid://c1ermg14csqb6"
|
||||||
|
path="res://.godot/imported/Untitled.blend-593cf321034d89ec0dceac9257bb7479.scn"
|
||||||
|
|
||||||
|
[deps]
|
||||||
|
|
||||||
|
source_file="res://Blends/Person/test/Untitled.blend"
|
||||||
|
dest_files=["res://.godot/imported/Untitled.blend-593cf321034d89ec0dceac9257bb7479.scn"]
|
||||||
|
|
||||||
|
[params]
|
||||||
|
|
||||||
|
nodes/root_type=""
|
||||||
|
nodes/root_name=""
|
||||||
|
nodes/apply_root_scale=true
|
||||||
|
nodes/root_scale=1.0
|
||||||
|
nodes/import_as_skeleton_bones=false
|
||||||
|
nodes/use_node_type_suffixes=true
|
||||||
|
meshes/ensure_tangents=true
|
||||||
|
meshes/generate_lods=true
|
||||||
|
meshes/create_shadow_meshes=true
|
||||||
|
meshes/light_baking=1
|
||||||
|
meshes/lightmap_texel_size=0.2
|
||||||
|
meshes/force_disable_compression=false
|
||||||
|
skins/use_named_skins=true
|
||||||
|
animation/import=true
|
||||||
|
animation/fps=30
|
||||||
|
animation/trimming=false
|
||||||
|
animation/remove_immutable_tracks=true
|
||||||
|
animation/import_rest_as_RESET=false
|
||||||
|
import_script/path=""
|
||||||
|
_subresources={}
|
||||||
|
blender/nodes/visible=0
|
||||||
|
blender/nodes/active_collection_only=false
|
||||||
|
blender/nodes/punctual_lights=true
|
||||||
|
blender/nodes/cameras=true
|
||||||
|
blender/nodes/custom_properties=true
|
||||||
|
blender/nodes/modifiers=1
|
||||||
|
blender/meshes/colors=false
|
||||||
|
blender/meshes/uvs=true
|
||||||
|
blender/meshes/normals=true
|
||||||
|
blender/meshes/export_geometry_nodes_instances=false
|
||||||
|
blender/meshes/tangents=true
|
||||||
|
blender/meshes/skins=2
|
||||||
|
blender/meshes/export_bones_deforming_mesh_only=false
|
||||||
|
blender/materials/unpack_enabled=true
|
||||||
|
blender/materials/export_materials=1
|
||||||
|
blender/animation/limit_playback=true
|
||||||
|
blender/animation/always_sample=true
|
||||||
|
blender/animation/group_tracks=true
|
||||||
@@ -20,6 +20,7 @@ shader_parameter/color = Vector3(0, 0, 0)
|
|||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("10_pigwg")
|
shader = ExtResource("10_pigwg")
|
||||||
shader_parameter/is_active = false
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_byy4f"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_byy4f"]
|
||||||
next_pass = SubResource("ShaderMaterial_pigwg")
|
next_pass = SubResource("ShaderMaterial_pigwg")
|
||||||
@@ -76,6 +77,7 @@ surface_material_override/7 = SubResource("ShaderMaterial_hnq8j")
|
|||||||
surface_material_override/8 = SubResource("StandardMaterial3D_byy4f")
|
surface_material_override/8 = SubResource("StandardMaterial3D_byy4f")
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||||
|
input_ray_pickable = false
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.053833, -0.776428, 0.0276413)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.053833, -0.776428, 0.0276413)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=18 format=3 uid="uid://0t0cvsitlfmm"]
|
[gd_scene load_steps=19 format=3 uid="uid://0t0cvsitlfmm"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_nn5da"]
|
[ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_nn5da"]
|
||||||
[ext_resource type="ArrayMesh" uid="uid://cahq2fdeqqwhx" path="res://Blends/Mobel/DoubleBeds.obj" id="2_8ssp7"]
|
[ext_resource type="ArrayMesh" uid="uid://cahq2fdeqqwhx" path="res://Blends/Mobel/DoubleBeds.obj" id="2_8ssp7"]
|
||||||
@@ -8,6 +8,7 @@
|
|||||||
[ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="5_c1046"]
|
[ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="5_c1046"]
|
||||||
[ext_resource type="Texture2D" uid="uid://kl1jplui8wfq" path="res://Blends/Mobel/textures/Material.003 Base Color.png" id="5_sp2kd"]
|
[ext_resource type="Texture2D" uid="uid://kl1jplui8wfq" path="res://Blends/Mobel/textures/Material.003 Base Color.png" id="5_sp2kd"]
|
||||||
[ext_resource type="Script" uid="uid://fjdtka5s1dxi" path="res://Scripts/objects/DoubleBeds.gd" id="8_c1046"]
|
[ext_resource type="Script" uid="uid://fjdtka5s1dxi" path="res://Scripts/objects/DoubleBeds.gd" id="8_c1046"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://f7nkbsrxy4r6" path="res://Scenes/Prefabs/PersonPos.tscn" id="9_k1k40"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dn7et"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_dn7et"]
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
@@ -18,6 +19,7 @@ shader_parameter/color = Vector3(0, 0, 0)
|
|||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("5_c1046")
|
shader = ExtResource("5_c1046")
|
||||||
shader_parameter/is_active = false
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0, 0, 0)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_c1046"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_c1046"]
|
||||||
next_pass = SubResource("ShaderMaterial_k1k40")
|
next_pass = SubResource("ShaderMaterial_k1k40")
|
||||||
@@ -28,6 +30,7 @@ roughness_texture = ExtResource("4_dn7et")
|
|||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("5_c1046")
|
shader = ExtResource("5_c1046")
|
||||||
shader_parameter/is_active = false
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0, 0, 0)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k1k40"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k1k40"]
|
||||||
next_pass = SubResource("ShaderMaterial_tma46")
|
next_pass = SubResource("ShaderMaterial_tma46")
|
||||||
@@ -37,6 +40,7 @@ albedo_texture = ExtResource("5_sp2kd")
|
|||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("5_c1046")
|
shader = ExtResource("5_c1046")
|
||||||
shader_parameter/is_active = false
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0, 0, 0)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tma46"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tma46"]
|
||||||
next_pass = SubResource("ShaderMaterial_8tdb8")
|
next_pass = SubResource("ShaderMaterial_8tdb8")
|
||||||
@@ -48,10 +52,12 @@ size = Vector3(5.62061, 2.52063, 2.12427)
|
|||||||
[sub_resource type="SphereShape3D" id="SphereShape3D_c1046"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_c1046"]
|
||||||
radius = 0.870929
|
radius = 0.870929
|
||||||
|
|
||||||
[node name="DoubleBeds" type="Node3D" node_paths=PackedStringArray("meshInstance")]
|
[node name="DoubleBeds" type="Node3D" node_paths=PackedStringArray("meshInstance", "ActionNode", "static_body")]
|
||||||
script = ExtResource("1_nn5da")
|
script = ExtResource("1_nn5da")
|
||||||
meshInstance = NodePath("DoubleBeds")
|
meshInstance = NodePath("DoubleBeds")
|
||||||
preview_shader = SubResource("ShaderMaterial_dn7et")
|
preview_shader = SubResource("ShaderMaterial_dn7et")
|
||||||
|
ActionNode = NodePath("ActionNode")
|
||||||
|
static_body = NodePath("StaticBody3D")
|
||||||
|
|
||||||
[node name="DoubleBeds" type="MeshInstance3D" parent="."]
|
[node name="DoubleBeds" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.83435, -0.42751, 0)
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -1.83435, -0.42751, 0)
|
||||||
@@ -61,21 +67,34 @@ surface_material_override/1 = SubResource("StandardMaterial3D_k1k40")
|
|||||||
surface_material_override/2 = SubResource("StandardMaterial3D_tma46")
|
surface_material_override/2 = SubResource("StandardMaterial3D_tma46")
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||||
|
input_ray_pickable = false
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.218994, -0.287048, 0.10144)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.218994, -0.287048, 0.10144)
|
||||||
shape = SubResource("BoxShape3D_sp2kd")
|
shape = SubResource("BoxShape3D_sp2kd")
|
||||||
|
|
||||||
[node name="ActionNode" type="Node3D" parent="."]
|
[node name="ActionNode" type="Node3D" parent="." node_paths=PackedStringArray("area")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.3739)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.3739)
|
||||||
script = ExtResource("8_c1046")
|
script = ExtResource("8_c1046")
|
||||||
|
area = NodePath("Area3d")
|
||||||
|
|
||||||
[node name="Area3d" type="Area3D" parent="ActionNode"]
|
[node name="Area3d" type="Area3D" parent="ActionNode"]
|
||||||
|
input_ray_pickable = false
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="ActionNode/Area3d"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="ActionNode/Area3d"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829)
|
||||||
shape = SubResource("SphereShape3D_c1046")
|
shape = SubResource("SphereShape3D_c1046")
|
||||||
|
|
||||||
[node name="CSGSphere3D" type="CSGSphere3D" parent="ActionNode/Area3d"]
|
[node name="PersonPos1" parent="ActionNode" instance=ExtResource("9_k1k40")]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829)
|
transform = Transform3D(0.0323901, -0.298156, -0.00732965, 0.298245, 0.0323998, 0, 0.000791598, -0.00728678, 0.29991, -0.0940391, -1.07055, -1.60941)
|
||||||
radius = 0.886475
|
visible = false
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="ActionNode"]
|
||||||
|
wait_time = 4.0
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="PersonPos2" parent="ActionNode" instance=ExtResource("9_k1k40")]
|
||||||
|
transform = Transform3D(0.0323901, -0.298156, -0.00732965, 0.298245, 0.0323998, 0, 0.000791598, -0.00728678, 0.29991, -0.0940391, 0.820194, -1.60941)
|
||||||
|
visible = false
|
||||||
|
|
||||||
|
[connection signal="timeout" from="ActionNode/Timer" to="ActionNode" method="_on_timer_timeout"]
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
[gd_scene load_steps=6 format=3 uid="uid://dqrqq5vg8hek3"]
|
[gd_scene load_steps=11 format=3 uid="uid://dqrqq5vg8hek3"]
|
||||||
|
|
||||||
[ext_resource type="ArrayMesh" uid="uid://dwd6ylq5xn6kj" path="res://Blends/Person/Person.obj" id="1_11yxf"]
|
[ext_resource type="ArrayMesh" uid="uid://dwd6ylq5xn6kj" path="res://Blends/Person/Person.obj" id="1_11yxf"]
|
||||||
[ext_resource type="Script" uid="uid://d308e5vxshc06" path="res://Scripts/person.gd" id="1_dh77o"]
|
[ext_resource type="Script" uid="uid://d308e5vxshc06" path="res://Scripts/person.gd" id="1_dh77o"]
|
||||||
[ext_resource type="Shader" uid="uid://bm15rdsdxldwl" path="res://Shaders/shirt.gdshader" id="3_dbviw"]
|
[ext_resource type="Shader" uid="uid://bm15rdsdxldwl" path="res://Shaders/shirt.gdshader" id="3_dbviw"]
|
||||||
|
[ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="4_kmh38"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_kmh38"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_tupbo"]
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("3_dbviw")
|
shader = ExtResource("3_dbviw")
|
||||||
shader_parameter/shirt_color = Vector3(0, 0, 0)
|
shader_parameter/shirt_color = Vector3(0, 0, 0)
|
||||||
@@ -12,6 +13,30 @@ shader_parameter/shirt_color = Vector3(0, 0, 0)
|
|||||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_dbviw"]
|
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_dbviw"]
|
||||||
points = PackedVector3Array(0.465296, 4.41226, 2.90193, 0.333481, 5.90986, 1.44973, -0.46535, 4.41226, 2.90193, 0.465296, 2.1221, 2.90193, 0.88668, -1.00046, 1.81769, 0.465296, 4.41226, -1.76192, 0.333481, 5.90986, -0.25128, -0.333667, 5.90986, 1.44973, -0.46535, 4.41226, -1.76192, -0.46535, 2.1221, 2.90193, 0.88668, -1.35832, 1.81769, 0.88668, -1.00046, -0.616956, 0.465296, 2.1221, -1.76192, -0.333667, 5.90986, -0.25128, -0.46535, 2.1221, -1.76192, -0.46535, 1.86882, 1.75606, -0.424191, -1.35832, 1.81769, 0.88668, -1.35832, -0.616956, -0.424191, -1.35832, -0.616956, -0.46535, 1.86882, -0.6165)
|
points = PackedVector3Array(0.465296, 4.41226, 2.90193, 0.333481, 5.90986, 1.44973, -0.46535, 4.41226, 2.90193, 0.465296, 2.1221, 2.90193, 0.88668, -1.00046, 1.81769, 0.465296, 4.41226, -1.76192, 0.333481, 5.90986, -0.25128, -0.333667, 5.90986, 1.44973, -0.46535, 4.41226, -1.76192, -0.46535, 2.1221, 2.90193, 0.88668, -1.35832, 1.81769, 0.88668, -1.00046, -0.616956, 0.465296, 2.1221, -1.76192, -0.333667, 5.90986, -0.25128, -0.46535, 2.1221, -1.76192, -0.46535, 1.86882, 1.75606, -0.424191, -1.35832, 1.81769, 0.88668, -1.35832, -0.616956, -0.424191, -1.35832, -0.616956, -0.46535, 1.86882, -0.6165)
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8v2cd"]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("4_kmh38")
|
||||||
|
shader_parameter/is_active = true
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_kmh38"]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("4_kmh38")
|
||||||
|
shader_parameter/is_active = true
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b8w03"]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("4_kmh38")
|
||||||
|
shader_parameter/is_active = true
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_una45"]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("4_kmh38")
|
||||||
|
shader_parameter/is_active = true
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
[node name="Person" type="CharacterBody3D"]
|
[node name="Person" type="CharacterBody3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.150706, 0, -0.313651)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.150706, 0, -0.313651)
|
||||||
script = ExtResource("1_dh77o")
|
script = ExtResource("1_dh77o")
|
||||||
@@ -19,7 +44,7 @@ script = ExtResource("1_dh77o")
|
|||||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(-1.31134e-08, 0, 0.3, 0, 0.3, 0, -0.3, 0, -1.31134e-08, 0, 0, 0.368102)
|
transform = Transform3D(-1.31134e-08, 0, 0.3, 0, 0.3, 0, -0.3, 0, -1.31134e-08, 0, 0, 0.368102)
|
||||||
mesh = ExtResource("1_11yxf")
|
mesh = ExtResource("1_11yxf")
|
||||||
surface_material_override/1 = SubResource("ShaderMaterial_kmh38")
|
surface_material_override/1 = SubResource("ShaderMaterial_tupbo")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||||
transform = Transform3D(-1.31134e-08, 0, 0.3, 0, 0.3, 0, -0.3, 0, -1.31134e-08, 0, 0, 0.368102)
|
transform = Transform3D(-1.31134e-08, 0, 0.3, 0, 0.3, 0, -0.3, 0, -1.31134e-08, 0, 0, 0.368102)
|
||||||
@@ -29,5 +54,22 @@ shape = SubResource("ConvexPolygonShape3D_dbviw")
|
|||||||
avoidance_enabled = true
|
avoidance_enabled = true
|
||||||
debug_enabled = true
|
debug_enabled = true
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="."]
|
||||||
|
wait_time = 4.0
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="MeshOutline" type="MeshInstance3D" parent="."]
|
||||||
|
transform = Transform3D(-1.31134e-08, 0, 0.3, 0, 0.3, 0, -0.3, 0, -1.31134e-08, 0, 0, 0.368102)
|
||||||
|
visible = false
|
||||||
|
mesh = ExtResource("1_11yxf")
|
||||||
|
surface_material_override/0 = SubResource("ShaderMaterial_8v2cd")
|
||||||
|
surface_material_override/1 = SubResource("ShaderMaterial_kmh38")
|
||||||
|
surface_material_override/2 = SubResource("ShaderMaterial_b8w03")
|
||||||
|
surface_material_override/3 = SubResource("ShaderMaterial_una45")
|
||||||
|
|
||||||
|
[connection signal="input_event" from="." to="." method="_on_input_event"]
|
||||||
|
[connection signal="mouse_entered" from="." to="." method="_on_mouse_entered"]
|
||||||
|
[connection signal="mouse_exited" from="." to="." method="_on_mouse_exited"]
|
||||||
[connection signal="navigation_finished" from="NavigationAgent3D" to="." method="_on_navigation_agent_3d_navigation_finished"]
|
[connection signal="navigation_finished" from="NavigationAgent3D" to="." method="_on_navigation_agent_3d_navigation_finished"]
|
||||||
[connection signal="target_reached" from="NavigationAgent3D" to="." method="_on_navigation_agent_3d_target_reached"]
|
[connection signal="target_reached" from="NavigationAgent3D" to="." method="_on_navigation_agent_3d_target_reached"]
|
||||||
|
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]
|
||||||
|
|||||||
16
Scenes/Prefabs/PersonPos.tscn
Normal file
16
Scenes/Prefabs/PersonPos.tscn
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
[gd_scene load_steps=5 format=3 uid="uid://f7nkbsrxy4r6"]
|
||||||
|
|
||||||
|
[ext_resource type="ArrayMesh" uid="uid://dwd6ylq5xn6kj" path="res://Blends/Person/Person.obj" id="1_njeso"]
|
||||||
|
[ext_resource type="Shader" uid="uid://bm15rdsdxldwl" path="res://Shaders/shirt.gdshader" id="2_hdsev"]
|
||||||
|
[ext_resource type="Script" uid="uid://cstn6v7wfnwwb" path="res://Scripts/person_pos.gd" id="3_q4csl"]
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_q4csl"]
|
||||||
|
render_priority = 0
|
||||||
|
shader = ExtResource("2_hdsev")
|
||||||
|
shader_parameter/shirt_color = Vector3(0, 0, 0)
|
||||||
|
|
||||||
|
[node name="PersonPos" type="MeshInstance3D"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
mesh = ExtResource("1_njeso")
|
||||||
|
surface_material_override/1 = SubResource("ShaderMaterial_q4csl")
|
||||||
|
script = ExtResource("3_q4csl")
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=20 format=3 uid="uid://bcme5mx8nf5kf"]
|
[gd_scene load_steps=23 format=3 uid="uid://bcme5mx8nf5kf"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_c5d30"]
|
[ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_c5d30"]
|
||||||
[ext_resource type="ArrayMesh" uid="uid://dqs5joeucls8u" path="res://Blends/Pot/pot.obj" id="1_ps8qt"]
|
[ext_resource type="ArrayMesh" uid="uid://dqs5joeucls8u" path="res://Blends/Pot/pot.obj" id="1_ps8qt"]
|
||||||
@@ -11,6 +11,8 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://bxgm6oovlxdjq" path="res://Blends/Pot/wood_n.png" id="6_r71lq"]
|
[ext_resource type="Texture2D" uid="uid://bxgm6oovlxdjq" path="res://Blends/Pot/wood_n.png" id="6_r71lq"]
|
||||||
[ext_resource type="Texture2D" uid="uid://run700pxmcyc" path="res://Blends/Pot/brick_t.png" id="7_e7ek7"]
|
[ext_resource type="Texture2D" uid="uid://run700pxmcyc" path="res://Blends/Pot/brick_t.png" id="7_e7ek7"]
|
||||||
[ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="7_gtq0i"]
|
[ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="7_gtq0i"]
|
||||||
|
[ext_resource type="Script" uid="uid://cpg631v6q60xo" path="res://Scripts/objects/pot_object.gd" id="12_r71lq"]
|
||||||
|
[ext_resource type="PackedScene" uid="uid://f7nkbsrxy4r6" path="res://Scenes/Prefabs/PersonPos.tscn" id="13_e7ek7"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vv7mx"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_vv7mx"]
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
@@ -24,6 +26,7 @@ size = Vector3(3.78918, 4.23603, 2.59656)
|
|||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("7_gtq0i")
|
shader = ExtResource("7_gtq0i")
|
||||||
shader_parameter/is_active = false
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dn6sd"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dn6sd"]
|
||||||
next_pass = SubResource("ShaderMaterial_r71lq")
|
next_pass = SubResource("ShaderMaterial_r71lq")
|
||||||
@@ -41,6 +44,7 @@ uv1_scale = Vector3(0.5, 0.4, 1)
|
|||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("7_gtq0i")
|
shader = ExtResource("7_gtq0i")
|
||||||
shader_parameter/is_active = false
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uhv8u"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_uhv8u"]
|
||||||
next_pass = SubResource("ShaderMaterial_e7ek7")
|
next_pass = SubResource("ShaderMaterial_e7ek7")
|
||||||
@@ -52,18 +56,25 @@ normal_texture = ExtResource("6_r71lq")
|
|||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("7_gtq0i")
|
shader = ExtResource("7_gtq0i")
|
||||||
shader_parameter/is_active = false
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rbvpf"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_rbvpf"]
|
||||||
next_pass = SubResource("ShaderMaterial_dn6sd")
|
next_pass = SubResource("ShaderMaterial_dn6sd")
|
||||||
albedo_texture = ExtResource("7_e7ek7")
|
albedo_texture = ExtResource("7_e7ek7")
|
||||||
|
|
||||||
[node name="Pot" type="Node3D" node_paths=PackedStringArray("meshInstance")]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_dn6sd"]
|
||||||
|
radius = 0.870929
|
||||||
|
|
||||||
|
[node name="Pot" type="Node3D" node_paths=PackedStringArray("meshInstance", "ActionNode", "static_body")]
|
||||||
script = ExtResource("1_c5d30")
|
script = ExtResource("1_c5d30")
|
||||||
meshInstance = NodePath("Pot")
|
meshInstance = NodePath("Pot")
|
||||||
preview_shader = SubResource("ShaderMaterial_vv7mx")
|
preview_shader = SubResource("ShaderMaterial_vv7mx")
|
||||||
|
ActionNode = NodePath("ActionNode")
|
||||||
|
static_body = NodePath("StaticBody3D")
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.14194, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -2.14194, 0)
|
||||||
|
input_ray_pickable = false
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||||
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0.916585, 0.0207213)
|
transform = Transform3D(0.5, 0, 0, 0, 0.5, 0, 0, 0, 0.5, 0, 0.916585, 0.0207213)
|
||||||
@@ -76,3 +87,19 @@ surface_material_override/0 = SubResource("StandardMaterial3D_dn6sd")
|
|||||||
surface_material_override/1 = SubResource("StandardMaterial3D_uhv8u")
|
surface_material_override/1 = SubResource("StandardMaterial3D_uhv8u")
|
||||||
surface_material_override/2 = SubResource("StandardMaterial3D_dn6sd")
|
surface_material_override/2 = SubResource("StandardMaterial3D_dn6sd")
|
||||||
surface_material_override/3 = SubResource("StandardMaterial3D_rbvpf")
|
surface_material_override/3 = SubResource("StandardMaterial3D_rbvpf")
|
||||||
|
|
||||||
|
[node name="ActionNode" type="Node3D" parent="." node_paths=PackedStringArray("area")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -1.26206, 2.41965)
|
||||||
|
script = ExtResource("12_r71lq")
|
||||||
|
area = NodePath("Area3d")
|
||||||
|
|
||||||
|
[node name="Area3d" type="Area3D" parent="ActionNode"]
|
||||||
|
input_ray_pickable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="ActionNode/Area3d"]
|
||||||
|
shape = SubResource("SphereShape3D_dn6sd")
|
||||||
|
|
||||||
|
[node name="PersonPos1" parent="ActionNode" instance=ExtResource("13_e7ek7")]
|
||||||
|
transform = Transform3D(-1.31134e-08, 0, 0.3, 0, 0.3, 0, -0.3, 0, -1.31134e-08, 0, -0.452533, -0.708748)
|
||||||
|
visible = false
|
||||||
|
skeleton = NodePath("")
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
[gd_scene load_steps=11 format=3 uid="uid://c0gypplbklc3i"]
|
[gd_scene load_steps=17 format=4 uid="uid://c0gypplbklc3i"]
|
||||||
|
|
||||||
[ext_resource type="ArrayMesh" uid="uid://k2k1ppv3ycsv" path="res://Blends/Shelf/Shelf.obj" id="1_usf1u"]
|
[ext_resource type="ArrayMesh" uid="uid://k2k1ppv3ycsv" path="res://Blends/Shelf/Shelf.obj" id="1_usf1u"]
|
||||||
[ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_ya6sq"]
|
[ext_resource type="Script" uid="uid://c61rr6to3q566" path="res://Scripts/build_object.gd" id="1_ya6sq"]
|
||||||
@@ -6,6 +6,9 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://5gmmgg4cmefr" path="res://Blends/Shelf/color.png" id="2_x70sl"]
|
[ext_resource type="Texture2D" uid="uid://5gmmgg4cmefr" path="res://Blends/Shelf/color.png" id="2_x70sl"]
|
||||||
[ext_resource type="Texture2D" uid="uid://q0duenho1u2x" path="res://Blends/Shelf/normal.png" id="3_ya6sq"]
|
[ext_resource type="Texture2D" uid="uid://q0duenho1u2x" path="res://Blends/Shelf/normal.png" id="3_ya6sq"]
|
||||||
[ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="5_jbe2f"]
|
[ext_resource type="Shader" uid="uid://c08eg1piwoy3t" path="res://Shaders/outline.gdshader" id="5_jbe2f"]
|
||||||
|
[ext_resource type="Script" uid="uid://dw0nntbakhny6" path="res://Scripts/objects/shelf_object.gd" id="7_4318v"]
|
||||||
|
[ext_resource type="Material" uid="uid://detpb4ww2vvsf" path="res://Blends/Items/Food/Material.tres" id="8_0dtcx"]
|
||||||
|
[ext_resource type="Script" uid="uid://ckrqph0jwnjcp" path="res://Scripts/pose_item.gd" id="8_w5qf7"]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4318v"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_4318v"]
|
||||||
render_priority = 0
|
render_priority = 0
|
||||||
@@ -16,6 +19,7 @@ shader_parameter/color = Vector3(0, 0, 0)
|
|||||||
render_priority = 0
|
render_priority = 0
|
||||||
shader = ExtResource("5_jbe2f")
|
shader = ExtResource("5_jbe2f")
|
||||||
shader_parameter/is_active = false
|
shader_parameter/is_active = false
|
||||||
|
shader_parameter/color = Vector3(0.95, 0.71, 0.01)
|
||||||
|
|
||||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jbe2f"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_jbe2f"]
|
||||||
next_pass = SubResource("ShaderMaterial_0dtcx")
|
next_pass = SubResource("ShaderMaterial_0dtcx")
|
||||||
@@ -27,10 +31,49 @@ normal_texture = ExtResource("3_ya6sq")
|
|||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_jbe2f"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_jbe2f"]
|
||||||
size = Vector3(4.40356, 3.34375, 1.28992)
|
size = Vector3(4.40356, 3.34375, 1.28992)
|
||||||
|
|
||||||
[node name="Shelf" type="Node3D" node_paths=PackedStringArray("meshInstance")]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_jbe2f"]
|
||||||
|
radius = 0.870929
|
||||||
|
|
||||||
|
[sub_resource type="ArrayMesh" id="ArrayMesh_gn022"]
|
||||||
|
_surfaces = [{
|
||||||
|
"aabb": AABB(-1.07156, -0.75193, -1.07156, 2.14313, 0.824174, 2.14313),
|
||||||
|
"format": 34359742465,
|
||||||
|
"index_count": 852,
|
||||||
|
"index_data": PackedByteArray("IwBCACcAJwBCAEMAIwBEAEIADwAjACcARAAOAEIAIgBEACMAQgAOABAAQgAQAEMARAALAA4ADwAMACMADAAiACMAIgBFAEQARQALAEQADAAKACIAJQBFACIACgAlACIAJQBDAEUAJwBDACUAQwANAEUARQANAAsAQwAQAA0AJgAnACUACgAmACUAJgAPACcARgAmAAoARwAPACYARwAmAEYASAAPAEcASAAMAA8ASQAKAAwASQAMAEgARgAKAEkAAgBIAEcAEQBHAEYAAgBHABEABABGAEkAEQBGAAQAAABJAEgAAABIAAIABABJAAAASgACABEASwARAAQASgARAEsATAAEAAAASwAEAEwATQAAAAIATQACAEoATAAAAE0AEgBKAEsAEwBMAE0AFABNAEoAEwBNABQAFABKABIAFQBMABMAFQATABQAFQBLAEwAFQAUABIAEgBLABUAQQBOACEAIABBACEAIAAhAB8AIABPAEEAQQBPAE4AHwBQACAAIABQAE8AIQBRAB8AIQBOAFEAHwBRAFAATwAFAE4ATgAIAFEATgAFAAgAUQABAFAAUQAIAAEAUAADAE8ATwADAAUAUAABAAMABQBSAAgACABTAAEACABSAFMAAQBUAAMAAQBTAFQAAwBVAAUABQBVAFIAAwBUAFUAUgAdAFMAUwAeAFQAUwAdAB4AVABWAFUAVAAeAFYAVQAcAFIAUgAcAB0AVQBWABwAVwAeAB0AWABWAB4AWAAeAFcAWQAcAFYAWQBWAFgAWgAdABwAWgAcAFkAVwAdAFoAWABbAFkAWABcAFsAWQBbAF0AXAA6AFsAOgBdAFsAXAAbADoAWAA+AFwAGwBcAD4AWABeAD4AVwBeAFgAPwA+AF4AVwBfAF4AXwA/AF4APwBgAD4AGwA+AGAAXwBAAD8AMgBgAD8AMgA/AEAAFwAbAGAAMgAXAGAAVwBhAF8AQABfAGEAVwBiAGEAWgBiAFcAQABhAGMANwBhAGIANwBjAGEAZAA3AGIAWgBkAGIAYwA3AAkAZAA1ADcACQA3ADUAQABjAGUAYwAJAGUAQABlADMAMgBAADMACQBmAGUAMwBlAGYAMwBnADIAMwBoAGcAMwBmAGgAMgBnAGkAMgBpABcAaABqAGcAagBpAGcAaAAYAGoAGABoAGYAagBrAGkAFgBrAGoAFgBqABgAPABpAGsAPQAXAGkAFwA9ABsAPQBpAGwAPABsAGkAGgAbAD0AGgA6ABsAPQBsAG0APQBtABoAbAA7AG0AbAA8ADsAGgBtAG4AOwBuAG0AGgBvADoAOgBvAF0AGgBwAG8AGgBuAHAAOABdAG8AcAA4AG8AOABxAF0AWQBdAHEAcAA5ADgAOQBwAG4AWQBxAHIAWQByAFoAcQA4ADYAcQA2AHIABgA4ADkABgA2ADgAWgByAHMANgBzAHIAWgBzAGQANQBkAHMANgB0AHMANQBzAHQAdAA2AAYANQB0AHUAdAAGAHUANQB1ADQACQA1ADQABgB2AHUANAB1AHYANAB3AAkACQB3AGYANAB4AHcANAB2AHgAMQBmAHcAeAAxAHcAMQB5AGYAGABmAHkAeAAvADEALwB4AHYAMAB5ADEAMAAxAC8AegAYAHkAMAB6AHkAegB7ABgAMAB8AHoAewB6AHwAFgAYAHsAMAB9AHwAMAAvABkAGQB9ADAAewB8AH4ALwB/ABkAewCAABYAewB+AIAAKQB8AH0AKQB+AHwAGQCBAH0AgQApAH0AGQCCAIEAGQB/AIIAJACBAIIAgQAkACkALACCAH8ALwCDAH8AgwAsAH8ALwB2AIMALgCDAHYAgwAuACwALgB2AIQABgCEAHYAOQCEAAYAOQCFAIQAhQAuAIQAOQBuAIUAhQAtAC4ALQCFAG4ALAAuAC0ALQBuAIYAOwCGAG4AhgA7ACsAKwA7ADwALQCGAIcAhgArAIcALAAtAAcALQCHAAcABwCIACwALACIAIIAJACCAIgABwCJAIgAiQAkAIgABwCHAIoABwCKAIkAKwCKAIcAiQAqACQAKgCJAIoAKwCLAIoAKgCKAIsAjACLACsAKwA8AIwAjACNAIsAjQAqAIsAjgCMADwAjgA8AGsAFgCOAGsAjACOAI8AFgCPAI4AjACPAI0AFgCAAI8AKACNAI8AKACPAIAAjQAoACoAfgAoAIAAfgApACgADgAqACgACwAqAA4ADgAoABAAEAAoACkACwAkACoAEAApAA0ADQAkAAsADQApACQA"),
|
||||||
|
"lods": [0.12988, PackedByteArray("IgALACMAIwALAA4AIgANAAsADAAiACMADQAkAAsAJQANACIADAAKACIACgAlACIADwAMACMACgAmACUAJQAQAA0AAAAKAAwAJgAnACUAJwAQACUADwAjACcAJgAPACcAIwAOACcAJwAOABAABAAmAAoABAAKAAAAEQAPACYAEQAmAAQAAgAMAA8AAgAPABEAAAAMAAIAEgACABEAEwAEAAAAFAAAAAIAEwAAABQAFAACABIAFQAEABMAFQATABQAFQARAAQAFQAUABIAEgARABUADgAoABAAEAAoACkAEAApAA0ADgAqACgACwAqAA4ACwAkACoADQApACQABwAqACQAKgAHACsAKAAqACsABwAkACwALQArAAcALAAtAAcAJAAZACwAGQAkACkALAAuAC0ALwAsABkALwAuACwAGQApADAAMAAvABkAMAApABgAMAAxAC8AMAAYADEALgAvAAYALQAuAAYALwAxAAkAMQAYAAkAGAApABYAKQAoABYAGAAWADIAFgAoABcAFgAXADIAMwAYADIACQAYADMANAAvAAkABgAvADQACQA1ADQANgAGADQANQA2ADQACQA3ADUANwAJADMAHQA2ADUAHQA1ADcABgA2ADgAHAA4ADYAHAA2AB0ABgA4ADkAOQAtAAYAOQA4ADoAHAA6ADgAOQAaAC0AGgA5ADoAOwAtABoALQA7ACsAKwA7ADwAPAA7ABoAPAAoACsAKAA8ABcAPQA8ABoAPQAXADwAGgAbAD0AFwA9ABsAGgA6ABsAFwAbAD4APgAbADoAPgA6ABwAMgAXAD4AMgA+AD8AMgA/AEAAQAA/AD4AMgBAADMAQAA3ADMAHgA3AEAAHgBAAD4AHQA3AB4AHAAFAD4APgAFAB4ACAAcAB0ABQAcAAgACAAdAAEAAQAdAB4AHwAIAAEAAwAeAAUAAQAeAAMAQQADAAUAIAABAAMAIAADAEEAHwABACAAQQAFACEAIQAFAAgAIABBACEAIQAIAB8AIAAhAB8A"), 0.144588, PackedByteArray("CgALAAwACgANAAsADAALAA4AAAAKAAwABwAOAAsABAAKAAAABAANAAoAAAAMAAIADAAOAA8AAgAMAA8ADwAOABAAEAAOAAcADwAQAAQABAAQAA0AAgAPABEAEQAPAAQAEgACABEAEwAEAAAAFAAAAAIAEwAAABQAFAACABIAFQAEABMAFQATABQAFQARAAQAFQAUABIAEgARABUADQAQABYAFgAQABcABwAXABAAGAANABYAGAAWABcAGQANABgAGQALAA0ABwALABkAGQAYAAkACQAYABcABwAZAAYABgAZAAkAGgAHAAYAFwAHABoAGgAbABcABgAcABoAGgAcABsACQAdAAYABgAdABwAFwAeAAkACQAeAB0AGwAFABcABQAbABwAFwAFAB4ACAAcAB0ABQAcAAgACAAdAAEAAQAdAB4AHwAIAAEAAwAeAAUAAQAeAAMAHwABACAAIAABAAMAIQAIAB8AIAAhAB8AIQAFAAgAIAADACEAAwAFACEA"), 0.98651, PackedByteArray("AAAGAAIABAAAAAIAAgAHAAQAAgAGAAcAAAAEAAUABAAHAAUABgAIAAcABwAIAAUABgABAAgAAQAFAAgAAAAJAAYACQABAAYABQAJAAAAAQAJAAMAAwAJAAUAAQADAAUA"), 1.166, PackedByteArray("AAABAAIAAAADAAEABAAAAAIAAQADAAUABQADAAAAAAAEAAUAAgABAAUAAgAFAAQA")],
|
||||||
|
"name": "Material",
|
||||||
|
"primitive": 3,
|
||||||
|
"uv_scale": Vector4(0, 0, 0, 0),
|
||||||
|
"vertex_count": 144,
|
||||||
|
"vertex_data": PackedByteArray("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")
|
||||||
|
}]
|
||||||
|
blend_shape_mode = 0
|
||||||
|
|
||||||
|
[sub_resource type="ArrayMesh" id="ArrayMesh_w5qf7"]
|
||||||
|
resource_name = "food_Cube"
|
||||||
|
_surfaces = [{
|
||||||
|
"aabb": AABB(-1.07156, -0.75193, -1.07156, 2.14313, 0.824174, 2.14313),
|
||||||
|
"attribute_data": PackedByteArray("cbG/PpBOgD4lKSA/tq3/PnGxvz5ysf8+IT0BPpKegD4AACA/0ll/PwAAwD5wYX8/JikgP0xSgD7orF8/MKaAPgAAID8ALiY7//+/PgCRHjsBACA/HOEAPwAAID8+woE+6KxfP9JZ/z4AACA/AABAP///Hz+P/z4/DPTzPgAAgD4AACA/AAAAPwv08z4AAAA/AAAgPwAAgD4AACA/AAAAAAEAID8AOYA7//8fPwAAAAD+/x8/6Ax8PgAAID8c//0+AQAgP/j/fz4AACA/AAAAP2E3Ij8+kfs+oMhdPzyR+z6gyF0/wG6EPgAAID8AAEA/AAAgP5oVfz///x8/AACAPwAAID8e4UA/AAAgPwAAgD8AACA/AABAPwv08z4AAEA/AADAPgAAQD9Axbs+xDqEPn51CD7COoQ+PsW7PkTF+z4hPQE+cGH/Pn51CD5Exfs+AAAgPwAAgD4AACA/AAAAPwAAID8AAAAACfTzPgAAAAAAACA/AACAPgAAID8AAAAAAAAgPwAAAD8BACA/ABxhOwAAID8AAP03AQAgPwBkajsAACA/aFZ8Pv//Hz+Me3w+AQAgP8zUgT5hNyI/wG6EPgAAID8T/38/AAAgPzQr/j4AACA/ZuoAP///Hz/GPf4+AAAgP3QG/j4BACA/mhU/PwEAID9m6kA///8fP+IePz/+/x8/4h5/PwAAID86A38///8fPwAAgD8CACA/xfxAP///Hz86Az8/AQAgP3EAQT8AACA/xvwAP///Hz9xAAE/AAAgPwAAQD8BACA/4ACCPgEAID+K+YE+AAAgPwAAQD8AACA/AACAPwz08z4AAIA/AAAgPwAAQD8AACA/AACAPwAAID8AAAA/AQAgP43Ofz8AACA/AACAPgAAID8AAAAAVxLgPgDgJDpXEuA+AACAPlgS4D4AAAA/VxLgPgAAQD9XEuA+ytZ/P5pjvT5onII+yzgFPmicgj6aY70+nmP9Pss4BT6cY/0+v6FeP368gj5AXiE/fryCPkFeIT9+Q/0+waFeP35D/T4BACA/AMQsOgAAID8AAIA+AAAgPwAAAAAAACA/AAAAP///Hz8AAIAzAAAgP/j/fz4BACA/AFKBOgAAID8AAEA/AAAgP9DUfz8AACA/AACAPwEAID8AAAA/AAAgPwAAQD8AACA/AACAPwAAID8AAIA/AAAgP1W/fz///x8/AACAPwAAID+AQEA/AQAgPxQAQD8AACA/37Z/PwAAID8AAEA///8fP5ZvQT///x8/apB+PwAAID8AAIA///8fPwAAgD8AACA/j/9+PwAAID8AAIA/AAAgP3QxQD8BACA/AABAPwAAID8AAEA/AAAgP6zOPz8AACA/AABAP///Hz/eBkA///8fP3QxAD8AACA/AABAPwAAID9qkD4/AAAgP5ZvAT8BACA/3AYAPwEAID8AAAA///8fPwAAAD8AACA/AAAAPwAAID9Wnf8+AAAgP+ZigD4BACA/AACAPv//Hz+0On8+AQAgPzz+ez4BACA/ANBFOgAAID8AAIAzAAAgPwAAAAAAACA/AAAAAAEAID8AAAAAAAAgP/z/fz7//x8/AMd8OwAAID8AtK06//8fPwQAgD4AACA/rEF6PgAAID+8DYA+//8fP9Yg/T7//x8/Lt+CPgAAID8AAAA/AAAgPwAAAD8AACA/FAAAPwAAID9Wvz8/AAAgP4BAAD8AACA/qn7/PgAAID8AgYA+AQAgPyYAgD4AACA/AACAPgEAID8AAIA+AAAgP1z9fj4AACA/AAAAAP//Hz8Ay7c7"),
|
||||||
|
"format": 34359742487,
|
||||||
|
"index_count": 852,
|
||||||
|
"index_data": PackedByteArray("KwBOAEsASwBOAE8ASwBPAEwATgAhAE8ATQBLAEwATgAiACEAIgBCACEAUAAiAE4AKwBQAE4AIgBIAEIAUQBCAEgAUAAQACIAEABIACIAKgBQACsAUgAQAFAAKgBSAFAALABSACoALABTAFIAUwASAFIAUgASABAAUwATABIAEgAwABAAEAAwAEgAEwAuABIAEgAuADAADwAsACoADwAtACwAVAAtAA8AEQAPACoAEQAqACsAVAAPAFUAVQAPABEACQBUAFUACQBVAAAAVQARAFYAAABVAFYAIwARACsAVgARACMAIwArAEsATQAjAEsAVwAjAE0AVgAjAFcAVwBNAFgAJABXAFgAJABYAAUAAgBXACQAAgBWAFcAAABWAAIAWQAAAAIAWgAAAFkAWgADAAAAWQACAFsAWwACACgAJgBaAFkAXAAoAAMAWwAoAFwAXAADAFoAJwBbAFwAJQBZAFsAJQBbACcAJgBZACUAJwBcACkAKQBcAFoAKQAlACcAKQBaACYAKQAmACUANwBdABwAGgA3ABwAGgAcABsAGgBeADcANwBeAF0AGwBfABoAGgBfAF4AHABgABsAHABdAGAAGwBgAF8AXgAHAF0AXQAHAAwAXQAMAGAAXgAGAAcAXwAGAF4AYAAMAAEAYAABAF8AXwABAAYABgBhAAgABgBiAGEAAQBiAAYAYgBjAGEAAQBkAGIAYgAYAGMAZAAYAGIAZQBjABgADQBkAAEAZQAYAGYAZgBnAGUAZAAZABgAZgAYABkADQBoAGQAaAAZAGQABABoAA0ABABpAGgAaQAdAGgAaAAdABkAaQBqAB0AawAZAB0AZgAZAGsAbAAdAGoAawAdAGwAbABqAG0AbQBuADgAbQA4AG8AHgBvADgAHgA4AHAAbQBvAHEAbQBxAGwAHwAeAHAAbwA+AHEAbwAeAD4AbABxAHIAPgByAHEAHwBAAB4AIAA+AB4AIAAeAEAAQAAfAHMAIAB0AD4APgB0AHIAQAB1ACAAQABzAHYAQAB2AHUAQQB2AHMAQQBzAHcAeABBAHcAdgBBAEMAdgBDAHUAeAB5AEEAeQB4AHoAeQB6AFEARQBBAHkARQBDAEEAeQBRAHsAeQB7AEUAUQBIAHsARQB7AHwASAB8AHsAfQBDAEUASAB+AHwAfgBIADAARQB8AH8AfQBFAH8ADgB8AH4ADgB/AHwARAB9AH8ARAB/AA4AQwB9AIAARACAAH0AQwCAAHUAIAB1AIAADgB+AIEAfgAwAIEARwBEAA4ADgCBAEcAIACAAIIAIACCAHQAggA9AHQAPQByAHQAPwCCAIAAggA/AD0APwCAAIMARACDAIAACgA9AD8AgwBEAEYARwBGAEQAPwCDAIQAgwBGAIQAPwCEAAoARgCFAIQACgCEAIUAhgBGAEcARgCGAIUAhgBHAIcAPACGAIcAPACFAIYARwCIAIcARwCBAIgAMACIAIEAFwCHAIgAPACHABcAMACJAIgAFwCIAIkAiQAwAC4AFwCJAIoAiQAuAIoASQA8ABcAFwCKAEkALgCLAIoASQCKAIsALgCMAIsAjAAuAC8AEwAvAC4AjQCLAIwAjAAvAI4AjQCMAI4ALwCPAI4ALwCQAI8AFACOAI8AjQCOABQAFACPAJEAFACRAJIAjQCTAIsASQCLAJMAFAAWAI0AkwCNABYAFACSAJQAFACUABYAlACSAJUAkwAWAJYASQCTAJYAlwAWAJQASQCWAEoASQBKADwAFgCYAJYASgCWAJgAFgCXAJgAmQA8AEoAPACZAIUAmQBKAJoASgCYAJoAOwCFAJkAOwCZAJoAOwCbAIUACgCFAJsAOwCaAAsACwCaAJgAOQCbADsACwA5ADsAnAAKAJsAOQCcAJsAnAA6AAoACgA6AD0AOQCdAJwAOgCcAJ0AngA9ADoAPQCeAHIAbAByAJ4AngA6AJ8AbACeAJ8AOgCdAJ8AbACfAGsAawCfAJ0AOQCgAJ0AawCdAKAAoAA5ADYACwA2ADkAawCgAKEAoAA2AKEAawChAGYANgCiAKEAZgChAKIAowA2AAsANgCjAKIAowALAKQACwCYAKQANACiAKMANACjAKQAZgCiAKUANAClAKIAZgClAGcANQCkAJgANACkADUANQCYAJcApQAzAGcApQA0ADMAMwAyAGcAMwCmADIAMQAzADQAMQCmADMAMQA0ADUAMQAVAKYAMQCVABUANQCnADEAMQCnAJUANQCXAKcAlACVAKcAlwCUAKcA"),
|
||||||
|
"lods": [0.12988, PackedByteArray("KgAQACsAKwAQACIAKgASABAAEQAqACsALAASACoALAATABIADwAsACoAEQAPACoADwAtACwACQAtAA8ACQAPAAAAAAAPABEAEwAuABIAEwAvAC4AEgAwABAAEgAuADAAAAARAAIALgAvABQAFAAvABUAFAAVADEAFgAuABQAFgAUADEAMQAVADIAMQAyADMANAAzADIAMQAzADQAGAA0ADIAMgAIABgAMQA0ADUANQAWADEANAA2ADUAGAA2ADQACwAWADUANgALADUABgAYAAgAGQA2ABgAAQAYAAYAAQAZABgAGgABAAYAGgAGADcANwAGAAcAGwABABoANwAHABwAGgA3ABwAGgAcABsAHAAHAAwAHAAMABsAGwAMAAEADQAZAAEADQAdABkABAAdAA0AHQAEADgAGQA5ADYACwA2ADkAHQA6ABkAGQA6ADkACwA5ADsAOQA6ADsAOwA8AAsAOgAKADsACgA8ADsAHQA9ADoACgA6AD0AHQA+AD0AOAA+AB0ACgA9AD8APwA9AD4AOAAeAD4AHwAeADgAIAA/AD4AIAA+AB4AHwBAAB4AIAAeAEAAQAAfAEEAQABBACAAQgBBAB8AQQBDACAAPwAgAEQAQwBEACAAPwBEAAoARQBDAEEAQQBCAEUARABDAEUARABGAAoARgA8AAoARwBGAEQAPABGAEcARABFAA4ARwBEAA4AQgBIAEUASAAOAEUADgAwAEcADgBIADAAEAAwAEgAEABIACIAIgBIAEIAIgBCACEAMAAXAEcAPABHABcAFwAwAC4AFwAuAEkASQA8ABcASQAuABYASQBKADwASQAWAEoAPABKAAsASgAWAAsASwAiACEASwAhAEwAKwAiAEsATQBLAEwAIwArAEsATQAjAEsAIwARACsAJAAjAE0AJABNAAUAAgARACMAAgAjACQAJwACACgAJQACACcAJQAAAAIAJwAoACkAKQAlACcAKQAoAAMAJgAAACUAKQAmACUAJgADAAAAKQADACYA"), 0.144588, PackedByteArray("DwAQABEADwASABAACQASAA8ACQAPAAAAAAAPABEACQATABIAEgATABQAFAATABUAFgASABQAFgAUABUAFwASABYAFwAQABIACwAWABUAFwAWAAsAFQAYAAsAFQAIABgABgAYAAgACwAYABkAAQAYAAYAAQAZABgAGgABAAYADQAZAAEAGwABABoAGwAMAAEAGgAGABwAGgAcABsAHAAMABsABgAHABwAHAAHAAwADQAdABkABAAdAA0ABAAeAB0AHgAEAB8ACgAZAB0ACwAZAAoAIAAdAB4AIAAeAB8ACgAdACAACgAXAAsAHwAOACAAIAAOAAoADgAXAAoADgAfACEADgAQABcADgAiABAAIQAiAA4AEQAQACIAIwAiACEAEQAiACMAIwAhAAUAJAAjAAUAAgAjACQAAgARACMAAAARAAIAJQAAAAIAJgAAACUAJgADAAAAJQACACcAJwACACgAKQAmACUAKQAlACcAKQADACYAJwAoACkAKQAoAAMA"), 0.98651, PackedByteArray("AAAKAAIAAwAAAAIAAAAJAAgACAALAAAAAAALAAoABgALAAgAAQALAAYACwABAAoAAQAGAAcAAQAHAAwACgABAA0ACgANAA4AAgAKAA4ADgANAAQAAgAOAAUABQAOAAQA"), 1.166, PackedByteArray("AAABAAIAAwAAAAIAAgABAAQAAgAEAAUAAAAGAAEAAQAGAAcACAAGAAAAAAAJAAgA")],
|
||||||
|
"material": ExtResource("8_0dtcx"),
|
||||||
|
"name": "Material",
|
||||||
|
"primitive": 3,
|
||||||
|
"uv_scale": Vector4(0, 0, 0, 0),
|
||||||
|
"vertex_count": 168,
|
||||||
|
"vertex_data": PackedByteArray("fQt7P/KJO799C3s/p09vP/ygWD2nT2+/fQt7P/KJO799C3u/fQt7v/KJO799C3s/p09vv/ygWD2nT28/fQt7v/KJO799C3s/p09vP/ygWD2nT28/p09vv/ygWD2nT28/p09vv/ygWD2nT28/fQt7v/KJO799C3s/Rq+DP+2NW770Yoe/9GKHP+2NW75Gr4M/p09vv/ygWD2nT2+/p09vv/ygWD2nT2+/I9t8v4lbi74GnoK/AACAP3qTL78AAIA/MfJ/P4Gaqr4x8n+/AACAP3qTL78AAIC/MfJ/P4Gaqr4x8n8/MfJ/v4Gaqr4x8n8/JNt8v4lbi74GnoI/RfOFv2A7V75F84U/o1OCP304gL4XhIY/Bp6CP4lbi74j23y/KkR0P7DLyTsqRHQ/KkR0P7DLyTsqRHS/LVljP6D0kz0tWWO/LVljv6D0kz0tWWO/LVljv6D0kz0tWWM/KkR0v7DLyTsqRHS/S9B3v7Itnb3uaHA/RfOFv2A7V75F84U/9GKHv+2NW75Gr4O/MfJ/v4Gaqr4x8n8/MfJ/v4Gaqr4x8n+/AACAv3qTL78AAIC/fQt7v/KJO799C3u/AxVvP3d+QL8DFW8/AxVvv3d+QL8DFW8/AxVvP3d+QL8DFW+/fQt7v/KJO799C3u/AxVvv3d+QL8DFW+/AACAP/zPFr8AAIA/AACAP/zPFr8AAIC/AACAv/zPFr8AAIA/AACAv3qTL78AAIA/MfJ/P4Lon74x8n8/MfJ/v4Lon74x8n8/MfJ/P4Pon74x8n+/Rq+Dv+2NW770Yoc/EjV0v273cr0UNXQ/7mhwv7Itnb1L0Hc/7mhwP7Itnb1L0Hc/Rq+DP/CNW770Yoc/S9B3P7Itnb3uaHA/LVljP6D0kz0tWWM/EjV0v273cr0UNXQ/S9B3P7Itnb3uaHC/7mhwP7Itnb1L0He/9GKHP/CNW75Gr4O/F4SGP304gL6jU4K/7mhwv7Itnb1L0He/S9B3v7Itnb3uaHC/Rq+Dv/CNW770Yoe/9GKHv/CNW75Gr4M/F4SGv304gL6jU4I/MfJ/v4Lon74x8n8/F4SGv304gL6jU4K/o1OCv304gL4XhIa/Bp6Cv4pbi74k23y/o1OCP304gL4XhIa/JNt8P4pbi74GnoK/MfJ/v4Pon74x8n+/Bp6CP4lbi74k23w/F4SGP304gL6jU4I/AACAv/zPFr8AAIC/AACAv/zPFr8AAIA/AACAv3qTL78AAIA/BCmJv+7YxL4EKYm/BCmJv+7YxL4EKYk/BCmJP+7YxL4EKYm/Xb+Av2aBlL6rZn4/BCmJP+7YxL4EKYk/BCmJv+7YxL4EKYk/VLZ+v98MNr9Utn4/VLZ+P98MNr9Utn4/VLZ+P98MNr9Utn6/VLZ+v98MNr9Utn6/VLZ+v98MNr9Utn4/ao51P8k0P79qjnU/ao51v8k0P79qjnU/ao51P8k0P79qjnW/ao51v8k0P79qjnW/lNJpvzaniT2U0mk/lNJpPzaniT2U0mk/lNJpPzaniT2U0mm/lNJpvzaniT2U0mm/fvpyv9DPAD1++nI/fvpyP9DPAD1++nI/KkR0v7DLyTsqRHQ/fvpyP9DPAD1++nK/KkR0v9OE9rwqRHQ/KkR0P9OE9rwqRHQ/jFZyv7FMXr0lTnU/fvpyv9DPAD1++nK/fvpyv9DPAD1++nI/KkR0v7DLyTsqRHQ/KkR0P9OE9rwqRHS/KkR0v9OE9rwqRHS/KkR0v9OE9rwqRHQ/jFZyv7FMXr0lTnU/JU51v7BMXr2MVnI/7PB0v5aIlL3s8HQ/JU51v7FMXr2MVnK/FDV0v273cr0SNXS/THuGv41Yb75Me4Y/7PB0v5aIlL3s8HS/w92Hv0Jhb750AYO/w92Hv0Fhb751AYM//piEvwwygr7+mIQ/7bKAvxdVjb7tsoA/Bp6Cv4hbi74k23w/7CyAv/hQkr7sLIA/Xb+Av2aBlL6rZn6/7CyAv/lQkr7sLIC//piEvwwygr7+mIS/qmZ+v2eBlL5dv4C/7rKAvxtVjb7tsoC/THuGv41Yb75Me4a/q2Z+P2aBlL5dv4C/RfOFv2A7V75F84W/dQGDv0Fhb77D3Ye/dAGDP0Jhb77D3Ye/S3uGP41Yb75Me4a//piEPwwygr7+mIS/7bKAPxtVjb7usoC/7CyAP/lQkr7sLIC/Xb+AP2eBlL6qZn6/Xb+AP2eBlL6rZn4/7CyAP/hQkr7sLIA/q2Z+P2aBlL5dv4A/JNt8P4hbi74GnoI/q2Z+v2eBlL5dv4A/7CyAv/hQkr7sLIA/Xb+Av2aBlL6rZn4/7bKAvxdVjb7tsoA//piEvwwygr7+mIQ/7bKAPxdVjb7tsoA/o1OCv304gL4XhIY/THuGv41Yb75Me4Y//piEPwwygr7+mIQ/dQGDP0Fhb77D3Yc/THuGP45Yb75Me4Y/w92HP0Fhb751AYO/w92HP0Jhb750AYM/RfOFP2A7V75F84W/7PB0P5eIlL3s8HS/FDV0P273cr0SNXS/jFZyv7BMXr0lTnW/jFZyP7FMXr0lTnW/JU51P7BMXr2MVnK/JU51P7FMXr2MVnI/EjV0P273cr0UNXQ/7PB0P5eIlL3s8HQ/RfOFP2A7V75F84U/jFZyP7BMXr0lTnU/7PB0v5aIlL3s8HQ/dAGDv0Jhb77D3Yc/laIsRT68sdcsxWjdx0Ox1yzFliKa0PvhaV0sRVDL169pXdK6////P2ldLEVTP7HXlaLSumQv6uFpXdK6QiCmpWld0rr3b7JXaV0sRY1wsdfw3yTs9bSOcRXMDqCySAn10jpo3aw01q/SOmjdel5IyxZA1QmCrcRUm7o3demJDfYzzuTY////vzb1mzrjk/76GafKsf///z/lWMqx////Pyl26T/+1odo51DOoXy1n/KpjJVERC2baei/EzZn1nnrm7rHihtsBvs29WPF45MGe4WQvPfUCGnEeW+899UIlLu8d3nv1AiUu8gKY8UbbAZ7QzeGqnnAU/DnUM6hfLV88g4g6LPqlVjk5VjKsSZcJlzLMeTY////v8gKmzobbA370jqWImQvz+tCiIUQKvdqxLx3hRAp95S7hZBCCCn3acTSOpYiv9+lpXlvQggq95S79rXua1iRpu7t6/c1saJS9whK7mumbqbuY0U3dfV6DfaOuR1zs4tK9HBGHXP///8/HfOOOf///78kbA6gyrry619GvoxZdWh0QnOGqrPBP+68jIaquz6r7tqTDqAeSqzwu8iGqhw/hPBCiHnv1QhpxF9Gvowtl/r5eNVDt2NhXd941UHzyMEsbvDf6LPxauDjlcTrN05c9FWGKkHzZT9Ob4YqQ7f0no3fDiAk7KWeDuXpMw6gO7h49RNIlUQMWqHWcEYdc8NkjPNpO+s3LS0Y7Wk7qgx7KuXlFkATNrgoM+yVxKoMrtKr6ei/1QmC1ivp4QyOOZdo//kStuk/iSmFa+u3lUTuKvduERT3NU1dUvcISu5rpm6m7mNFN3UZcQ32txPbyf///7/bSbeT////P0fs28n///+/Uzo8Yj5c8OsjtreT////P9tJt5P///8/3FBGXs1zTuUir0ZeNp1O5UbeIy9gtVrxuCEjL55KtPLcUEZe0VZO5S+WYCye7JXSz2lgLHndWbVfrDAWZtqIyZ9TMBaH6tuuz2me03kV3a4vlp7TmCWIyV+szuljE5LSn1PO6YUiWbXcULihYLUt9yKvuKGwmk5lY0XHiuOTBvtG3tvQSl5O5ctDlodUjmn8M7yWh6pxafwAYsiQTF47bLgh29D///+/3FC4of///z9jRceK////P2f4ysNUjmp8lwfKw8Z92/bLQ5aH////PwBiyJD///8/xy7IkOOnPf0VUSui8bVV8sgQxq7FXah6vgxexqCLZ/QFSvNrqaLLcSwiFdERmwbl0xSJWFiEEmJ1JyxrIp+4ddpeSUJcVlzWBFr1S7ta/9rsSek/9FbL1JhMzmYYqs59wx2rRf6jBmwwGWcz5lV19bU9JCG5LP7qwx2QHGVKge0KNPol5qQAWwsU+TVVXY/vO+KQHAx8BmzOIebQnplA5dMUohKlRKLkK+uiEnVgV/zz6/k1626qbknCJCFF0wrr9Mv6Jf7Jbu3O5mcz82rzajviq0X///+/q8U8YgCPoORms85mEZXy6pCcPGLnV9d91YnpP/cp0GluYzxiDHwF7JhMzmYYqk1tUzo8Yv///z8EWvVLAFv/2tpeSUJcVlzW+qX1SwA2h21Vc5VEz9MqaAVK82vgpCRrJKFJQrksLmuhkixruLZR4vm182t5l6nuK+uJWKx0QGiJ2CxrJETTfTDe5tB8tdlx0t0V0fG1pHJA817GYXRn9MgQAOK+XTN0Nu8A4i98CfQ278au5G/a8TfRyJCuiuJun7m+jIWLaHTpriuiDUp28hevzqG9mkFl/p3IkBtYze4VUSui8bWC8l1tLGu/vzJh")
|
||||||
|
}]
|
||||||
|
blend_shape_mode = 0
|
||||||
|
shadow_mesh = SubResource("ArrayMesh_gn022")
|
||||||
|
|
||||||
|
[node name="Shelf" type="Node3D" node_paths=PackedStringArray("meshInstance", "ActionNode", "static_body")]
|
||||||
script = ExtResource("1_ya6sq")
|
script = ExtResource("1_ya6sq")
|
||||||
meshInstance = NodePath("Shelf")
|
meshInstance = NodePath("Shelf")
|
||||||
preview_shader = SubResource("ShaderMaterial_4318v")
|
preview_shader = SubResource("ShaderMaterial_4318v")
|
||||||
|
ActionNode = NodePath("ActionNode")
|
||||||
|
static_body = NodePath("StaticBody3D")
|
||||||
|
|
||||||
[node name="Shelf" type="MeshInstance3D" parent="."]
|
[node name="Shelf" type="MeshInstance3D" parent="."]
|
||||||
transform = Transform3D(-2.18557e-08, 0, -0.5, 0, 0.5, 0, 0.5, 0, -2.18557e-08, 0, -1.53245, 0)
|
transform = Transform3D(-2.18557e-08, 0, -0.5, 0, 0.5, 0, 0.5, 0, -2.18557e-08, 0, -1.53245, 0)
|
||||||
@@ -38,7 +81,195 @@ mesh = ExtResource("1_usf1u")
|
|||||||
surface_material_override/0 = SubResource("StandardMaterial3D_jbe2f")
|
surface_material_override/0 = SubResource("StandardMaterial3D_jbe2f")
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
[node name="StaticBody3D" type="StaticBody3D" parent="."]
|
||||||
|
input_ray_pickable = false
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0545654, 0.0981445, -0.0205688)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0545654, 0.0981445, -0.0205688)
|
||||||
shape = SubResource("BoxShape3D_jbe2f")
|
shape = SubResource("BoxShape3D_jbe2f")
|
||||||
|
|
||||||
|
[node name="ActionNode" type="Node3D" parent="." node_paths=PackedStringArray("items_pos_master")]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.39139)
|
||||||
|
script = ExtResource("7_4318v")
|
||||||
|
items_pos_master = NodePath("ItemPos")
|
||||||
|
|
||||||
|
[node name="Area3d" type="Area3D" parent="ActionNode"]
|
||||||
|
input_ray_pickable = false
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="ActionNode/Area3d"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829)
|
||||||
|
shape = SubResource("SphereShape3D_jbe2f")
|
||||||
|
|
||||||
|
[node name="CSGSphere3D" type="CSGSphere3D" parent="ActionNode/Area3d"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.839141, 0.470829)
|
||||||
|
visible = false
|
||||||
|
radius = 0.886475
|
||||||
|
|
||||||
|
[node name="ItemPos" type="Node3D" parent="ActionNode"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -1.24741)
|
||||||
|
|
||||||
|
[node name="Pose1" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75345, -1.22793, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose1"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose2" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.834656, -1.22793, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose2"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose3" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.029565, -1.22793, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose3"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose4" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.886944, -1.22793, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose4"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose5" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.696, -1.22793, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose5"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose6" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75345, -0.182641, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose6"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose7" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.834656, -0.182641, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose7"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose8" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.029565, -0.182641, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose8"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose9" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.886944, -0.182641, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose9"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose10" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.696, -0.182641, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose10"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose11" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.75345, 0.906006, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose11"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose12" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.834656, 0.906006, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose12"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose13" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.029565, 0.906006, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose13"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose14" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.886944, 0.906006, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose14"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[node name="Pose15" type="Node3D" parent="ActionNode/ItemPos"]
|
||||||
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.696, 0.906006, -0.143976)
|
||||||
|
script = ExtResource("8_w5qf7")
|
||||||
|
|
||||||
|
[node name="Cube" type="MeshInstance3D" parent="ActionNode/ItemPos/Pose15"]
|
||||||
|
transform = Transform3D(0.3, 0, 0, 0, 0.3, 0, 0, 0, 0.3, 0, 0, 0)
|
||||||
|
visible = false
|
||||||
|
mesh = SubResource("ArrayMesh_w5qf7")
|
||||||
|
skeleton = NodePath("")
|
||||||
|
surface_material_override/0 = ExtResource("8_0dtcx")
|
||||||
|
|
||||||
|
[connection signal="ready" from="ActionNode" to="ActionNode" method="_on_ready"]
|
||||||
|
|||||||
@@ -8,15 +8,15 @@
|
|||||||
[ext_resource type="Shader" uid="uid://bfv6ckihralab" path="res://Shaders/build_transparent.gdshader" id="6_ru0md"]
|
[ext_resource type="Shader" uid="uid://bfv6ckihralab" path="res://Shaders/build_transparent.gdshader" id="6_ru0md"]
|
||||||
|
|
||||||
[sub_resource type="NavigationMesh" id="NavigationMesh_ru0md"]
|
[sub_resource type="NavigationMesh" id="NavigationMesh_ru0md"]
|
||||||
vertices = PackedVector3Array(-8.52442, 3.10583, -1.86593, -8.52442, 3.10583, -0.615934, -3.27442, 3.10583, -0.615934, -3.27442, 3.10583, -1.86593, -2.27442, 0.105834, 0.884066, -9.27442, 0.105834, 0.884066, -9.27442, 0.105834, 3.13407, 11.4756, 0.105834, 3.13407, 11.4756, 0.105834, -1.86593, -1.77442, 0.105834, -1.86593, -1.77442, 0.105834, 0.384066, -8.27442, 0.105834, -1.61593, -8.27442, 0.105834, -0.865934, -3.52442, 0.105834, -0.865934, -3.52442, 0.105834, -1.61593)
|
vertices = PackedVector3Array(-8.52442, 1.10583, -1.86593, -8.52442, 1.10583, -0.615934, -3.27442, 1.10583, -0.615934, -3.27442, 1.10583, -1.86593, -2.27442, 0.105834, 0.884066, -9.27442, 0.105834, 0.884066, -9.27442, 0.105834, 3.13407, 11.4756, 0.105834, 3.13407, 11.4756, 0.105834, -1.86593, -1.77442, 0.105834, -1.86593, -1.77442, 0.105834, 0.384066)
|
||||||
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(10, 9, 8), PackedInt32Array(10, 8, 4), PackedInt32Array(4, 8, 7), PackedInt32Array(14, 13, 11), PackedInt32Array(11, 13, 12)]
|
polygons = [PackedInt32Array(3, 2, 0), PackedInt32Array(0, 2, 1), PackedInt32Array(5, 4, 6), PackedInt32Array(6, 4, 7), PackedInt32Array(10, 9, 8), PackedInt32Array(10, 8, 4), PackedInt32Array(4, 8, 7)]
|
||||||
agent_radius = 0.7
|
agent_radius = 0.7
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_u7bw1"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_u7bw1"]
|
||||||
size = Vector3(22.1814, 0.0957031, 5.72699)
|
size = Vector3(22.1814, 0.0957031, 5.72699)
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_ru0md"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_ru0md"]
|
||||||
size = Vector3(6.47229, 3.39474, 2.33685)
|
size = Vector3(6.47229, 1.38536, 2.33685)
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_esjgi"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_esjgi"]
|
||||||
size = Vector3(22.2341, 4.23804, 0.494629)
|
size = Vector3(22.2341, 4.23804, 0.494629)
|
||||||
@@ -43,7 +43,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.138559, 0)
|
|||||||
navigation_mesh = SubResource("NavigationMesh_ru0md")
|
navigation_mesh = SubResource("NavigationMesh_ru0md")
|
||||||
|
|
||||||
[node name="ground" type="StaticBody3D" parent="Cart-bottom/NavigationRegion3D"]
|
[node name="ground" type="StaticBody3D" parent="Cart-bottom/NavigationRegion3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.12006, 0.135911, 0.169229, -0.0448687)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1.12006, 0.135911, -0.0747662, -0.0448687)
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cart-bottom/NavigationRegion3D/ground"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cart-bottom/NavigationRegion3D/ground"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.930367, -0.452148, 0.568024)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.930367, -0.452148, 0.568024)
|
||||||
@@ -54,11 +54,13 @@ height = 0.1
|
|||||||
affect_navigation_mesh = true
|
affect_navigation_mesh = true
|
||||||
|
|
||||||
[node name="StaticBody3D" type="StaticBody3D" parent="Cart-bottom/NavigationRegion3D/NavigationObstacle3D"]
|
[node name="StaticBody3D" type="StaticBody3D" parent="Cart-bottom/NavigationRegion3D/NavigationObstacle3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.50052, -0.0203562, -1.1511)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -5.50052, -0.0203562, -20.5103)
|
||||||
|
collision_layer = 4
|
||||||
|
collision_mask = 4
|
||||||
input_ray_pickable = false
|
input_ray_pickable = false
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cart-bottom/NavigationRegion3D/NavigationObstacle3D/StaticBody3D"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="Cart-bottom/NavigationRegion3D/NavigationObstacle3D/StaticBody3D"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.352722, 1.07356, -0.102142)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.352722, 0.0688691, -0.102142)
|
||||||
shape = SubResource("BoxShape3D_ru0md")
|
shape = SubResource("BoxShape3D_ru0md")
|
||||||
|
|
||||||
[node name="Wheels2" type="MeshInstance3D" parent="."]
|
[node name="Wheels2" type="MeshInstance3D" parent="."]
|
||||||
@@ -86,26 +88,22 @@ visible = false
|
|||||||
mesh = ExtResource("3_2wj72")
|
mesh = ExtResource("3_2wj72")
|
||||||
|
|
||||||
[node name="BlockBuildingArea" type="StaticBody3D" parent="."]
|
[node name="BlockBuildingArea" type="StaticBody3D" parent="."]
|
||||||
visible = false
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.137932, 0)
|
||||||
|
|
||||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="BlockBuildingArea"]
|
[node name="CollisionShape3D4" type="CollisionShape3D" parent="BlockBuildingArea"]
|
||||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 11.1878, 1.59147, -0.622702)
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 11.1878, 1.59147, -0.622702)
|
||||||
visible = false
|
|
||||||
shape = SubResource("BoxShape3D_esjgi")
|
shape = SubResource("BoxShape3D_esjgi")
|
||||||
|
|
||||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="BlockBuildingArea"]
|
[node name="CollisionShape3D3" type="CollisionShape3D" parent="BlockBuildingArea"]
|
||||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10.6143, 1.63224, 0.537586)
|
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -10.6143, 1.63224, 0.537586)
|
||||||
visible = false
|
|
||||||
shape = SubResource("BoxShape3D_esjgi")
|
shape = SubResource("BoxShape3D_esjgi")
|
||||||
|
|
||||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BlockBuildingArea"]
|
[node name="CollisionShape3D2" type="CollisionShape3D" parent="BlockBuildingArea"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.619003, 1.50816, 3.83996)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.619003, 1.50816, 3.83996)
|
||||||
visible = false
|
|
||||||
shape = SubResource("BoxShape3D_esjgi")
|
shape = SubResource("BoxShape3D_esjgi")
|
||||||
|
|
||||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="BlockBuildingArea"]
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="BlockBuildingArea"]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.282789, 1.61902, -2.6054)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.282789, 1.61902, -2.6054)
|
||||||
visible = false
|
|
||||||
shape = SubResource("BoxShape3D_esjgi")
|
shape = SubResource("BoxShape3D_esjgi")
|
||||||
|
|
||||||
[node name="BuildingArea" type="StaticBody3D" parent="." node_paths=PackedStringArray("buildTransparentPreivew")]
|
[node name="BuildingArea" type="StaticBody3D" parent="." node_paths=PackedStringArray("buildTransparentPreivew")]
|
||||||
@@ -116,6 +114,7 @@ metadata/is_building_area = true
|
|||||||
|
|
||||||
[node name="smallBuildingArea2" type="CollisionShape3D" parent="BuildingArea"]
|
[node name="smallBuildingArea2" type="CollisionShape3D" parent="BuildingArea"]
|
||||||
shape = SubResource("BoxShape3D_eosii")
|
shape = SubResource("BoxShape3D_eosii")
|
||||||
|
debug_color = Color(0.981345, 0, 0.371873, 0.42)
|
||||||
metadata/is_building_area = true
|
metadata/is_building_area = true
|
||||||
|
|
||||||
[node name="BuildAreaModeView" type="MeshInstance3D" parent="BuildingArea"]
|
[node name="BuildAreaModeView" type="MeshInstance3D" parent="BuildingArea"]
|
||||||
|
|||||||
24
Scenes/Prefabs/food_item.tscn
Normal file
24
Scenes/Prefabs/food_item.tscn
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
[gd_scene load_steps=5 format=3 uid="uid://d3l2w1076ttb0"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://tedmijw81j46" path="res://Blends/Items/Food/food.gltf" id="1_613iy"]
|
||||||
|
[ext_resource type="Script" uid="uid://bd3vhk86ac1nu" path="res://Scripts/Items/food_item.gd" id="2_cemcp"]
|
||||||
|
[ext_resource type="Material" uid="uid://detpb4ww2vvsf" path="res://Blends/Items/Food/Material.tres" id="3_cemcp"]
|
||||||
|
|
||||||
|
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_cemcp"]
|
||||||
|
points = PackedVector3Array(0.916143, 0.0653669, 0.916143, -1.04586, -0.458043, -1.04586, -0.987529, -0.722254, -0.987529, -1.04586, -0.458043, 1.04586, 0.942723, -0.750116, 0.942926, 1.04586, -0.458043, -1.04586, -0.916143, 0.0653669, -0.916143, -0.916143, 0.0653669, 0.916143, 0.916143, 0.0653669, -0.916143, 0.942723, -0.750116, -0.942926, -0.942723, -0.750116, 0.942926, 1.0134, -0.196704, 1.04617, -1.04617, -0.196704, -1.0134, 1.0134, -0.196704, -1.04617, 1.04586, -0.458043, 1.04586, -1.04617, -0.196704, 1.0134, -0.942723, -0.750116, -0.942926, 0.987529, -0.722254, 0.987529, 1.04617, -0.196704, -1.0134, 0.987529, -0.722254, -0.987529, -0.987529, -0.722254, 0.987529, 1.04617, -0.196704, 1.0134, -1.0132, -0.196704, -1.04617, -1.0132, -0.196704, 1.04617, -0.948223, 0.0324106, -0.948428, 0.948223, 0.0324106, 0.948428, -0.948223, 0.0324106, 0.948428, 0.948223, 0.0324106, -0.948428)
|
||||||
|
|
||||||
|
[node name="food" node_paths=PackedStringArray("mesh") instance=ExtResource("1_613iy")]
|
||||||
|
transform = Transform3D(0.3, -1.53807e-05, 1.30802e-05, 1.53807e-05, 0.3, -5.5671e-06, -1.30802e-05, 5.5671e-06, 0.3, 0, 0, 0)
|
||||||
|
script = ExtResource("2_cemcp")
|
||||||
|
mesh = NodePath("Cube")
|
||||||
|
|
||||||
|
[node name="StaticBody3D" type="StaticBody3D" parent="." index="0"]
|
||||||
|
process_mode = 4
|
||||||
|
transform = Transform3D(1, -1.44862e-12, -1.09139e-11, -1.56369e-12, 1, 1.81899e-12, 7.27596e-12, 0, 1, 0, 0, 0)
|
||||||
|
|
||||||
|
[node name="CollisionShape3D" type="CollisionShape3D" parent="StaticBody3D" index="0"]
|
||||||
|
transform = Transform3D(1, 2.18947e-12, 7.27596e-12, 2.07429e-12, 1, -1.81899e-12, -7.27596e-12, 0, 1, 0, 0, 0)
|
||||||
|
shape = SubResource("ConvexPolygonShape3D_cemcp")
|
||||||
|
|
||||||
|
[node name="Cube" parent="." index="1"]
|
||||||
|
surface_material_override/0 = ExtResource("3_cemcp")
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://cyaesj3qjb5um"]
|
[gd_scene load_steps=4 format=3 uid="uid://cyaesj3qjb5um"]
|
||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bqh6f4f4sc4ba" path="res://Scripts/ui/panel_build_select.gd" id="1_dew6i"]
|
[ext_resource type="Script" uid="uid://bqh6f4f4sc4ba" path="res://Scripts/ui/panel_build_select.gd" id="1_dew6i"]
|
||||||
[ext_resource type="Script" uid="uid://3bsllk6udire" path="res://Scripts/button_select_build.gd" id="1_yp16r"]
|
[ext_resource type="Script" uid="uid://3bsllk6udire" path="res://Scripts/button_select_build.gd" id="1_yp16r"]
|
||||||
|
[ext_resource type="Script" uid="uid://di0njko68ahky" path="res://Scripts/ContextMenu.gd" id="3_yve02"]
|
||||||
|
|
||||||
[node name="MainGameUi" type="Control"]
|
[node name="MainGameUi" type="Control"]
|
||||||
layout_mode = 3
|
layout_mode = 3
|
||||||
@@ -83,6 +84,42 @@ text = "Shelf"
|
|||||||
script = ExtResource("1_yp16r")
|
script = ExtResource("1_yp16r")
|
||||||
id = 3
|
id = 3
|
||||||
|
|
||||||
|
[node name="Panel3" type="Panel" parent="."]
|
||||||
|
visible = false
|
||||||
|
clip_contents = true
|
||||||
|
layout_mode = 0
|
||||||
|
offset_right = 119.0
|
||||||
|
offset_bottom = 92.0
|
||||||
|
script = ExtResource("3_yve02")
|
||||||
|
|
||||||
|
[node name="ScrollContainer" type="ScrollContainer" parent="Panel3"]
|
||||||
|
layout_mode = 1
|
||||||
|
anchors_preset = 15
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
grow_horizontal = 2
|
||||||
|
grow_vertical = 2
|
||||||
|
|
||||||
|
[node name="VBoxContainer" type="VBoxContainer" parent="Panel3/ScrollContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
size_flags_horizontal = 3
|
||||||
|
|
||||||
|
[node name="Button" type="Button" parent="Panel3/ScrollContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Action #1"
|
||||||
|
|
||||||
|
[node name="Button2" type="Button" parent="Panel3/ScrollContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Action #2"
|
||||||
|
|
||||||
|
[node name="Button3" type="Button" parent="Panel3/ScrollContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Action #1"
|
||||||
|
|
||||||
|
[node name="Button4" type="Button" parent="Panel3/ScrollContainer/VBoxContainer"]
|
||||||
|
layout_mode = 2
|
||||||
|
text = "Action #1"
|
||||||
|
|
||||||
[connection signal="pressed" from="Panel2/HBoxContainer/ButtonCreateBed" to="Panel2/HBoxContainer/ButtonCreateBed" method="_on_pressed"]
|
[connection signal="pressed" from="Panel2/HBoxContainer/ButtonCreateBed" to="Panel2/HBoxContainer/ButtonCreateBed" method="_on_pressed"]
|
||||||
[connection signal="pressed" from="Panel2/HBoxContainer/ButtonCreatePot" to="Panel2/HBoxContainer/ButtonCreatePot" method="_on_pressed"]
|
[connection signal="pressed" from="Panel2/HBoxContainer/ButtonCreatePot" to="Panel2/HBoxContainer/ButtonCreatePot" method="_on_pressed"]
|
||||||
[connection signal="pressed" from="Panel2/HBoxContainer/ButtonCreatePot2" to="Panel2/HBoxContainer/ButtonCreatePot2" method="_on_pressed"]
|
[connection signal="pressed" from="Panel2/HBoxContainer/ButtonCreatePot2" to="Panel2/HBoxContainer/ButtonCreatePot2" method="_on_pressed"]
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ process_material = SubResource("ParticleProcessMaterial_21xkr")
|
|||||||
draw_pass_1 = SubResource("QuadMesh_21xkr")
|
draw_pass_1 = SubResource("QuadMesh_21xkr")
|
||||||
|
|
||||||
[node name="SpotLight3D" type="SpotLight3D" parent="."]
|
[node name="SpotLight3D" type="SpotLight3D" parent="."]
|
||||||
|
process_mode = 4
|
||||||
transform = Transform3D(1, 0, 0, 0, 0.64431, 0.764764, 0, -0.764764, 0.64431, -14.3055, 3.48611, -59.8356)
|
transform = Transform3D(1, 0, 0, 0, 0.64431, 0.764764, 0, -0.764764, 0.64431, -14.3055, 3.48611, -59.8356)
|
||||||
light_energy = 1.162
|
light_energy = 1.162
|
||||||
spot_range = 23.417
|
spot_range = 23.417
|
||||||
@@ -146,4 +147,4 @@ focus_mode = 1
|
|||||||
mouse_filter = 2
|
mouse_filter = 2
|
||||||
|
|
||||||
[node name="Marker3D" type="Marker3D" parent="."]
|
[node name="Marker3D" type="Marker3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.90278, -57.5436)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -14.439, 2.74, -59.25)
|
||||||
|
|||||||
47
Scripts/ContextMenu.gd
Normal file
47
Scripts/ContextMenu.gd
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
extends Panel
|
||||||
|
|
||||||
|
|
||||||
|
signal show_context_menu
|
||||||
|
signal hide_context_menu
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
Global.show_context_menu.connect(_on_show_menu)
|
||||||
|
Global.hide_context_menu.connect(_on_hide_menu)
|
||||||
|
|
||||||
|
func _on_show_menu():
|
||||||
|
if self.visible != true:
|
||||||
|
show_menu()
|
||||||
|
else:
|
||||||
|
Global.hide_context_menu.emit()
|
||||||
|
func _on_hide_menu():
|
||||||
|
hide_menu()
|
||||||
|
|
||||||
|
|
||||||
|
func show_menu():
|
||||||
|
Global.is_context_menu_active = true
|
||||||
|
self.position = get_viewport().get_mouse_position()
|
||||||
|
get_context_actions()
|
||||||
|
self.visible = true
|
||||||
|
func hide_menu():
|
||||||
|
Global.is_context_menu_active = false
|
||||||
|
self.visible = false
|
||||||
|
|
||||||
|
|
||||||
|
func get_context_actions():
|
||||||
|
var container = $ScrollContainer/VBoxContainer
|
||||||
|
remove_children(container)
|
||||||
|
var newButtons
|
||||||
|
print(Global.object_selected.name)
|
||||||
|
if Global.object_selected.name == "Person":
|
||||||
|
newButtons = PersonAction.get_context_buttons()
|
||||||
|
|
||||||
|
for button in newButtons:
|
||||||
|
container.add_child(button)
|
||||||
|
|
||||||
|
|
||||||
|
func remove_children(object: Node):
|
||||||
|
var children = object.get_children()
|
||||||
|
|
||||||
|
for child in children:
|
||||||
|
object.remove_child(child)
|
||||||
1
Scripts/ContextMenu.gd.uid
Normal file
1
Scripts/ContextMenu.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://di0njko68ahky
|
||||||
@@ -1,10 +1,60 @@
|
|||||||
class_name Interactable
|
class_name Interactable
|
||||||
extends Node
|
extends Node
|
||||||
|
|
||||||
|
signal action_stoped
|
||||||
|
signal object_placed()
|
||||||
|
|
||||||
|
|
||||||
|
@export var area: Area3D
|
||||||
|
var build_name: String = "None"
|
||||||
|
|
||||||
|
|
||||||
var can_pick: bool
|
var can_pick: bool
|
||||||
|
|
||||||
var can_store: bool
|
var can_store: bool
|
||||||
var stored_objects: Array
|
var stored_items: Array
|
||||||
|
|
||||||
func action(person):
|
var max_person_using
|
||||||
|
var persons_using: Array
|
||||||
|
var persons_position: Array
|
||||||
|
|
||||||
|
func start_action(person, object):
|
||||||
print("action!")
|
print("action!")
|
||||||
|
|
||||||
|
|
||||||
|
func stop_action(person, object):
|
||||||
|
person.is_in_action = false
|
||||||
|
var pose = find_pose(person)
|
||||||
|
pose.remove_person()
|
||||||
|
person.visible = true
|
||||||
|
action_stoped.emit()
|
||||||
|
|
||||||
|
func add_person_using(person):
|
||||||
|
persons_using.append(person)
|
||||||
|
|
||||||
|
func remove_person_using(person):
|
||||||
|
persons_using.erase(person)
|
||||||
|
|
||||||
|
|
||||||
|
func set_person_pos(person):
|
||||||
|
for pose in persons_position:
|
||||||
|
if pose.is_free:
|
||||||
|
pose.set_person(person)
|
||||||
|
break
|
||||||
|
|
||||||
|
|
||||||
|
func find_pose(person):
|
||||||
|
return persons_position[persons_position.find(person)]
|
||||||
|
|
||||||
|
func can_be_used():
|
||||||
|
var used_poses = 0
|
||||||
|
for pose in persons_position:
|
||||||
|
if !pose.is_free:
|
||||||
|
used_poses += 1
|
||||||
|
if used_poses < max_person_using:
|
||||||
|
return true
|
||||||
|
else:
|
||||||
|
return false
|
||||||
|
|
||||||
|
func create():
|
||||||
|
pass
|
||||||
|
|||||||
34
Scripts/Item.gd
Normal file
34
Scripts/Item.gd
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
extends Node3D
|
||||||
|
class_name Item
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
var item_name
|
||||||
|
var shelf_owner
|
||||||
|
var is_being_used: bool
|
||||||
|
|
||||||
|
var outline_material: ShaderMaterial
|
||||||
|
var static_body: StaticBody3D
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
set_outline_shader()
|
||||||
|
|
||||||
|
func use():
|
||||||
|
print(str(self) + "is used")
|
||||||
|
|
||||||
|
|
||||||
|
func set_outline_shader():
|
||||||
|
static_body = $StaticBody3D
|
||||||
|
static_body.mouse_entered.connect(_on_mouse_enter)
|
||||||
|
static_body.mouse_exited.connect(_on_mouse_exit)
|
||||||
|
|
||||||
|
func _on_mouse_enter():
|
||||||
|
enable_outline()
|
||||||
|
func _on_mouse_exit():
|
||||||
|
disable_outline()
|
||||||
|
|
||||||
|
|
||||||
|
func enable_outline():
|
||||||
|
outline_material.set_shader_parameter("is_active", true)
|
||||||
|
func disable_outline():
|
||||||
|
outline_material.set_shader_parameter("is_active", false)
|
||||||
1
Scripts/Item.gd.uid
Normal file
1
Scripts/Item.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://c1ic8jloyqlnt
|
||||||
16
Scripts/Items/food_item.gd
Normal file
16
Scripts/Items/food_item.gd
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
extends Item
|
||||||
|
|
||||||
|
@export var mesh: MeshInstance3D
|
||||||
|
|
||||||
|
func _init() -> void:
|
||||||
|
item_name = "food"
|
||||||
|
is_being_used = false
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
outline_material = mesh.get_surface_override_material(0).next_pass
|
||||||
|
set_outline_shader()
|
||||||
|
|
||||||
|
func use():
|
||||||
|
print("Object eaten")
|
||||||
|
self.queue_free()
|
||||||
1
Scripts/Items/food_item.gd.uid
Normal file
1
Scripts/Items/food_item.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://bd3vhk86ac1nu
|
||||||
@@ -59,3 +59,18 @@ func _on_object_selected():
|
|||||||
func add_object_to_array(object):
|
func add_object_to_array(object):
|
||||||
builded_objects.append(object)
|
builded_objects.append(object)
|
||||||
object_added.emit(object)
|
object_added.emit(object)
|
||||||
|
|
||||||
|
|
||||||
|
func set_person_target_build(build_name, is_free):
|
||||||
|
var result = find_building(build_name, is_free)
|
||||||
|
if result != null:
|
||||||
|
return result
|
||||||
|
else:
|
||||||
|
return result
|
||||||
|
|
||||||
|
func find_building(build_name,is_free):
|
||||||
|
for build in builded_objects:
|
||||||
|
if build.ActionNode.build_name == build_name:
|
||||||
|
if build.ActionNode.can_be_used() == is_free:
|
||||||
|
return build
|
||||||
|
return null
|
||||||
|
|||||||
@@ -4,19 +4,24 @@ extends Node3D
|
|||||||
|
|
||||||
@export var meshInstance: MeshInstance3D
|
@export var meshInstance: MeshInstance3D
|
||||||
@export var preview_shader: ShaderMaterial
|
@export var preview_shader: ShaderMaterial
|
||||||
|
@export var ActionNode: Node3D
|
||||||
|
@export var static_body: StaticBody3D
|
||||||
var default_shaders: Array
|
var default_shaders: Array
|
||||||
var staic_body: StaticBody3D
|
#var static_body: StaticBody3D
|
||||||
var ActionNode: Node3D
|
#var ActionNode: Node3D
|
||||||
|
var is_placed: bool = false
|
||||||
|
|
||||||
|
var is_selected: bool = false
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
BuildManager.preview_created.connect(_on_preview_create)
|
BuildManager.preview_created.connect(_on_preview_create)
|
||||||
BuildManager.object_placed.connect(_on_object_placed)
|
BuildManager.object_placed.connect(_on_object_placed)
|
||||||
set_default_shaders()
|
set_default_shaders()
|
||||||
|
|
||||||
staic_body = $StaticBody3D
|
static_body = $StaticBody3D
|
||||||
staic_body.mouse_entered.connect(_on_mouse_enter)
|
|
||||||
staic_body.mouse_exited.connect(_on_mouse_exit)
|
static_body.mouse_entered.connect(_on_mouse_enter)
|
||||||
|
static_body.mouse_exited.connect(_on_mouse_exit)
|
||||||
|
|
||||||
ActionNode = $ActionNode
|
ActionNode = $ActionNode
|
||||||
|
|
||||||
@@ -53,17 +58,20 @@ func _on_preview_create():
|
|||||||
|
|
||||||
|
|
||||||
func _on_object_placed(build_postion):
|
func _on_object_placed(build_postion):
|
||||||
#BuildManager.add_object_to_array(self)
|
|
||||||
#print(ActionNode.global_position)
|
|
||||||
restore_default_shaders()
|
restore_default_shaders()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
func enable_outline():
|
func enable_outline():
|
||||||
|
Global.object_over_mouse_selected_signal.emit(self)
|
||||||
for i in meshInstance.get_surface_override_material_count():
|
for i in meshInstance.get_surface_override_material_count():
|
||||||
var material = meshInstance.get_surface_override_material(i)
|
var material = meshInstance.get_surface_override_material(i)
|
||||||
if material.next_pass != null:
|
if material.next_pass != null:
|
||||||
meshInstance.get_surface_override_material(i).next_pass.set_shader_parameter("is_active", true)
|
meshInstance.get_surface_override_material(i).next_pass.set_shader_parameter("is_active", true)
|
||||||
func disable_outline():
|
func disable_outline():
|
||||||
|
Global.object_over_mouse_unselected_signal.emit(self)
|
||||||
|
|
||||||
|
if is_selected == false:
|
||||||
for i in meshInstance.get_surface_override_material_count():
|
for i in meshInstance.get_surface_override_material_count():
|
||||||
var material = meshInstance.get_surface_override_material(i)
|
var material = meshInstance.get_surface_override_material(i)
|
||||||
if material.next_pass != null:
|
if material.next_pass != null:
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ func hide_preview():
|
|||||||
buildTransparentPreivew.visible = true
|
buildTransparentPreivew.visible = true
|
||||||
|
|
||||||
func place_object():
|
func place_object():
|
||||||
#is_placed = true
|
is_placed = true
|
||||||
#buildTransparentPreivew.visible = false
|
#buildTransparentPreivew.visible = false
|
||||||
BuildManager.object_placed.emit(self.position)
|
BuildManager.object_placed.emit(self.position)
|
||||||
self.queue_free()
|
self.queue_free()
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ func _process(delta: float) -> void:
|
|||||||
#print(self.position.dot(ownRigidBody.position))
|
#print(self.position.dot(ownRigidBody.position))
|
||||||
|
|
||||||
func _input(event: InputEvent) -> void: # zoom control
|
func _input(event: InputEvent) -> void: # zoom control
|
||||||
if(event.is_action("camera_zoom")):
|
if(event.is_action("camera_zoom") and !Global.is_context_menu_active):
|
||||||
if (event.as_text() == "Mouse Wheel Up"):
|
if (event.as_text() == "Mouse Wheel Up"):
|
||||||
#self.position = self.position.lerp(Vector3.ZERO,global_delta * 5.0)
|
#self.position = self.position.lerp(Vector3.ZERO,global_delta * 5.0)
|
||||||
zoom_pos += global_delta * 45.0
|
zoom_pos += global_delta * 45.0
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ func _input(event: InputEvent) -> void:
|
|||||||
|
|
||||||
func _on_object_placed(build_postion):
|
func _on_object_placed(build_postion):
|
||||||
var newObject = BuildManager.get_preview_object().instantiate()
|
var newObject = BuildManager.get_preview_object().instantiate()
|
||||||
|
newObject.static_body.input_ray_pickable = true
|
||||||
newObject.global_position = build_postion
|
newObject.global_position = build_postion
|
||||||
BuildManager.add_object_to_array(newObject)
|
BuildManager.add_object_to_array(newObject)
|
||||||
|
if newObject.ActionNode != null:
|
||||||
|
newObject.ActionNode.create()
|
||||||
|
#newObject.restore_default_shaders()
|
||||||
self.add_child(newObject)
|
self.add_child(newObject)
|
||||||
|
|||||||
@@ -1,15 +1,62 @@
|
|||||||
extends Node3D
|
extends Node3D
|
||||||
|
|
||||||
@onready var outline_shader = preload("res://Shaders/outline.gdshader")
|
@onready var outline_shader = preload("res://Shaders/outline.gdshader")
|
||||||
|
@onready var food_item = preload("res://Scenes/Prefabs/food_item.tscn")
|
||||||
@export var debugLabel1: Label
|
@export var debugLabel1: Label
|
||||||
|
|
||||||
signal interact(person,interact_object)
|
signal interact(person,interact_object)
|
||||||
|
|
||||||
func _ready() -> void:
|
signal object_selected_signal
|
||||||
print(outline_shader)
|
signal object_unselected_signal
|
||||||
|
signal object_over_mouse_selected_signal(object)
|
||||||
|
signal object_over_mouse_unselected_signal(object)
|
||||||
|
|
||||||
|
signal show_context_menu
|
||||||
|
signal hide_context_menu
|
||||||
|
var is_context_menu_active: bool = false
|
||||||
|
|
||||||
|
var object_selected
|
||||||
|
var object_over_mouse
|
||||||
|
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
interact.connect(_on_interact)
|
interact.connect(_on_interact)
|
||||||
|
|
||||||
|
object_selected_signal.connect(_on_object_selected)
|
||||||
|
object_unselected_signal.connect(_on_object_unselected)
|
||||||
|
|
||||||
|
object_over_mouse_selected_signal.connect(_on_mouse_object_selected)
|
||||||
|
object_over_mouse_unselected_signal.connect(_on_mouse_object_unselected)
|
||||||
|
|
||||||
|
|
||||||
|
func _input(event: InputEvent) -> void:
|
||||||
|
if event.is_action_released("mouse_click") and !is_context_menu_active:
|
||||||
|
if object_over_mouse != null:
|
||||||
|
object_selected_signal.emit(object_over_mouse)
|
||||||
|
else:
|
||||||
|
object_unselected_signal.emit()
|
||||||
|
if event.is_action_released("right_mouse_click"):
|
||||||
|
show_context_menu.emit()
|
||||||
|
|
||||||
func _on_interact(person, object):
|
func _on_interact(person, object):
|
||||||
object.action(person)
|
if object.name == "ActionNode":
|
||||||
|
object.start_action(person, object)
|
||||||
|
else:
|
||||||
|
object.ActionNode.start_action(person, object)
|
||||||
|
|
||||||
|
func _on_object_selected(object):
|
||||||
|
if object_selected != null and object != object_selected:
|
||||||
|
object_unselected_signal.emit()
|
||||||
|
object_selected = object
|
||||||
|
object_selected.is_selected = true
|
||||||
|
print(object_selected)
|
||||||
|
func _on_object_unselected():
|
||||||
|
if object_selected != null:
|
||||||
|
object_selected.is_selected = false
|
||||||
|
object_selected.disable_outline()
|
||||||
|
object_selected = null
|
||||||
|
|
||||||
|
func _on_mouse_object_selected(object):
|
||||||
|
object_over_mouse = object
|
||||||
|
func _on_mouse_object_unselected(object):
|
||||||
|
object_over_mouse = null
|
||||||
|
|||||||
60
Scripts/item_manager.gd
Normal file
60
Scripts/item_manager.gd
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
extends Node
|
||||||
|
@onready var food_item = preload("res://Scenes/Prefabs/food_item.tscn")
|
||||||
|
signal object_placed
|
||||||
|
var shelfes: Array
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func set_person_target_item(person,item_name):
|
||||||
|
var result = find_item(item_name)
|
||||||
|
if result != null:
|
||||||
|
result.is_being_used = true
|
||||||
|
person.target_item = result
|
||||||
|
person.set_target(result.shelf_owner)
|
||||||
|
return true
|
||||||
|
else:
|
||||||
|
return null
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func find_item(item_name):
|
||||||
|
|
||||||
|
for shelf in shelfes:
|
||||||
|
if shelf != null:
|
||||||
|
for item in shelf.stored_items:
|
||||||
|
if item.item_name == item_name and !item.is_being_used:
|
||||||
|
return item
|
||||||
|
return null
|
||||||
|
|
||||||
|
func get_item_name():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func add_shelf(object):
|
||||||
|
shelfes.append(object)
|
||||||
|
print(object)
|
||||||
|
|
||||||
|
|
||||||
|
func add_item_to_shelf(shelf, item):
|
||||||
|
item.shelf_owner = shelf
|
||||||
|
shelf.add_item(item)
|
||||||
|
|
||||||
|
func get_item(id):
|
||||||
|
return get_item_from_id(id)
|
||||||
|
|
||||||
|
func give_item(person, item_id):
|
||||||
|
var item = get_item_from_id(item_id)
|
||||||
|
person.hold_item(item)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func get_item_from_id(id):
|
||||||
|
match id:
|
||||||
|
0:
|
||||||
|
return food_item
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func create_item(item_id):
|
||||||
|
return ItemManager.get_item(0).instantiate()
|
||||||
1
Scripts/item_manager.gd.uid
Normal file
1
Scripts/item_manager.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://c3bt4qr6bip5y
|
||||||
@@ -1,9 +1,18 @@
|
|||||||
extends Interactable
|
extends Interactable
|
||||||
|
|
||||||
func _ready() -> void:
|
func _init() -> void:
|
||||||
can_pick = false
|
can_pick = false
|
||||||
can_store = false
|
can_store = false
|
||||||
|
max_person_using = 2
|
||||||
|
build_name = "bed"
|
||||||
|
|
||||||
|
|
||||||
func action(person):
|
func _ready() -> void:
|
||||||
|
persons_position.append($PersonPos1)
|
||||||
|
persons_position.append($PersonPos2)
|
||||||
|
|
||||||
|
func start_action(person, object):
|
||||||
|
person.visible = false
|
||||||
|
set_person_pos(person)
|
||||||
print(str(person) + " is sleeping")
|
print(str(person) + " is sleeping")
|
||||||
|
PersonAction.sleep(person, object, self)
|
||||||
|
|||||||
17
Scripts/objects/pot_object.gd
Normal file
17
Scripts/objects/pot_object.gd
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
extends Interactable
|
||||||
|
|
||||||
|
|
||||||
|
func _init() -> void:
|
||||||
|
max_person_using = 1
|
||||||
|
build_name = "pot"
|
||||||
|
|
||||||
|
func _ready() -> void:
|
||||||
|
persons_position.append($PersonPos1)
|
||||||
|
|
||||||
|
|
||||||
|
func start_action(person, object):
|
||||||
|
person.action = self
|
||||||
|
person.visible = false
|
||||||
|
set_person_pos(person)
|
||||||
|
person.set_timer(5)
|
||||||
|
|
||||||
1
Scripts/objects/pot_object.gd.uid
Normal file
1
Scripts/objects/pot_object.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://cpg631v6q60xo
|
||||||
53
Scripts/objects/shelf_object.gd
Normal file
53
Scripts/objects/shelf_object.gd
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
extends Interactable
|
||||||
|
|
||||||
|
|
||||||
|
var test: bool = false
|
||||||
|
|
||||||
|
@export var items_pos_master: Node
|
||||||
|
var item_poses: Array
|
||||||
|
|
||||||
|
|
||||||
|
func _init() -> void:
|
||||||
|
max_person_using = 1
|
||||||
|
can_store = true
|
||||||
|
build_name = "shelf"
|
||||||
|
func _ready() -> void:
|
||||||
|
self.owner = $".."
|
||||||
|
#object_placed.connect(_on_object_placed.bind(self))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func start_action(person, object):
|
||||||
|
if person.target_action == "take" or person.target_action == "eat":
|
||||||
|
give_out(person)
|
||||||
|
|
||||||
|
|
||||||
|
func give_out(person):
|
||||||
|
var pose = get_item_pose(person.target_item)
|
||||||
|
pose.remove_item()
|
||||||
|
person.hold_item(person.target_item)
|
||||||
|
stored_items.erase(person.target_item)
|
||||||
|
|
||||||
|
|
||||||
|
func add_item(item):
|
||||||
|
stored_items.append(item)
|
||||||
|
|
||||||
|
for pose in item_poses:
|
||||||
|
if pose.is_free:
|
||||||
|
print(pose)
|
||||||
|
pose.add_item(item)
|
||||||
|
break
|
||||||
|
|
||||||
|
func get_item_pose(item):
|
||||||
|
for pose in item_poses:
|
||||||
|
if pose.item == item:
|
||||||
|
return pose
|
||||||
|
return null
|
||||||
|
|
||||||
|
func create():
|
||||||
|
for pose in items_pos_master.get_children():
|
||||||
|
item_poses.append(pose)
|
||||||
|
ItemManager.add_shelf(self)
|
||||||
|
ItemManager.add_item_to_shelf(self, ItemManager.create_item(0))
|
||||||
|
ItemManager.add_item_to_shelf(self, ItemManager.create_item(0))
|
||||||
1
Scripts/objects/shelf_object.gd.uid
Normal file
1
Scripts/objects/shelf_object.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dw0nntbakhny6
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
extends CharacterBody3D
|
extends CharacterBody3D
|
||||||
|
|
||||||
|
signal item_received
|
||||||
|
|
||||||
var nav_agent: NavigationAgent3D
|
var nav_agent: NavigationAgent3D
|
||||||
|
|
||||||
var shirt_shader: ShaderMaterial
|
var shirt_shader: ShaderMaterial
|
||||||
@@ -8,31 +10,55 @@ var meshI: MeshInstance3D
|
|||||||
var start_pos: Vector3
|
var start_pos: Vector3
|
||||||
var target_object: Node3D
|
var target_object: Node3D
|
||||||
|
|
||||||
|
var is_in_action: bool
|
||||||
|
var action: Interactable
|
||||||
|
|
||||||
|
var is_target_reached: bool
|
||||||
|
|
||||||
|
var timer: Timer
|
||||||
|
|
||||||
|
var is_holding_item: bool = false
|
||||||
|
var holdingItem: Object
|
||||||
|
|
||||||
|
|
||||||
|
var target_item
|
||||||
|
|
||||||
|
var target_action: String
|
||||||
|
|
||||||
|
var is_selected: bool = false
|
||||||
|
|
||||||
func _ready() -> void:
|
func _ready() -> void:
|
||||||
nav_agent = $NavigationAgent3D
|
nav_agent = $NavigationAgent3D
|
||||||
meshI = $MeshInstance3D
|
meshI = $MeshInstance3D
|
||||||
shirt_shader = meshI.get_surface_override_material(1)
|
shirt_shader = meshI.get_surface_override_material(1)
|
||||||
|
|
||||||
BuildManager.object_added.connect(_on_object_added)
|
|
||||||
|
|
||||||
set_random_shirt()
|
set_random_shirt()
|
||||||
|
|
||||||
start_pos = global_position
|
start_pos = global_position
|
||||||
|
|
||||||
|
is_in_action = false
|
||||||
|
|
||||||
|
timer = $Timer
|
||||||
|
|
||||||
|
|
||||||
|
item_received.connect(_on_item_received)
|
||||||
#nav_agent.target_position = Vector3(-15.955,3.486,-58.942)
|
#nav_agent.target_position = Vector3(-15.955,3.486,-58.942)
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
var new_velocity = global_position.direction_to(nav_agent.get_next_path_position()) * 5.0
|
var new_velocity = global_position.direction_to(nav_agent.get_next_path_position()) * 5.0
|
||||||
|
if !is_target_reached:
|
||||||
look_at(nav_agent.target_position)
|
look_at(nav_agent.target_position)
|
||||||
velocity = new_velocity
|
velocity = new_velocity
|
||||||
move_and_slide()
|
move_and_slide()
|
||||||
|
|
||||||
func _input(event: InputEvent) -> void:
|
func _input(event: InputEvent) -> void:
|
||||||
if event.is_action_pressed("test"):
|
if event.is_action_pressed("test"):
|
||||||
set_target_position()
|
target_action = "take"
|
||||||
|
ItemManager.set_person_target_item(self, "food")
|
||||||
|
#set_target_position()
|
||||||
|
|
||||||
|
|
||||||
func _on_object_added(object):
|
|
||||||
set_target(object)
|
|
||||||
|
|
||||||
|
|
||||||
func set_random_shirt():
|
func set_random_shirt():
|
||||||
@@ -42,18 +68,78 @@ func set_random_shirt():
|
|||||||
|
|
||||||
|
|
||||||
func set_target(object):
|
func set_target(object):
|
||||||
|
|
||||||
|
#if !is_in_action and object.ActionNode.can_be_used():
|
||||||
|
if !is_in_action:
|
||||||
target_object = object
|
target_object = object
|
||||||
|
set_target_position()
|
||||||
#nav_agent.target_position = target_object.ActionNode.global_position
|
#nav_agent.target_position = target_object.ActionNode.global_position
|
||||||
func set_target_position():
|
func set_target_position():
|
||||||
var newPos = target_object.ActionNode.global_position
|
is_target_reached = false
|
||||||
|
var newPos = target_object.global_position
|
||||||
newPos.y = self.position.y
|
newPos.y = self.position.y
|
||||||
nav_agent.target_position = newPos
|
nav_agent.target_position = newPos
|
||||||
|
if target_object.name != "ActionNode":
|
||||||
|
target_object.ActionNode.area.body_entered.connect(on_target_reached)
|
||||||
|
else:
|
||||||
|
target_object.area.body_entered.connect(on_target_reached)
|
||||||
#nav_agent.target_position = start_pos
|
#nav_agent.target_position = start_pos
|
||||||
|
|
||||||
|
func on_target_reached(body):
|
||||||
func _on_navigation_agent_3d_target_reached() -> void:
|
print("I reached ")
|
||||||
|
if body == self:
|
||||||
if target_object != null:
|
if target_object != null:
|
||||||
Global.interact.emit(self, target_object.ActionNode)
|
print("I reached a target")
|
||||||
|
is_target_reached = true
|
||||||
|
nav_agent.target_position = self.global_position
|
||||||
|
Global.interact.emit(self, target_object)
|
||||||
|
func _on_navigation_agent_3d_target_reached() -> void:
|
||||||
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
func set_timer(time):
|
||||||
|
timer.wait_time = time
|
||||||
|
timer.one_shot = true
|
||||||
|
timer.start()
|
||||||
|
|
||||||
|
func _on_timer_timeout() -> void:
|
||||||
|
if action != null:
|
||||||
|
print("action stoped")
|
||||||
|
action.stop_action(self,target_object)
|
||||||
|
|
||||||
|
|
||||||
|
func hold_item(item):
|
||||||
|
is_holding_item = true
|
||||||
|
var newItem = item.duplicate()
|
||||||
|
holdingItem = newItem
|
||||||
|
holdingItem.position = Vector3(0,0.976, -0.065)
|
||||||
|
self.add_child(holdingItem)
|
||||||
|
item_received.emit()
|
||||||
|
|
||||||
|
func drop_item():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func _on_item_received():
|
||||||
|
if holdingItem != null:
|
||||||
|
if target_action == "eat" and holdingItem.name == "food":
|
||||||
|
holdingItem.use()
|
||||||
|
print("I ate it")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mouse_entered() -> void:
|
||||||
|
Global.object_over_mouse_selected_signal.emit(self)
|
||||||
|
enable_outline()
|
||||||
|
|
||||||
|
|
||||||
|
func _on_mouse_exited() -> void:
|
||||||
|
if is_selected == false:
|
||||||
|
disable_outline()
|
||||||
|
|
||||||
|
|
||||||
|
func enable_outline():
|
||||||
|
$MeshOutline.visible = true
|
||||||
|
func disable_outline():
|
||||||
|
$MeshOutline.visible = false
|
||||||
|
|||||||
67
Scripts/person_action.gd
Normal file
67
Scripts/person_action.gd
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
extends Node
|
||||||
|
|
||||||
|
func get_context_buttons():
|
||||||
|
var buttons = Array()
|
||||||
|
# go eat
|
||||||
|
var go_eat_button = Button.new()
|
||||||
|
go_eat_button.text = "Go Eat"
|
||||||
|
go_eat_button.pressed.connect(go_eat)
|
||||||
|
buttons.append(go_eat_button)
|
||||||
|
# go sleep
|
||||||
|
var go_sleep_button = Button.new()
|
||||||
|
go_sleep_button.text = "Go Sleep"
|
||||||
|
go_sleep_button.pressed.connect(go_sleep)
|
||||||
|
buttons.append(go_sleep_button)
|
||||||
|
|
||||||
|
# go cook
|
||||||
|
var go_cook_button = Button.new()
|
||||||
|
go_cook_button.text = "Go Cook"
|
||||||
|
go_cook_button.pressed.connect(go_cook)
|
||||||
|
buttons.append(go_cook_button)
|
||||||
|
return buttons
|
||||||
|
|
||||||
|
func go_eat():
|
||||||
|
print("I will go eat")
|
||||||
|
print(Global.object_selected)
|
||||||
|
var selected_person = Global.object_selected
|
||||||
|
selected_person.target_action = "eat"
|
||||||
|
var result = ItemManager.set_person_target_item(selected_person, "food")
|
||||||
|
if result == null:
|
||||||
|
print("I cant find food")
|
||||||
|
else:
|
||||||
|
print("I found food")
|
||||||
|
Global.hide_context_menu.emit()
|
||||||
|
|
||||||
|
func go_sleep():
|
||||||
|
print("I will go to sleep")
|
||||||
|
var selected_person = Global.object_selected
|
||||||
|
selected_person.target_action = "sleep"
|
||||||
|
var result = BuildManager.set_person_target_build("bed", true)
|
||||||
|
print(result)
|
||||||
|
if result != null:
|
||||||
|
selected_person.set_target(result.ActionNode)
|
||||||
|
else:
|
||||||
|
print("I cant find free bed")
|
||||||
|
|
||||||
|
func sleep(person, object, action):
|
||||||
|
person.action = action
|
||||||
|
person.timer.wait_time = 2.0
|
||||||
|
person.timer.one_shot = true
|
||||||
|
person.timer.start()
|
||||||
|
person.timer.timeout.connect(person._on_timer_timeout)
|
||||||
|
|
||||||
|
|
||||||
|
func go_cook():
|
||||||
|
print("I will go cooking")
|
||||||
|
var selected_person = Global.object_selected
|
||||||
|
var result = BuildManager.set_person_target_build("pot", true)
|
||||||
|
if result != null:
|
||||||
|
selected_person.set_target(result)
|
||||||
|
else:
|
||||||
|
print("I cant find free pot")
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
func cook(person, object):
|
||||||
|
person.set_timer(5)
|
||||||
|
|
||||||
1
Scripts/person_action.gd.uid
Normal file
1
Scripts/person_action.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://dpvx655hc86ct
|
||||||
20
Scripts/person_pos.gd
Normal file
20
Scripts/person_pos.gd
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
extends MeshInstance3D
|
||||||
|
|
||||||
|
var is_free: bool
|
||||||
|
var person: CharacterBody3D
|
||||||
|
var shirt_shader: ShaderMaterial
|
||||||
|
|
||||||
|
|
||||||
|
func _init() -> void:
|
||||||
|
is_free = true
|
||||||
|
func set_person(newPerson):
|
||||||
|
self.person = newPerson
|
||||||
|
self.shirt_shader = newPerson.shirt_shader
|
||||||
|
self.set_surface_override_material(1,self.shirt_shader)
|
||||||
|
self.visible = true
|
||||||
|
|
||||||
|
func get_person():
|
||||||
|
return person
|
||||||
|
|
||||||
|
func remove_person():
|
||||||
|
self.visible = false
|
||||||
1
Scripts/person_pos.gd.uid
Normal file
1
Scripts/person_pos.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://cstn6v7wfnwwb
|
||||||
19
Scripts/pose_item.gd
Normal file
19
Scripts/pose_item.gd
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
extends Node3D
|
||||||
|
|
||||||
|
var is_free: bool
|
||||||
|
var item
|
||||||
|
|
||||||
|
func _init() -> void:
|
||||||
|
is_free = true
|
||||||
|
|
||||||
|
func add_item(new_item):
|
||||||
|
is_free = false
|
||||||
|
item = new_item
|
||||||
|
self.add_child(item)
|
||||||
|
item.position = global_position
|
||||||
|
print("item added")
|
||||||
|
|
||||||
|
|
||||||
|
func remove_item():
|
||||||
|
is_free = true
|
||||||
|
self.remove_child(item)
|
||||||
1
Scripts/pose_item.gd.uid
Normal file
1
Scripts/pose_item.gd.uid
Normal file
@@ -0,0 +1 @@
|
|||||||
|
uid://ckrqph0jwnjcp
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
shader_type spatial;
|
shader_type spatial;
|
||||||
render_mode cull_front, unshaded;
|
render_mode cull_front, unshaded;
|
||||||
|
|
||||||
uniform bool is_active;
|
uniform bool is_active;
|
||||||
|
uniform vec3 color = vec3(0.95, 0.71, 0.01);
|
||||||
const vec3 color = vec3(0.95, 0.71, 0.01);
|
|
||||||
const float thickness = 0.1;
|
const float thickness = 0.1;
|
||||||
|
|
||||||
void vertex() {
|
void vertex() {
|
||||||
|
|||||||
@@ -19,6 +19,8 @@ config/icon="res://icon.svg"
|
|||||||
|
|
||||||
Global="*res://Scripts/global_script.gd"
|
Global="*res://Scripts/global_script.gd"
|
||||||
BuildManager="*res://Scripts/build_manager.gd"
|
BuildManager="*res://Scripts/build_manager.gd"
|
||||||
|
PersonAction="*res://Scripts/person_action.gd"
|
||||||
|
ItemManager="*res://Scripts/item_manager.gd"
|
||||||
|
|
||||||
[editor_plugins]
|
[editor_plugins]
|
||||||
|
|
||||||
@@ -57,3 +59,8 @@ test={
|
|||||||
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
|
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"location":0,"echo":false,"script":null)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
right_mouse_click={
|
||||||
|
"deadzone": 0.2,
|
||||||
|
"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":2,"position":Vector2(92, 20),"global_position":Vector2(101, 68),"factor":1.0,"button_index":2,"canceled":false,"pressed":true,"double_click":false,"script":null)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user