diff --git a/Blends/BoneTest.bin b/Blends/BoneTest.bin new file mode 100644 index 0000000..6a69004 Binary files /dev/null and b/Blends/BoneTest.bin differ diff --git a/Blends/Items/Food/Material.001.tres b/Blends/Items/Food/Material.001.tres new file mode 100644 index 0000000..2509796 --- /dev/null +++ b/Blends/Items/Food/Material.001.tres @@ -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 diff --git a/Blends/Items/Food/Material.tres b/Blends/Items/Food/Material.tres new file mode 100644 index 0000000..24ece52 --- /dev/null +++ b/Blends/Items/Food/Material.tres @@ -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 diff --git a/Blends/Items/Food/food.bin b/Blends/Items/Food/food.bin new file mode 100644 index 0000000..5fcd838 Binary files /dev/null and b/Blends/Items/Food/food.bin differ diff --git a/Blends/Items/Food/food.blend b/Blends/Items/Food/food.blend new file mode 100644 index 0000000..13af611 Binary files /dev/null and b/Blends/Items/Food/food.blend differ diff --git a/Blends/Items/Food/food.blend.import b/Blends/Items/Food/food.blend.import new file mode 100644 index 0000000..e995ef5 --- /dev/null +++ b/Blends/Items/Food/food.blend.import @@ -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 diff --git a/Blends/Items/Food/food.blend1 b/Blends/Items/Food/food.blend1 new file mode 100644 index 0000000..7d8395c Binary files /dev/null and b/Blends/Items/Food/food.blend1 differ diff --git a/Blends/Items/Food/food.gltf b/Blends/Items/Food/food.gltf new file mode 100644 index 0000000..ce69d32 --- /dev/null +++ b/Blends/Items/Food/food.gltf @@ -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" + } + ] +} diff --git a/Blends/Items/Food/food.gltf.import b/Blends/Items/Food/food.gltf.import new file mode 100644 index 0000000..4de68c6 --- /dev/null +++ b/Blends/Items/Food/food.gltf.import @@ -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 diff --git a/Scenes/Prefabs/DoubleBeds.tscn b/Scenes/Prefabs/DoubleBeds.tscn index 6f46ca5..f386b4a 100644 --- a/Scenes/Prefabs/DoubleBeds.tscn +++ b/Scenes/Prefabs/DoubleBeds.tscn @@ -19,6 +19,7 @@ shader_parameter/color = Vector3(0, 0, 0) render_priority = 0 shader = ExtResource("5_c1046") shader_parameter/is_active = false +shader_parameter/color = Vector3(0, 0, 0) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_c1046"] next_pass = SubResource("ShaderMaterial_k1k40") @@ -29,6 +30,7 @@ roughness_texture = ExtResource("4_dn7et") render_priority = 0 shader = ExtResource("5_c1046") shader_parameter/is_active = false +shader_parameter/color = Vector3(0, 0, 0) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_k1k40"] next_pass = SubResource("ShaderMaterial_tma46") @@ -38,6 +40,7 @@ albedo_texture = ExtResource("5_sp2kd") render_priority = 0 shader = ExtResource("5_c1046") shader_parameter/is_active = false +shader_parameter/color = Vector3(0, 0, 0) [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tma46"] next_pass = SubResource("ShaderMaterial_8tdb8") diff --git a/Scenes/Prefabs/Item.gd b/Scenes/Prefabs/Item.gd new file mode 100644 index 0000000..f5ffa0e --- /dev/null +++ b/Scenes/Prefabs/Item.gd @@ -0,0 +1,3 @@ +extends Node3D + +var item_name diff --git a/Scenes/Prefabs/Item.gd.uid b/Scenes/Prefabs/Item.gd.uid new file mode 100644 index 0000000..158e762 --- /dev/null +++ b/Scenes/Prefabs/Item.gd.uid @@ -0,0 +1 @@ +uid://c1ic8jloyqlnt diff --git a/Scenes/Prefabs/food_item.tscn b/Scenes/Prefabs/food_item.tscn new file mode 100644 index 0000000..33d5ae9 --- /dev/null +++ b/Scenes/Prefabs/food_item.tscn @@ -0,0 +1,12 @@ +[gd_scene load_steps=4 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://c1ic8jloyqlnt" path="res://Scenes/Prefabs/Item.gd" id="2_qhaka"] +[ext_resource type="Material" uid="uid://detpb4ww2vvsf" path="res://Blends/Items/Food/Material.tres" id="3_cemcp"] + +[node name="food" 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_qhaka") + +[node name="Cube" parent="." index="0"] +surface_material_override/0 = ExtResource("3_cemcp") diff --git a/Scripts/global_script.gd b/Scripts/global_script.gd index 2fb6169..5eeb4e7 100644 --- a/Scripts/global_script.gd +++ b/Scripts/global_script.gd @@ -1,15 +1,25 @@ extends Node3D @onready var outline_shader = preload("res://Shaders/outline.gdshader") - +@onready var food_item = preload("res://Scenes/Prefabs/food_item.tscn") @export var debugLabel1: Label signal interact(person,interact_object) func _ready() -> void: - print(outline_shader) - interact.connect(_on_interact) func _on_interact(person, object): object.ActionNode.start_action(person, object) + + +func give_item(person, item_id): + var item = get_item_form_id(item_id) + person.hold_item(item) + + + +func get_item_form_id(id): + match id: + 0: + return food_item diff --git a/Scripts/person.gd b/Scripts/person.gd index 06a01e7..094eb11 100644 --- a/Scripts/person.gd +++ b/Scripts/person.gd @@ -14,6 +14,11 @@ var action: Interactable var is_target_reached: bool var timer: Timer + +var is_holding_item: bool = false +var holdingItem: Object + + func _ready() -> void: nav_agent = $NavigationAgent3D meshI = $MeshInstance3D @@ -28,6 +33,8 @@ func _ready() -> void: is_in_action = false timer = $Timer + + Global.give_item(self, 0) #nav_agent.target_position = Vector3(-15.955,3.486,-58.942) func _physics_process(delta: float) -> void: @@ -79,3 +86,14 @@ func _on_timer_timeout() -> void: if action != null: print("action stoped") action.stop_action(self,target_object) + + +func hold_item(item): + var newItem = item.instantiate() + holdingItem = newItem + newItem.position = Vector3(0,0.976, -0.065) + self.add_child(newItem) + + +func drop_item(): + pass diff --git a/Shaders/outline.gdshader b/Shaders/outline.gdshader index 0568d3b..a587e25 100644 --- a/Shaders/outline.gdshader +++ b/Shaders/outline.gdshader @@ -1,9 +1,7 @@ shader_type spatial; render_mode cull_front, unshaded; - uniform bool is_active; - -const vec3 color = vec3(0.95, 0.71, 0.01); +uniform vec3 color = vec3(0.95, 0.71, 0.01); const float thickness = 0.1; void vertex() {