forgot to push
This commit is contained in:
@@ -1,100 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2023 Jummit
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
@tool
|
||||
@icon("destruction_icon.svg")
|
||||
class_name Destruction
|
||||
extends Node
|
||||
|
||||
## Handles destruction of the parent node.
|
||||
##
|
||||
## When [method destroy] is called, the parent node is freed and shards
|
||||
## are added to the [member shard_container].
|
||||
|
||||
## A scene of the fragmented mesh containing multiple [MeshInstance3D]s.
|
||||
@export var fragmented: PackedScene: set = set_fragmented
|
||||
## The node where created shards are added to.
|
||||
@onready @export var shard_container := get_node("../../")
|
||||
|
||||
@export_group("Animation")
|
||||
## How many seconds until the shards fade away. Set to -1 to disable fading.
|
||||
@export var fade_delay := 2.0
|
||||
## How many seconds until the shards shrink. Set to -1 to disable shrinking.
|
||||
@export var shrink_delay := 2.0
|
||||
## How long the animation lasts before the shard is removed.
|
||||
@export var animation_length := 2.0
|
||||
|
||||
@export_group("Collision")
|
||||
## The [member RigidBody3D.collision_layer] set on the created shards.
|
||||
@export_flags_3d_physics var collision_layer = 1
|
||||
## The [member RigidBody3D.collision_mask] set on the created shards.
|
||||
@export_flags_3d_physics var collision_mask = 1
|
||||
|
||||
## Cached shard meshes (instantiated from [member fragmented]).
|
||||
static var cached_meshes := {}
|
||||
## Cached collision shapes.
|
||||
static var cached_shapes := {}
|
||||
|
||||
## Remove the parent node and add shards to the shard container.
|
||||
func destroy(explosion_power := 1.0) -> void:
|
||||
if not fragmented in cached_meshes:
|
||||
cached_meshes[fragmented] = fragmented.instantiate()
|
||||
for shard_mesh in cached_meshes[fragmented].get_children():
|
||||
cached_shapes[shard_mesh] = shard_mesh.mesh.create_convex_shape()
|
||||
var original_meshes = cached_meshes[fragmented]
|
||||
for original in original_meshes.get_children():
|
||||
if original is MeshInstance3D:
|
||||
_add_shard(original, explosion_power)
|
||||
get_parent().queue_free()
|
||||
|
||||
|
||||
func _add_shard(original: MeshInstance3D, explosion_power: float) -> void:
|
||||
var body := RigidBody3D.new()
|
||||
var mesh := MeshInstance3D.new()
|
||||
var shape := CollisionShape3D.new()
|
||||
body.add_child(mesh)
|
||||
body.add_child(shape)
|
||||
shard_container.add_child(body, true)
|
||||
body.global_position = get_parent().global_transform.origin + original.position
|
||||
body.collision_layer = collision_layer
|
||||
body.collision_mask = collision_mask
|
||||
shape.shape = cached_shapes[original]
|
||||
mesh.mesh = original.mesh
|
||||
if fade_delay >= 0:
|
||||
var material = original.mesh.surface_get_material(0)
|
||||
if material is StandardMaterial3D:
|
||||
material = material.duplicate()
|
||||
material.flags_transparent = true
|
||||
get_tree().create_tween().tween_property(material, "albedo_color",
|
||||
Color(1, 1, 1, 0), animation_length)\
|
||||
.set_delay(fade_delay)\
|
||||
.set_trans(Tween.TRANS_EXPO)\
|
||||
.set_ease(Tween.EASE_OUT)
|
||||
mesh.material_override = material
|
||||
else:
|
||||
push_warning("Shard doesn't use a StandardMaterial3D, can't add transparency.")
|
||||
body.apply_impulse(_random_direction() * explosion_power,
|
||||
-original.position.normalized())
|
||||
if shrink_delay < 0 and fade_delay < 0:
|
||||
get_tree().create_timer(animation_length)\
|
||||
.timeout.connect(func(): body.queue_free())
|
||||
elif shrink_delay >= 0:
|
||||
var tween := get_tree().create_tween()
|
||||
tween.tween_property(mesh, "scale", Vector3.ZERO, animation_length)\
|
||||
.set_delay(shrink_delay)
|
||||
tween.finished.connect(func(): body.queue_free())
|
||||
|
||||
|
||||
func set_fragmented(to: PackedScene) -> void:
|
||||
fragmented = to
|
||||
if is_inside_tree():
|
||||
get_tree().node_configuration_warning_changed.emit(self)
|
||||
|
||||
|
||||
func _get_configuration_warnings() -> PackedStringArray:
|
||||
return ["No fragmented version set"] if not fragmented else []
|
||||
|
||||
|
||||
static func _random_direction() -> Vector3:
|
||||
return (Vector3(randf(), randf(), randf()) - Vector3.ONE / 2.0).normalized() * 2.0
|
@@ -1,94 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
viewBox="0 0 16 16"
|
||||
version="1.1"
|
||||
id="svg6"
|
||||
sodipodi:docname="destruction_icon.svg"
|
||||
width="16"
|
||||
height="16"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||
<metadata
|
||||
id="metadata12">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs10" />
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1131"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
inkscape:zoom="22.627417"
|
||||
inkscape:cx="11.645165"
|
||||
inkscape:cy="3.2924659"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g833"
|
||||
inkscape:snap-global="false"
|
||||
inkscape:showpageshadow="0"
|
||||
inkscape:pagecheckerboard="1"
|
||||
inkscape:deskcolor="#d1d1d1" />
|
||||
<g
|
||||
id="g833">
|
||||
<path
|
||||
style="fill:#fc7f7f;fill-opacity:1;stroke-width:0.0434868"
|
||||
d="M 6.1124514,0.21990751 5.3179785,4.9274647 7.539946,5.6402636 9.1601633,3.7724775 6.1123592,0.21993901 Z"
|
||||
id="path934"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:#fc7f7f;fill-opacity:1;stroke-width:0.0504769"
|
||||
d="M 11.609494,6.2543511 10.546935,7.2961746 11.599644,9.6605288 15.569415,8.1031384 11.609544,6.2543186 Z"
|
||||
id="path932"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:#fc7f7f;fill-opacity:1;stroke-width:0.0425204"
|
||||
d="M 0.35089167,5.7394229 3.7991292,8.9407222 5.0837143,6.8823657 4.9404114,4.9535918 0.35084477,5.7395054 Z"
|
||||
id="path928"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:#fc7f7f;fill-opacity:1;stroke-width:0.064974"
|
||||
d="M 3.9865178,9.5278182 0.84397687,15.149556 7.0836262,12.29648 6.8710224,10.228417 3.9865809,9.5279402 Z"
|
||||
id="path926"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
style="fill:#fc7f7f;fill-opacity:1;stroke-width:0.0595588"
|
||||
d="M 14.18702,0.87714727 9.6322453,3.0261429 10.097515,5.3436305 12.605668,5.5752977 14.187044,0.87722377 Z"
|
||||
id="path2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path936"
|
||||
d="M 12.202851,10.748434 9.3093393,9.4420942 8.6059995,12.371114 14.224963,15.307286 12.202739,10.748503 Z"
|
||||
style="fill:#fc7f7f;fill-opacity:1;stroke-width:0.0621997"
|
||||
sodipodi:nodetypes="cccccc" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.3 KiB |
@@ -1,37 +0,0 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://co3om28rgeos3"
|
||||
path="res://.godot/imported/destruction_icon.svg-716fc5b182e74f5a75cf299975d03542.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://addons/destruction/destruction_icon.svg"
|
||||
dest_files=["res://.godot/imported/destruction_icon.svg-716fc5b182e74f5a75cf299975d03542.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
svg/scale=1.0
|
||||
editor/scale_with_editor_scale=false
|
||||
editor/convert_colors_with_editor_theme=false
|
@@ -1,4 +0,0 @@
|
||||
SPDX-FileCopyrightText: 2023 Jummit
|
||||
SPDX-FileContributor: Jummit
|
||||
|
||||
SPDX-License-Identifier: CC0-1.0
|
@@ -1,4 +0,0 @@
|
||||
SPDX-FileCopyrightText: 2023 Jummit
|
||||
SPDX-FileContributor: Jummit
|
||||
|
||||
SPDX-License-Identifier: CC0-1.0
|
@@ -1,11 +0,0 @@
|
||||
; SPDX-FileCopyrightText: 2023 Jummit
|
||||
;
|
||||
; SPDX-License-Identifier: MIT
|
||||
|
||||
[plugin]
|
||||
|
||||
name="Destruction"
|
||||
description="Destroy 3D objects."
|
||||
author="Jummit"
|
||||
version="7.0"
|
||||
script="plugin.gd"
|
@@ -1,6 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2023 Jummit
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
@tool
|
||||
extends EditorPlugin
|
@@ -1,3 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2023 Jummit
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
1981
assets/models/keyboard_mouse.obj
Normal file
1981
assets/models/keyboard_mouse.obj
Normal file
File diff suppressed because it is too large
Load Diff
22
assets/models/keyboard_mouse.obj.import
Normal file
22
assets/models/keyboard_mouse.obj.import
Normal file
@@ -0,0 +1,22 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://b63yl40nfg4hi"
|
||||
path="res://.godot/imported/keyboard_mouse.obj-fdbbdcdc348338479c3d3ddec20b4703.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/keyboard_mouse.obj-fdbbdcdc348338479c3d3ddec20b4703.mesh"]
|
||||
|
||||
source_file="res://assets/models/keyboard_mouse.obj"
|
||||
dest_files=["res://.godot/imported/keyboard_mouse.obj-fdbbdcdc348338479c3d3ddec20b4703.mesh", "res://.godot/imported/keyboard_mouse.obj-fdbbdcdc348338479c3d3ddec20b4703.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
optimize_mesh=true
|
||||
force_disable_mesh_compression=false
|
@@ -10,3 +10,13 @@ Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
||||
newmtl Screen
|
||||
Ns 250.000000
|
||||
Ka 1.000000 1.000000 1.000000
|
||||
Kd 0.800000 0.800000 0.800000
|
||||
Ks 0.500000 0.500000 0.500000
|
||||
Ke 0.000000 0.000000 0.000000
|
||||
Ni 1.450000
|
||||
d 1.000000
|
||||
illum 2
|
||||
|
1786
assets/models/screen.obj
Normal file
1786
assets/models/screen.obj
Normal file
File diff suppressed because it is too large
Load Diff
22
assets/models/screen.obj.import
Normal file
22
assets/models/screen.obj.import
Normal file
@@ -0,0 +1,22 @@
|
||||
[remap]
|
||||
|
||||
importer="wavefront_obj"
|
||||
importer_version=1
|
||||
type="Mesh"
|
||||
uid="uid://5jmm7tn60qa4"
|
||||
path="res://.godot/imported/screen.obj-324b93289a753e94cfd34f91ddb5533c.mesh"
|
||||
|
||||
[deps]
|
||||
|
||||
files=["res://.godot/imported/screen.obj-324b93289a753e94cfd34f91ddb5533c.mesh"]
|
||||
|
||||
source_file="res://assets/models/screen.obj"
|
||||
dest_files=["res://.godot/imported/screen.obj-324b93289a753e94cfd34f91ddb5533c.mesh", "res://.godot/imported/screen.obj-324b93289a753e94cfd34f91ddb5533c.mesh"]
|
||||
|
||||
[params]
|
||||
|
||||
generate_tangents=true
|
||||
scale_mesh=Vector3(1, 1, 1)
|
||||
offset_mesh=Vector3(0, 0, 0)
|
||||
optimize_mesh=true
|
||||
force_disable_mesh_compression=false
|
@@ -38,7 +38,6 @@ enabled=PackedStringArray("res://addons/destruction/plugin.cfg")
|
||||
[file_customization]
|
||||
|
||||
folder_colors={
|
||||
"res://addons/": "purple",
|
||||
"res://assets/": "pink",
|
||||
"res://assets/models/": "pink",
|
||||
"res://resources/": "yellow",
|
||||
|
@@ -7,7 +7,7 @@
|
||||
[ext_resource type="PackedScene" uid="uid://22blfybi6n4q" path="res://scenes/objects/completion_counter.tscn" id="12_vn8j0"]
|
||||
[ext_resource type="PackedScene" uid="uid://cy0x2nliyw8gw" path="res://scenes/objects/door.tscn" id="13_fhdru"]
|
||||
[ext_resource type="PackedScene" uid="uid://dqy8bqf1chm8c" path="res://scenes/objects/interactables/button_stand.tscn" id="14_mpdbg"]
|
||||
[ext_resource type="PackedScene" uid="uid://ced2w03t8er5k" path="res://scenes/objects/cube.tscn" id="15_40os8"]
|
||||
[ext_resource type="PackedScene" uid="uid://ced2w03t8er5k" path="res://scenes/objects/physics_objects/cube.tscn" id="15_40os8"]
|
||||
[ext_resource type="AudioStream" uid="uid://cgvbxwsnkbs43" path="res://assets/audio/voicelines/anouncer_lvl1_01.ogg" id="15_b0jr0"]
|
||||
[ext_resource type="PackedScene" uid="uid://ce8nemacxi67m" path="res://scenes/audio_subtitle_system.tscn" id="16_2wrmg"]
|
||||
[ext_resource type="AudioStream" uid="uid://bflyad1e0la3d" path="res://assets/audio/voicelines/anouncer_lvl1_02.ogg" id="16_ova7a"]
|
||||
|
@@ -1,9 +1,12 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://c17x7kmjmqdk3"]
|
||||
[gd_scene load_steps=8 format=3 uid="uid://c17x7kmjmqdk3"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://ddwkhfly2xyyt" path="res://assets/models/interior.obj" id="1_yhnvx"]
|
||||
[ext_resource type="Material" uid="uid://bg5hb1744y4ik" path="res://assets/textures/material/planks/planks.material" id="2_58abf"]
|
||||
[ext_resource type="Material" uid="uid://du8w0x0kmgjui" path="res://assets/textures/material/bricks/bricks.tres" id="3_dimow"]
|
||||
[ext_resource type="PackedScene" uid="uid://gg5ph541e4p3" path="res://scenes/player.tscn" id="4_s0xrk"]
|
||||
[ext_resource type="PackedScene" uid="uid://bk4h14lkwp04a" path="res://scenes/objects/furniture/desk.tscn" id="5_u4bki"]
|
||||
[ext_resource type="PackedScene" uid="uid://ced2w03t8er5k" path="res://scenes/objects/physics_objects/cube.tscn" id="6_ndtyp"]
|
||||
[ext_resource type="PackedScene" uid="uid://y7mgnooudpqv" path="res://scenes/objects/physics_objects/vent.tscn" id="7_r3yjb"]
|
||||
|
||||
[node name="LVL1" type="Node3D"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1)
|
||||
@@ -28,4 +31,13 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 5.23956)
|
||||
[node name="Camera3D" type="Camera3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 0.965926, 0.258819, 0, -0.258819, 0.965926, 0, 3, 6)
|
||||
|
||||
[node name="Desk" parent="." instance=ExtResource("5_u4bki")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 4.64074, 1, 0)
|
||||
|
||||
[node name="Cube" parent="." instance=ExtResource("6_ndtyp")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.920002, 0.15612, 1.95953)
|
||||
|
||||
[node name="Vent" parent="." instance=ExtResource("7_r3yjb")]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.54621, 2.315, -3.06745)
|
||||
|
||||
[editable path="interior"]
|
||||
|
60
scenes/objects/furniture/desk.tscn
Normal file
60
scenes/objects/furniture/desk.tscn
Normal file
@@ -0,0 +1,60 @@
|
||||
[gd_scene load_steps=10 format=3 uid="uid://bk4h14lkwp04a"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://xeg8cain6roo" path="res://assets/models/desk.obj" id="1_wrfg2"]
|
||||
[ext_resource type="Material" uid="uid://cxjgare3kcbtl" path="res://assets/materials/dark_metal2.material" id="2_blvey"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_rff84"]
|
||||
rough = true
|
||||
bounce = 0.1
|
||||
absorbent = true
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_pe3pe"]
|
||||
points = PackedVector3Array(-0.948967, -0.0715381, -1.97243, -0.157877, 0.0696791, 1.98273, -0.157237, -0.0720123, 1.98572, -0.996468, -0.0424462, 1.90316, -0.151093, 0.128383, -1.92802, -0.928025, 0.128383, 1.92802, -0.167725, -0.0979304, -1.93677, -0.928025, 0.128383, -1.92802, -0.950125, -0.128314, 1.92212, -0.950134, -0.128317, -1.92216, -0.162645, -0.0991153, 1.93246, -0.161295, 0.0972037, 1.93867, -0.985687, 0.0660271, -1.85357, -0.784114, -0.13061, 1.95681, -0.784114, -0.13061, -1.95681, -0.996468, -0.0424462, -1.90316, -0.973444, 0.0686439, 1.95374, -0.157864, 0.0696812, -1.98279, -0.985687, 0.0660271, 1.85357, -0.948957, -0.0715362, 1.97238, -0.973453, 0.0686455, -1.95378)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_whyvt"]
|
||||
points = PackedVector3Array(-0.142051, 0.0696812, -1.98279, 0.982715, 0.0686545, 1.92611, 0.958948, 0.0692088, 1.96956, 0.769773, -0.13061, 1.95681, 0.951517, -0.125967, -1.88666, -0.128268, -0.097819, 1.93455, 0.942383, 0.128383, -1.92802, -0.137477, 0.0972037, 1.93867, -0.128284, -0.0978218, -1.9346, -0.151079, 0.128383, -1.92802, 0.942383, 0.128383, 1.92802, 0.951517, -0.125967, 1.88666, 0.769773, -0.13061, -1.95681, 0.981495, -0.0707288, -1.9219, -0.142034, 0.0696791, 1.98273, 0.982722, 0.0686554, -1.92613, 0.981488, -0.0707278, 1.92188, 0.958962, 0.0692106, -1.96961, 0.958561, -0.0713845, -1.96813, 0.958547, -0.0713827, 1.96808)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_siwjc"]
|
||||
points = PackedVector3Array(-0.810881, -0.100008, -1.75176, -0.930126, -0.100008, -1.75176, -0.962587, -0.074046, -1.96355, -0.779895, -0.0885504, -1.96182, -0.784173, -1.77078, -1.78418, -0.956835, -1.77078, -1.78418, -0.812955, -1.79953, -1.95683, -0.841738, -1.74203, -1.7554, -0.956835, -1.79953, -1.92805, -0.960995, -0.0896945, -1.78072, -0.781061, -0.100008, -1.78159, -0.784173, -1.79953, -1.92805, -0.928052, -1.79953, -1.95683, -0.899269, -1.74203, -1.7554, -0.928052, -1.79953, -1.78418)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_7t873"]
|
||||
points = PackedVector3Array(-0.779892, -0.0885187, 1.96183, -0.962594, -0.0739739, 1.96355, -0.930126, -0.100008, 1.75176, -0.784173, -1.77078, 1.78418, -0.956835, -1.77078, 1.78418, -0.812955, -1.79953, 1.95683, -0.781061, -0.100008, 1.78159, -0.956835, -1.79953, 1.92805, -0.841738, -1.74203, 1.7554, -0.960995, -0.089694, 1.78072, -0.810881, -0.100008, 1.75176, -0.784173, -1.79953, 1.92805, -0.928052, -1.79953, 1.95683, -0.899269, -1.74203, 1.7554, -0.812955, -1.79953, 1.78418)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_c3yul"]
|
||||
points = PackedVector3Array(0.94501, -0.100008, -1.75176, 0.795997, -0.100008, -1.75176, 0.764835, -0.0887182, -1.9618, 0.971203, -0.13061, -1.95683, 0.942418, -1.79953, -1.78418, 0.769804, -1.77078, -1.81295, 0.942418, -1.77078, -1.95683, 0.85614, -1.74203, -1.7554, 0.798589, -1.77078, -1.95683, 0.971203, -1.77078, -1.81295, 0.977643, -0.0763209, -1.77958, 0.766174, -0.100008, -1.78159, 0.971203, -1.77078, -1.92805, 0.769804, -1.77078, -1.92805, 0.798589, -1.79953, -1.78418, 0.913652, -1.79953, -1.95683)
|
||||
|
||||
[sub_resource type="ConvexPolygonShape3D" id="ConvexPolygonShape3D_vq4oj"]
|
||||
points = PackedVector3Array(0.971203, -0.13061, 1.95683, 0.764831, -0.0886864, 1.96181, 0.795997, -0.100008, 1.75176, 0.971203, -1.77078, 1.81295, 0.942418, -1.77078, 1.95683, 0.977643, -0.0763203, 1.77958, 0.769804, -1.77078, 1.92805, 0.85614, -1.74203, 1.7554, 0.769804, -1.77078, 1.81295, 0.94501, -0.100008, 1.75176, 0.766174, -0.100008, 1.78159, 0.827355, -1.79953, 1.95683, 0.971203, -1.77078, 1.92805, 0.942418, -1.79953, 1.78418, 0.798589, -1.79953, 1.78418)
|
||||
|
||||
[node name="Desk" type="StaticBody3D"]
|
||||
collision_priority = 2.0
|
||||
physics_material_override = SubResource("PhysicsMaterial_rff84")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0)
|
||||
mesh = ExtResource("1_wrfg2")
|
||||
surface_material_override/0 = ExtResource("2_blvey")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0)
|
||||
shape = SubResource("ConvexPolygonShape3D_pe3pe")
|
||||
|
||||
[node name="CollisionShape3D2" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0)
|
||||
shape = SubResource("ConvexPolygonShape3D_whyvt")
|
||||
|
||||
[node name="CollisionShape3D3" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0)
|
||||
shape = SubResource("ConvexPolygonShape3D_siwjc")
|
||||
|
||||
[node name="CollisionShape3D4" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0)
|
||||
shape = SubResource("ConvexPolygonShape3D_7t873")
|
||||
|
||||
[node name="CollisionShape3D5" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0)
|
||||
shape = SubResource("ConvexPolygonShape3D_c3yul")
|
||||
|
||||
[node name="CollisionShape3D6" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0)
|
||||
shape = SubResource("ConvexPolygonShape3D_vq4oj")
|
25
scenes/objects/furniture/wall_holder.tscn
Normal file
25
scenes/objects/furniture/wall_holder.tscn
Normal file
@@ -0,0 +1,25 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://n2fxmsp27rfs"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://dqymak6wgq3bb" path="res://assets/models/wall_holder.obj" id="1_lp6sm"]
|
||||
[ext_resource type="Material" uid="uid://cxjgare3kcbtl" path="res://assets/materials/dark_metal2.material" id="2_l0awx"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_rff84"]
|
||||
rough = true
|
||||
bounce = 0.1
|
||||
absorbent = true
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_m4ear"]
|
||||
size = Vector3(0.1, 0.1, 0.276709)
|
||||
|
||||
[node name="Desk" type="StaticBody3D"]
|
||||
collision_priority = 2.0
|
||||
physics_material_override = SubResource("PhysicsMaterial_rff84")
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(0.7, 0, 0, 0, 0.7, 0, 0, 0, 0.7, 0, 0, 0)
|
||||
mesh = ExtResource("1_lp6sm")
|
||||
surface_material_override/0 = ExtResource("2_l0awx")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0.132642)
|
||||
shape = SubResource("BoxShape3D_m4ear")
|
30
scenes/objects/physics_objects/computer_screen.tscn
Normal file
30
scenes/objects/physics_objects/computer_screen.tscn
Normal file
@@ -0,0 +1,30 @@
|
||||
[gd_scene load_steps=6 format=3 uid="uid://ryumwinqbqgr"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://5jmm7tn60qa4" path="res://assets/models/screen.obj" id="1_561hv"]
|
||||
[ext_resource type="Material" uid="uid://c8bic1or51fbf" path="res://assets/materials/old_plastic.material" id="2_r7j4a"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_rff84"]
|
||||
rough = true
|
||||
bounce = 0.1
|
||||
absorbent = true
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_vbaul"]
|
||||
albedo_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_bsmvc"]
|
||||
size = Vector3(0.894531, 1.15163, 1.1)
|
||||
|
||||
[node name="ComputerScreen" type="RigidBody3D" groups=["pushables"]]
|
||||
collision_priority = 2.0
|
||||
mass = 1.5
|
||||
physics_material_override = SubResource("PhysicsMaterial_rff84")
|
||||
continuous_cd = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = ExtResource("1_561hv")
|
||||
surface_material_override/0 = ExtResource("2_r7j4a")
|
||||
surface_material_override/1 = SubResource("StandardMaterial3D_vbaul")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.00273436, -0.0842743, 0)
|
||||
shape = SubResource("BoxShape3D_bsmvc")
|
27
scenes/objects/physics_objects/keyboard_mouse.tscn
Normal file
27
scenes/objects/physics_objects/keyboard_mouse.tscn
Normal file
@@ -0,0 +1,27 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://jtb3abokylwq"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://b63yl40nfg4hi" path="res://assets/models/keyboard_mouse.obj" id="1_rgwan"]
|
||||
[ext_resource type="Material" uid="uid://c8bic1or51fbf" path="res://assets/materials/old_plastic.material" id="2_gdlfn"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_rff84"]
|
||||
rough = true
|
||||
bounce = 0.1
|
||||
absorbent = true
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_bsmvc"]
|
||||
size = Vector3(0.276, 0.04, 0.7)
|
||||
|
||||
[node name="Cube" type="RigidBody3D" groups=["pushables"]]
|
||||
collision_priority = 2.0
|
||||
mass = 1.5
|
||||
physics_material_override = SubResource("PhysicsMaterial_rff84")
|
||||
continuous_cd = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
mesh = ExtResource("1_rgwan")
|
||||
surface_material_override/0 = ExtResource("2_gdlfn")
|
||||
surface_material_override/1 = ExtResource("2_gdlfn")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.000107422, 0.0221525, -0.0528177)
|
||||
shape = SubResource("BoxShape3D_bsmvc")
|
33
scenes/objects/physics_objects/security_cam.tscn
Normal file
33
scenes/objects/physics_objects/security_cam.tscn
Normal file
@@ -0,0 +1,33 @@
|
||||
[gd_scene load_steps=7 format=3 uid="uid://bg2t4r1vey0pg"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://0w3r7ayg26vy" path="res://assets/models/security_cam.obj" id="1_23hxs"]
|
||||
[ext_resource type="Material" uid="uid://canvgrlphqagw" path="res://assets/materials/light_metal.material" id="2_7sdra"]
|
||||
[ext_resource type="Material" uid="uid://cxjgare3kcbtl" path="res://assets/materials/dark_metal2.material" id="3_2tsoq"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_rff84"]
|
||||
rough = true
|
||||
bounce = 0.1
|
||||
absorbent = true
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_qn8tl"]
|
||||
albedo_color = Color(0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_bsmvc"]
|
||||
size = Vector3(0.773401, 0.417932, 0.4)
|
||||
|
||||
[node name="Cube" type="RigidBody3D" groups=["pushables"]]
|
||||
collision_priority = 2.0
|
||||
mass = 1.5
|
||||
physics_material_override = SubResource("PhysicsMaterial_rff84")
|
||||
continuous_cd = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0, 0)
|
||||
mesh = ExtResource("1_23hxs")
|
||||
surface_material_override/0 = ExtResource("2_7sdra")
|
||||
surface_material_override/1 = ExtResource("3_2tsoq")
|
||||
surface_material_override/2 = SubResource("StandardMaterial3D_qn8tl")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.164203, 0.0343201, 0)
|
||||
shape = SubResource("BoxShape3D_bsmvc")
|
27
scenes/objects/physics_objects/vent.tscn
Normal file
27
scenes/objects/physics_objects/vent.tscn
Normal file
@@ -0,0 +1,27 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://y7mgnooudpqv"]
|
||||
|
||||
[ext_resource type="ArrayMesh" uid="uid://chtnprm8pe33p" path="res://assets/models/vent.obj" id="1_eu8db"]
|
||||
[ext_resource type="Material" uid="uid://ctadhqfpd0j5u" path="res://assets/textures/material/metal/metal.material" id="2_dsp1h"]
|
||||
|
||||
[sub_resource type="PhysicsMaterial" id="PhysicsMaterial_rff84"]
|
||||
rough = true
|
||||
bounce = 0.1
|
||||
absorbent = true
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_bsmvc"]
|
||||
size = Vector3(0.05, 0.65, 0.8)
|
||||
|
||||
[node name="Vent" type="RigidBody3D" groups=["pushables"]]
|
||||
collision_priority = 2.0
|
||||
mass = 1.5
|
||||
physics_material_override = SubResource("PhysicsMaterial_rff84")
|
||||
freeze = true
|
||||
continuous_cd = true
|
||||
|
||||
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
|
||||
transform = Transform3D(0.4, 0, 0, 0, 0.4, 0, 0, 0, 0.4, 0, 0, 0)
|
||||
mesh = ExtResource("1_eu8db")
|
||||
surface_material_override/0 = ExtResource("2_dsp1h")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="."]
|
||||
shape = SubResource("BoxShape3D_bsmvc")
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user