created particle system to indicate missing objects
This commit is contained in:
parent
d328bfcc15
commit
6c3260eaf1
|
|
@ -0,0 +1,166 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="64"
|
||||
height="64"
|
||||
viewBox="0 0 16.933333 16.933333"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:export-filename="../src/vfx/lens-flare-particle.png"
|
||||
inkscape:export-xdpi="192"
|
||||
inkscape:export-ydpi="192"
|
||||
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
|
||||
sodipodi:docname="particles.svg"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="px"
|
||||
showgrid="false"
|
||||
inkscape:zoom="3.0930415"
|
||||
inkscape:cx="1.9398382"
|
||||
inkscape:cy="-10.022497"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1021"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="1080"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1" /><defs
|
||||
id="defs2"><linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient7377"><stop
|
||||
style="stop-color:#fff79f;stop-opacity:0.21692616;"
|
||||
offset="0.18922633"
|
||||
id="stop7375" /><stop
|
||||
style="stop-color:#fff7a0;stop-opacity:0.49803922;"
|
||||
offset="0.48193598"
|
||||
id="stop8107" /><stop
|
||||
style="stop-color:#fffbcc;stop-opacity:1;"
|
||||
offset="0.87896519"
|
||||
id="stop7373" /></linearGradient><linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient7233"><stop
|
||||
style="stop-color:#363636;stop-opacity:1;"
|
||||
offset="0.32237965"
|
||||
id="stop7229" /><stop
|
||||
style="stop-color:#292929;stop-opacity:1;"
|
||||
offset="0.6226669"
|
||||
id="stop7239" /><stop
|
||||
style="stop-color:#404040;stop-opacity:1;"
|
||||
offset="0.84544945"
|
||||
id="stop7237" /><stop
|
||||
style="stop-color:#979797;stop-opacity:1;"
|
||||
offset="1"
|
||||
id="stop7231" /></linearGradient><filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter931"
|
||||
x="-0.065825355"
|
||||
y="-0.065825355"
|
||||
width="1.1316507"
|
||||
height="1.1316507"><feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.1819462"
|
||||
id="feGaussianBlur933" /></filter><radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7233"
|
||||
id="radialGradient7235"
|
||||
cx="4.406745"
|
||||
cy="4.3837647"
|
||||
fx="4.406745"
|
||||
fy="4.3837647"
|
||||
r="3.9771333"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0847616,-0.0107064,0.01100863,1.1153829,-0.40763855,-0.43349)" /><filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter7295"
|
||||
x="-0.83648336"
|
||||
y="-0.83648336"
|
||||
width="2.6729667"
|
||||
height="2.6729667"><feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.44240133"
|
||||
id="feGaussianBlur7297" /></filter><filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter7369"
|
||||
x="-0.086934497"
|
||||
y="-0.086934497"
|
||||
width="1.173869"
|
||||
height="1.173869"><feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.092016841"
|
||||
id="feGaussianBlur7371" /></filter><radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient7377"
|
||||
id="radialGradient7379"
|
||||
cx="5.2188611"
|
||||
cy="14.302224"
|
||||
fx="5.2188611"
|
||||
fy="14.302224"
|
||||
r="1.6604936"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.3638654,-0.05949294,0.05213108,2.9476082,-12.417147,-26.548531)" /><filter
|
||||
inkscape:collect="always"
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter8892"
|
||||
x="-0.56434684"
|
||||
y="-0.56434684"
|
||||
width="2.1286937"
|
||||
height="2.1286937"><feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.12744467"
|
||||
id="feGaussianBlur8894" /></filter></defs><g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"><circle
|
||||
style="mix-blend-mode:normal;fill:url(#radialGradient7235);fill-opacity:1;stroke:#b6b4af;stroke-width:0.13229166;stroke-linecap:round;paint-order:stroke fill markers;filter:url(#filter931);stroke-opacity:1;stroke-dasharray:none"
|
||||
id="path234"
|
||||
cx="4.2698331"
|
||||
cy="4.1531682"
|
||||
r="3.819324" /><circle
|
||||
style="fill:#3555ff;fill-opacity:1;stroke:none;stroke-width:0.041036;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter7295);opacity:0.82328843"
|
||||
id="circle7303"
|
||||
cx="12.366085"
|
||||
cy="4.0699735"
|
||||
r="0.63465887"
|
||||
transform="matrix(3.2237976,0,0,3.2237976,-27.49967,-9.0507969)" /><circle
|
||||
style="fill:#3555ff;fill-opacity:1;stroke:none;stroke-width:0.132292;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter7295);opacity:0.82328843"
|
||||
id="path7293"
|
||||
cx="12.366085"
|
||||
cy="4.0699735"
|
||||
r="0.63465887" /><circle
|
||||
style="fill:#3555ff;fill-opacity:1;stroke:none;stroke-width:0.2873;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter7295);opacity:0.82328843"
|
||||
id="circle7299"
|
||||
cx="12.366085"
|
||||
cy="4.0699735"
|
||||
r="0.63465887"
|
||||
transform="matrix(0.46046649,0,0,0.46046649,7.0990396,2.84889)" /><circle
|
||||
style="fill:#3555ff;fill-opacity:1;stroke:none;stroke-width:0.2873;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers;filter:url(#filter7295);opacity:0.82328843"
|
||||
id="circle7305"
|
||||
cx="12.366085"
|
||||
cy="4.0699735"
|
||||
r="0.63465887"
|
||||
transform="matrix(0.46046649,0,0,0.46046649,6.2531741,1.5181498)" /><circle
|
||||
style="fill:url(#radialGradient7379);fill-opacity:1;stroke:#b69748;stroke-width:0.132292;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:0.997401;paint-order:normal;filter:url(#filter7369);opacity:0.69204618"
|
||||
id="path7367"
|
||||
cx="4.5794258"
|
||||
cy="13.321833"
|
||||
r="1.6505899" /><circle
|
||||
style="fill:#ff9955;fill-opacity:1;stroke:#b69748;stroke-width:0.132292;stroke-linecap:round;stroke-dasharray:none;stroke-opacity:0.997401;paint-order:normal;filter:url(#filter8892)"
|
||||
id="path8890"
|
||||
cx="12.415071"
|
||||
cy="13.301882"
|
||||
r="0.32959625" /></g></svg>
|
||||
|
After Width: | Height: | Size: 6.7 KiB |
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=34 format=3 uid="uid://b3b0gyvklqn50"]
|
||||
[gd_scene load_steps=41 format=3 uid="uid://b3b0gyvklqn50"]
|
||||
|
||||
[ext_resource type="Script" path="res://base-environments/youth_room/room_handle.gd" id="1_aitp0"]
|
||||
[ext_resource type="PackedScene" uid="uid://c0i4ydmxtxfho" path="res://base-environments/youth_room/import/youth_room.glb" id="1_jf3oi"]
|
||||
|
|
@ -472,6 +472,44 @@ viewport_path = NodePath("Collectable/Collectable_ui/Sprite3D/SubViewport")
|
|||
radius = 0.342951
|
||||
height = 1.08154
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_f1g8m"]
|
||||
radius = 0.156739
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_kewqg"]
|
||||
radius = 0.787239
|
||||
height = 3.19663
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_k4x40"]
|
||||
radius = 1.0352
|
||||
height = 2.55391
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_4q8vc"]
|
||||
radius = 1.14469
|
||||
height = 3.78697
|
||||
|
||||
[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_n20ff"]
|
||||
radius = 1.73984
|
||||
height = 5.43669
|
||||
|
||||
[sub_resource type="GDScript" id="GDScript_uyt24"]
|
||||
script/source = "extends StaticBody3D
|
||||
var risen:bool = false
|
||||
var start_position:Vector3 = position
|
||||
|
||||
func raise(_discard):
|
||||
if not risen:
|
||||
var raiser = create_tween()
|
||||
raiser.tween_property(self, \"position\", position + Vector3(0,1.1,0), 1)
|
||||
risen = true
|
||||
|
||||
func reset(_discard):
|
||||
risen = false
|
||||
position = start_position
|
||||
"
|
||||
|
||||
[sub_resource type="BoxShape3D" id="BoxShape3D_gim5a"]
|
||||
size = Vector3(1, 0.305693, 0.775269)
|
||||
|
||||
[node name="youth room" type="Node3D"]
|
||||
script = ExtResource("1_aitp0")
|
||||
|
||||
|
|
@ -540,13 +578,89 @@ shadow_enabled = true
|
|||
spot_angle = 42.8718
|
||||
script = SubResource("GDScript_xqa3d")
|
||||
|
||||
[node name="CSGCombiner3D" type="CSGCombiner3D" parent="."]
|
||||
[node name="Blockout" type="CSGCombiner3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.811571, 0, 0)
|
||||
visible = false
|
||||
use_collision = true
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="CSGCombiner3D"]
|
||||
[node name="Floor" type="CSGBox3D" parent="Blockout"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.931684, -0.12195, 0.721855)
|
||||
size = Vector3(5.75304, 0.238875, 4.229)
|
||||
|
||||
[node name="Wall1" type="CSGBox3D" parent="Blockout/Floor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.09251, 1.18903, 2.10151)
|
||||
size = Vector3(2.02493, 2.13981, 1)
|
||||
|
||||
[node name="Wall2" type="CSGBox3D" parent="Blockout/Floor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2.12438, 1.18903, 2.10151)
|
||||
size = Vector3(1.11794, 2.13981, 1)
|
||||
|
||||
[node name="Wall3" type="CSGBox3D" parent="Blockout/Floor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.692784, 1.18903, 2.51779)
|
||||
size = Vector3(1.97467, 2.13981, 1)
|
||||
|
||||
[node name="Wall4" type="CSGBox3D" parent="Blockout/Floor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0505961, 1.18903, -2.27114)
|
||||
size = Vector3(5.49963, 2.13981, 1)
|
||||
|
||||
[node name="Wall5" type="CSGBox3D" parent="Blockout/Floor"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 2.41253, 1.18903, 1.10946)
|
||||
size = Vector3(2.02493, 2.13981, 1)
|
||||
|
||||
[node name="Wall6" type="CSGBox3D" parent="Blockout/Floor"]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 1.69649, 1.62974, -0.736064)
|
||||
size = Vector3(2.02493, 1.06586, 1)
|
||||
|
||||
[node name="Wall7" type="CSGBox3D" parent="Blockout/Floor"]
|
||||
transform = Transform3D(-6.06896e-08, 0, 1, 0, 1, 0, -1.38842, 0, -4.37114e-08, 2.94248, 0.554825, -0.893607)
|
||||
size = Vector3(2.02493, 1.06586, 1)
|
||||
|
||||
[node name="Pillar" type="CSGBox3D" parent="Blockout/Floor"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.340459, 1.18903, 0.542746)
|
||||
size = Vector3(0.25896, 2.51771, 0.244169)
|
||||
|
||||
[node name="wardrobe" type="CSGBox3D" parent="Blockout"]
|
||||
transform = Transform3D(0.998323, 0, -0.0578951, 0, 1, 0, 0.0578951, 0, 0.998323, -1.65267, 1.06708, -0.295834)
|
||||
size = Vector3(0.690756, 2.51771, 1.74006)
|
||||
|
||||
[node name="desk" type="CSGBox3D" parent="Blockout"]
|
||||
transform = Transform3D(1.1474, 0, 0, 0, 1, 0, 0, 0, 1, -1.33503, 0.250741, 1.47367)
|
||||
size = Vector3(0.690756, 1.04931, 1.74006)
|
||||
|
||||
[node name="beanBag1" type="CSGSphere3D" parent="Blockout"]
|
||||
transform = Transform3D(0.930761, 0, 0, 0, 0.811193, 0, 0, 0, 0.811193, -0.693896, 0.11103, 2.36695)
|
||||
|
||||
[node name="beanBag2" type="CSGSphere3D" parent="Blockout"]
|
||||
transform = Transform3D(0.930761, 0, 0, 0, 0.811193, 0, 0, 0, 0.811193, 1.4977, 0.222592, 0.667055)
|
||||
radius = 0.442542
|
||||
|
||||
[node name="shelf" type="CSGBox3D" parent="Blockout"]
|
||||
transform = Transform3D(1.50675, 0, 0.113429, 0, 1.21197, 0, -0.0247126, 0, 1.59021, 1.22435, 0.523912, -0.31202)
|
||||
size = Vector3(0.334722, 1, 1)
|
||||
|
||||
[node name="shelf2" type="CSGBox3D" parent="Blockout"]
|
||||
transform = Transform3D(1.51977, 0, -0.268689, 0, 1.21197, 0, 0.299637, 0, 1.90867, 2.65587, 0.308069, 1.91858)
|
||||
size = Vector3(0.334722, 1, 0.709023)
|
||||
|
||||
[node name="bed" type="CSGBox3D" parent="Blockout"]
|
||||
transform = Transform3D(3.88154, 0, 0.183517, 0, 1.21197, 0, -0.063662, 0, 2.5728, 2.04986, 0.939937, -0.31202)
|
||||
size = Vector3(0.334722, 0.208577, 1)
|
||||
|
||||
[node name="seat" type="CSGBox3D" parent="Blockout"]
|
||||
transform = Transform3D(1.37974, 0, -0.560171, 0, 0.811194, 0, 0.605992, 0, 1.4926, 0.581465, 0.266536, -0.762094)
|
||||
size = Vector3(0.548618, 1, 0.313878)
|
||||
|
||||
[node name="CSGBox3D2" type="CSGBox3D" parent="Blockout/seat"]
|
||||
transform = Transform3D(1, 0, 2.98023e-08, 0, 1, 0, -3.27826e-07, 0, 0.999999, 0.0905743, -0.552749, 0.233639)
|
||||
size = Vector3(0.447724, 1, 0.329058)
|
||||
|
||||
[node name="CSGSphere3D" type="CSGSphere3D" parent="Blockout/seat"]
|
||||
transform = Transform3D(1, 0, 5.96046e-08, 0, 1.34598, 0, -6.55651e-07, 0, 0.999999, 0.0164497, -0.711718, 0.294858)
|
||||
|
||||
[node name="ladder" type="CSGBox3D" parent="Blockout"]
|
||||
transform = Transform3D(0.629683, 0.289502, 0, -0.297919, 0.611894, 0, 0, 0, 1.8813, 1.23808, 0.491789, 0.746785)
|
||||
size = Vector3(0.180483, 1.62661, 0.160638)
|
||||
|
||||
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
|
||||
transform = Transform3D(-0.477862, -0.663484, 0.575705, -0.860239, 0.220753, -0.459626, 0.177866, -0.714882, -0.676245, 3.15688, 0.480778, 0.0648447)
|
||||
light_size = 0.1
|
||||
|
|
@ -559,7 +673,7 @@ libraries = {
|
|||
"": SubResource("AnimationLibrary_k8op5")
|
||||
}
|
||||
|
||||
[node name="PlayerController" parent="." instance=ExtResource("3_foj4y")]
|
||||
[node name="PlayerController" parent="." groups=["camera_owner"] instance=ExtResource("3_foj4y")]
|
||||
transform = Transform3D(0.686123, 0, 0.727485, 0, 1, 0, -0.727485, 0, 0.686123, 1.14815, 1.19209e-07, 0.730062)
|
||||
active = false
|
||||
|
||||
|
|
@ -605,7 +719,7 @@ offset_right = 40.0
|
|||
offset_bottom = 23.0
|
||||
text = "n out of 3 Memories collected"
|
||||
|
||||
[node name="Collectable" type="Area3D" parent="."]
|
||||
[node name="Collectable" type="Area3D" parent="." groups=["collectables"]]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.940637, 1.34703, 0.817837)
|
||||
collision_layer = 16
|
||||
|
||||
|
|
@ -634,6 +748,136 @@ render_target_update_mode = 4
|
|||
[node name="DisplayMenu" type="CollisionShape3D" parent="Collectable"]
|
||||
shape = SubResource("CapsuleShape3D_72g2i")
|
||||
|
||||
[node name="Exit" type="Area3D" parent="." groups=["exit"]]
|
||||
transform = Transform3D(1, 0, 1.06581e-14, 0, 1, 0, -1.06581e-14, 0, 1, 0.13754, 1.34703, -0.95778)
|
||||
collision_layer = 16
|
||||
|
||||
[node name="Collectable_ui" type="Area3D" parent="Exit"]
|
||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, -2.38419e-07, 0, 0.071894)
|
||||
script = ExtResource("11_7uxd8")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Exit/Collectable_ui"]
|
||||
transform = Transform3D(2.56, 0, 7.10543e-14, 0, 2.56, 0, -7.10543e-14, 0, 2.56, 0, 0, 0.238397)
|
||||
shape = SubResource("BoxShape3D_cb3g8")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Exit/Collectable_ui"]
|
||||
transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758)
|
||||
pixel_size = 0.015
|
||||
no_depth_test = true
|
||||
texture = SubResource("ViewportTexture_gwx6q")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Exit/Collectable_ui/Sprite3D"]
|
||||
transparent_bg = true
|
||||
size = Vector2i(300, 350)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Label" type="Label" parent="Exit/Collectable_ui/Sprite3D/SubViewport"]
|
||||
offset_right = 40.0
|
||||
offset_bottom = 23.0
|
||||
text = "you may not exit now, three are still things to pack."
|
||||
|
||||
[node name="DisplayMenu" type="CollisionShape3D" parent="Exit"]
|
||||
shape = SubResource("CapsuleShape3D_72g2i")
|
||||
|
||||
[node name="Board" type="Area3D" parent="." groups=["exit"]]
|
||||
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -0.995796, 1.30696, 1.71915)
|
||||
collision_layer = 16
|
||||
|
||||
[node name="Collectable_ui" type="Area3D" parent="Board"]
|
||||
transform = Transform3D(0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, -2.38419e-07, 0, 0.071894)
|
||||
script = ExtResource("11_7uxd8")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Board/Collectable_ui"]
|
||||
transform = Transform3D(2.56, 0, 7.10543e-14, 0, 2.56, 0, -7.10543e-14, 0, 2.56, 0, 0, 0.238397)
|
||||
shape = SubResource("BoxShape3D_cb3g8")
|
||||
|
||||
[node name="Sprite3D" type="Sprite3D" parent="Board/Collectable_ui"]
|
||||
transform = Transform3D(1, 0, 2.4869e-14, 0, 1, 0, -2.4869e-14, 0, 1, 0, 0, 0.610758)
|
||||
pixel_size = 0.015
|
||||
no_depth_test = true
|
||||
texture = SubResource("ViewportTexture_gwx6q")
|
||||
|
||||
[node name="SubViewport" type="SubViewport" parent="Board/Collectable_ui/Sprite3D"]
|
||||
transparent_bg = true
|
||||
size = Vector2i(300, 350)
|
||||
render_target_update_mode = 4
|
||||
|
||||
[node name="Label" type="Label" parent="Board/Collectable_ui/Sprite3D/SubViewport"]
|
||||
offset_right = 40.0
|
||||
offset_bottom = 23.0
|
||||
text = "This is the Card Board."
|
||||
|
||||
[node name="DisplayMenu" type="CollisionShape3D" parent="Board"]
|
||||
shape = SubResource("CapsuleShape3D_72g2i")
|
||||
|
||||
[node name="Bed and Ladders" type="Node3D" parent="."]
|
||||
|
||||
[node name="ladder_trigger" type="Area3D" parent="Bed and Ladders"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.84538, 0, 0.803611)
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bed and Ladders/ladder_trigger"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.170028, 0.244833, -0.0455775)
|
||||
shape = SubResource("CapsuleShape3D_f1g8m")
|
||||
|
||||
[node name="ladder_reset" type="Area3D" parent="Bed and Ladders"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.84538, 0, 0.803611)
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bed and Ladders/ladder_reset"]
|
||||
transform = Transform3D(0.995341, 0.096419, 0, 4.21461e-09, -4.35077e-08, -1, -0.096419, 0.995341, -4.37114e-08, 0.916567, 1.64525, -1.14479)
|
||||
shape = SubResource("CapsuleShape3D_kewqg")
|
||||
|
||||
[node name="bed_enter" type="Area3D" parent="Bed and Ladders"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.20255, 0, 0.547867)
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bed and Ladders/bed_enter"]
|
||||
transform = Transform3D(0.995341, 0.096419, 0, 4.21461e-09, -4.35077e-08, -1, -0.096419, 0.995341, -4.37114e-08, 0, 0, 0)
|
||||
shape = SubResource("CapsuleShape3D_k4x40")
|
||||
|
||||
[node name="bed_reset" type="Area3D" parent="Bed and Ladders"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.08894, 0, 0.00684631)
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bed and Ladders/bed_reset"]
|
||||
transform = Transform3D(0.995341, 0.096419, 0, 4.21461e-09, -4.35077e-08, -1, -0.096419, 0.995341, -4.37114e-08, 0.107988, 1.56575e-08, -0.358201)
|
||||
shape = SubResource("CapsuleShape3D_4q8vc")
|
||||
|
||||
[node name="reset_failover" type="Area3D" parent="Bed and Ladders"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.08894, 0, 0.272245)
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bed and Ladders/reset_failover"]
|
||||
transform = Transform3D(0.995341, 0.096419, 0, 4.21461e-09, -4.35077e-08, -1, -0.096419, 0.995341, -4.37114e-08, 0, 0, 0)
|
||||
shape = SubResource("CapsuleShape3D_n20ff")
|
||||
|
||||
[node name="ladder" type="StaticBody3D" parent="Bed and Ladders"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.77546, 0, 0.720878)
|
||||
script = SubResource("GDScript_uyt24")
|
||||
|
||||
[node name="CollisionShape3D" type="CollisionShape3D" parent="Bed and Ladders/ladder"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.336261, -0.199846, 0.0549462)
|
||||
shape = SubResource("BoxShape3D_gim5a")
|
||||
|
||||
[connection signal="mouse_entered" from="Collectable" to="Collectable/Collectable_ui" method="show"]
|
||||
[connection signal="mouse_entered" from="Collectable" to="Collectable/DisplayMenu" method="set_disabled" binds= [true]]
|
||||
[connection signal="input_event" from="Collectable/Collectable_ui" to="Collectable/Collectable_ui" method="_on_input_event" flags=18]
|
||||
[connection signal="mouse_entered" from="Exit" to="Exit/Collectable_ui" method="show"]
|
||||
[connection signal="mouse_entered" from="Exit" to="Exit/DisplayMenu" method="set_disabled"]
|
||||
[connection signal="input_event" from="Exit/Collectable_ui" to="Exit/Collectable_ui" method="_on_input_event" flags=18]
|
||||
[connection signal="mouse_entered" from="Board" to="Board/Collectable_ui" method="show"]
|
||||
[connection signal="mouse_entered" from="Board" to="Board/DisplayMenu" method="set_disabled"]
|
||||
[connection signal="input_event" from="Board/Collectable_ui" to="Board/Collectable_ui" method="_on_input_event" flags=18]
|
||||
[connection signal="body_entered" from="Bed and Ladders/ladder_trigger" to="PlayerController" method="_on_bed_enter"]
|
||||
[connection signal="body_entered" from="Bed and Ladders/ladder_trigger" to="Bed and Ladders/ladder" method="raise"]
|
||||
[connection signal="body_exited" from="Bed and Ladders/ladder_reset" to="PlayerController" method="_on_bed_exit"]
|
||||
[connection signal="body_exited" from="Bed and Ladders/ladder_reset" to="Bed and Ladders/ladder" method="reset"]
|
||||
[connection signal="body_entered" from="Bed and Ladders/bed_enter" to="PlayerController" method="_on_bed_enter"]
|
||||
[connection signal="body_exited" from="Bed and Ladders/bed_reset" to="PlayerController" method="_on_bed_exit"]
|
||||
[connection signal="body_exited" from="Bed and Ladders/reset_failover" to="PlayerController" method="_on_bed_exit"]
|
||||
|
|
|
|||
|
|
@ -0,0 +1,174 @@
|
|||
[gd_scene load_steps=14 format=3 uid="uid://bj3tbkmppabfq"]
|
||||
|
||||
[ext_resource type="Shader" path="res://vfx/particle_mixer.gdshader" id="1_g8u1t"]
|
||||
[ext_resource type="Texture2D" uid="uid://dq7jm5ufknbb6" path="res://vfx/lens-flare-particle.png" id="2_mi0wa"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lpenh"]
|
||||
render_priority = 0
|
||||
shader = ExtResource("1_g8u1t")
|
||||
shader_parameter/particle_color = null
|
||||
shader_parameter/particle_texture = ExtResource("2_mi0wa")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_tjuvm"]
|
||||
offsets = PackedFloat32Array(0, 0.50813, 1)
|
||||
colors = PackedColorArray(1, 0.877403, 0.516545, 1, 0.94702, 0.505309, 0.59484, 1, 0.735853, 0.324231, 0.687053, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_d2t20"]
|
||||
gradient = SubResource("Gradient_tjuvm")
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_c8r4y"]
|
||||
offsets = PackedFloat32Array(0, 0.00813008, 0.52439, 1)
|
||||
colors = PackedColorArray(0, 0, 0, 1, 0.0284553, 0.0284553, 0.0284553, 1, 0.244776, 0.244776, 0.244776, 1, 0, 0, 0, 1)
|
||||
|
||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_2vogp"]
|
||||
gradient = SubResource("Gradient_c8r4y")
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_eegys"]
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 0.3
|
||||
spread = 180.0
|
||||
gravity = Vector3(0, 0.02, 0)
|
||||
initial_velocity_max = 0.2
|
||||
color_ramp = SubResource("GradientTexture1D_2vogp")
|
||||
color_initial_ramp = SubResource("GradientTexture1D_d2t20")
|
||||
turbulence_enabled = true
|
||||
turbulence_noise_strength = 0.1
|
||||
turbulence_noise_scale = 2.0
|
||||
turbulence_noise_speed = Vector3(0.1, 0.3, 0.5)
|
||||
turbulence_noise_speed_random = 0.3
|
||||
turbulence_influence_min = 0.01
|
||||
turbulence_influence_max = 0.03
|
||||
turbulence_initial_displacement_max = 1.0
|
||||
|
||||
[sub_resource type="Shader" id="Shader_p2314"]
|
||||
code = "// NOTE: Shader automatically converted from Godot Engine 4.0.stable's StandardMaterial3D.
|
||||
|
||||
shader_type spatial;
|
||||
render_mode blend_mix,depth_draw_opaque,cull_back,diffuse_burley,specular_disabled;
|
||||
uniform vec4 albedo : source_color;
|
||||
uniform sampler2D texture_albedo : source_color,filter_linear_mipmap,repeat_enable;
|
||||
uniform float point_size : hint_range(0,128);
|
||||
uniform float roughness : hint_range(0,1);
|
||||
uniform sampler2D texture_metallic : hint_default_white,filter_linear_mipmap,repeat_enable;
|
||||
uniform vec4 metallic_texture_channel;
|
||||
uniform sampler2D texture_roughness : hint_roughness_r,filter_linear_mipmap,repeat_enable;
|
||||
uniform float specular;
|
||||
uniform float metallic;
|
||||
uniform int particles_anim_h_frames;
|
||||
uniform int particles_anim_v_frames;
|
||||
uniform bool particles_anim_loop;
|
||||
uniform vec4 backlight : source_color;
|
||||
uniform sampler2D texture_backlight : hint_default_black,filter_linear_mipmap,repeat_enable;
|
||||
uniform vec3 uv1_scale;
|
||||
uniform vec3 uv1_offset;
|
||||
uniform vec3 uv2_scale;
|
||||
uniform vec3 uv2_offset;
|
||||
|
||||
|
||||
void vertex() {
|
||||
UV=UV*uv1_scale.xy+uv1_offset.xy;
|
||||
mat4 mat_world = mat4(normalize(INV_VIEW_MATRIX[0]), normalize(INV_VIEW_MATRIX[1]) ,normalize(INV_VIEW_MATRIX[2]), MODEL_MATRIX[3]);
|
||||
mat_world = mat_world * mat4(vec4(cos(INSTANCE_CUSTOM.x), -sin(INSTANCE_CUSTOM.x), 0.0, 0.0), vec4(sin(INSTANCE_CUSTOM.x), cos(INSTANCE_CUSTOM.x), 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
|
||||
MODELVIEW_MATRIX = VIEW_MATRIX * mat_world;
|
||||
MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX);
|
||||
float h_frames = float(particles_anim_h_frames);
|
||||
float v_frames = float(particles_anim_v_frames);
|
||||
float particle_total_frames = float(particles_anim_h_frames * particles_anim_v_frames);
|
||||
float particle_frame = floor(INSTANCE_CUSTOM.z * float(particle_total_frames));
|
||||
if (!particles_anim_loop) {
|
||||
particle_frame = clamp(particle_frame, 0.0, particle_total_frames - 1.0);
|
||||
} else {
|
||||
particle_frame = mod(particle_frame, particle_total_frames);
|
||||
}
|
||||
UV /= vec2(h_frames, v_frames);
|
||||
UV += vec2(mod(particle_frame, h_frames) / h_frames, floor((particle_frame + 0.5) / h_frames) / v_frames);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void fragment() {
|
||||
vec2 base_uv = UV;
|
||||
vec4 albedo_tex = texture(texture_albedo,base_uv);
|
||||
albedo_tex *= COLOR;
|
||||
ALBEDO = albedo.rgb * albedo_tex.rgb;
|
||||
float metallic_tex = dot(texture(texture_metallic,base_uv),metallic_texture_channel);
|
||||
METALLIC = metallic_tex * metallic;
|
||||
vec4 roughness_texture_channel = vec4(1.0,0.0,0.0,0.0);
|
||||
float roughness_tex = dot(texture(texture_roughness,base_uv),roughness_texture_channel);
|
||||
ROUGHNESS = roughness_tex * roughness;
|
||||
SPECULAR = specular;
|
||||
vec3 backlight_tex = texture(texture_backlight,base_uv).rgb;
|
||||
BACKLIGHT = (backlight.rgb+backlight_tex);
|
||||
}
|
||||
"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fgrmi"]
|
||||
render_priority = 0
|
||||
shader = SubResource("Shader_p2314")
|
||||
shader_parameter/albedo = Color(1, 1, 1, 1)
|
||||
shader_parameter/point_size = 1.0
|
||||
shader_parameter/roughness = 1.0
|
||||
shader_parameter/metallic_texture_channel = Plane(1, 0, 0, 0)
|
||||
shader_parameter/specular = 0.5
|
||||
shader_parameter/metallic = 0.0
|
||||
shader_parameter/particles_anim_h_frames = 1
|
||||
shader_parameter/particles_anim_v_frames = 1
|
||||
shader_parameter/particles_anim_loop = false
|
||||
shader_parameter/backlight = Color(0, 0, 0, 1)
|
||||
shader_parameter/uv1_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/uv1_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/uv2_scale = Vector3(1, 1, 1)
|
||||
shader_parameter/uv2_offset = Vector3(0, 0, 0)
|
||||
shader_parameter/texture_albedo = ExtResource("2_mi0wa")
|
||||
shader_parameter/texture_backlight = ExtResource("2_mi0wa")
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_ea2fp"]
|
||||
material = SubResource("ShaderMaterial_fgrmi")
|
||||
size = Vector2(0.1, 0.1)
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_xd7ns"]
|
||||
specular_mode = 2
|
||||
vertex_color_use_as_albedo = true
|
||||
albedo_texture = ExtResource("2_mi0wa")
|
||||
backlight_enabled = true
|
||||
backlight_texture = ExtResource("2_mi0wa")
|
||||
billboard_mode = 3
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = false
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_coqla"]
|
||||
blend_mode = 1
|
||||
albedo_color = Color(0, 0, 0, 1)
|
||||
metallic_specular = 1.0
|
||||
|
||||
[node name="Node3D" type="Node3D"]
|
||||
|
||||
[node name="collectable_particles" type="GPUParticles3D" parent="."]
|
||||
material_override = SubResource("ShaderMaterial_lpenh")
|
||||
material_overlay = SubResource("ShaderMaterial_lpenh")
|
||||
cast_shadow = 0
|
||||
amount = 100
|
||||
lifetime = 10.0
|
||||
process_material = SubResource("ParticleProcessMaterial_eegys")
|
||||
draw_pass_1 = SubResource("QuadMesh_ea2fp")
|
||||
|
||||
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -2.66951)
|
||||
size = Vector3(1, 1, 2.7375)
|
||||
material = SubResource("StandardMaterial3D_xd7ns")
|
||||
|
||||
[node name="CSGSphere3D" type="CSGSphere3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1.81792, 0, 0)
|
||||
material = SubResource("StandardMaterial3D_coqla")
|
||||
|
||||
[node name="CSGSphere3D2" type="CSGSphere3D" parent="."]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 3.157, -1.19209e-07, 0.894892)
|
||||
material = SubResource("StandardMaterial3D_coqla")
|
||||
|
||||
[node name="Camera3D" type="Camera3D" parent="CSGSphere3D2"]
|
||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1.61871)
|
||||
fov = 33.6
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[gd_scene format=3 uid="uid://bigr0lnen1xdh"]
|
||||
|
||||
[node name="Node3D" type="Node3D"]
|
||||
|
||||
[node name="Node3D" type="Node3D" parent="."]
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://bdnesuqroi7ss"]
|
||||
|
||||
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nbr3v"]
|
||||
blend_mode = 1
|
||||
billboard_mode = 3
|
||||
particles_anim_h_frames = 1
|
||||
particles_anim_v_frames = 1
|
||||
particles_anim_loop = false
|
||||
|
||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_d61lg"]
|
||||
emission_shape = 1
|
||||
emission_sphere_radius = 1.0
|
||||
spread = 180.0
|
||||
gravity = Vector3(0, 1, 0)
|
||||
initial_velocity_min = 0.2
|
||||
initial_velocity_max = 1.0
|
||||
turbulence_enabled = true
|
||||
turbulence_noise_speed = Vector3(0.1, 0.3, 0.5)
|
||||
turbulence_noise_speed_random = 0.3
|
||||
turbulence_influence_min = 0.05
|
||||
turbulence_initial_displacement_max = 1.0
|
||||
|
||||
[sub_resource type="QuadMesh" id="QuadMesh_ea2fp"]
|
||||
|
||||
[node name="collectable_particles" type="GPUParticles3D"]
|
||||
material_override = SubResource("StandardMaterial3D_nbr3v")
|
||||
amount = 30
|
||||
lifetime = 10.0
|
||||
process_material = SubResource("ParticleProcessMaterial_d61lg")
|
||||
draw_pass_1 = SubResource("QuadMesh_ea2fp")
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.3 KiB |
|
|
@ -0,0 +1,35 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://dq7jm5ufknbb6"
|
||||
path.s3tc="res://.godot/imported/lens-flare-particle.png-977dfc4c080000604387722f4a049ecd.s3tc.ctex"
|
||||
metadata={
|
||||
"imported_formats": ["s3tc_bptc"],
|
||||
"vram_texture": true
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://vfx/lens-flare-particle.png"
|
||||
dest_files=["res://.godot/imported/lens-flare-particle.png-977dfc4c080000604387722f4a049ecd.s3tc.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=2
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=true
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=0
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
shader_type spatial;
|
||||
|
||||
render_mode blend_add, specular_disabled;
|
||||
|
||||
uniform sampler2D particle_texture;
|
||||
uniform vec4 particle_color : source_color;
|
||||
|
||||
void vertex() {
|
||||
mat4 mat_world = mat4(normalize(INV_VIEW_MATRIX[0]), normalize(INV_VIEW_MATRIX[1]) ,normalize(INV_VIEW_MATRIX[2]), MODEL_MATRIX[3]);
|
||||
mat_world = mat_world * mat4(vec4(cos(INSTANCE_CUSTOM.x), -sin(INSTANCE_CUSTOM.x), 0.0, 0.0), vec4(sin(INSTANCE_CUSTOM.x), cos(INSTANCE_CUSTOM.x), 0.0, 0.0), vec4(0.0, 0.0, 1.0, 0.0), vec4(0.0, 0.0, 0.0, 1.0));
|
||||
MODELVIEW_MATRIX = VIEW_MATRIX * mat_world;
|
||||
MODELVIEW_NORMAL_MATRIX = mat3(MODELVIEW_MATRIX);
|
||||
UV += vec2(float(INSTANCE_ID%2), float(INSTANCE_ID/2%2));
|
||||
}
|
||||
|
||||
void fragment() {
|
||||
ALBEDO = texture(particle_texture,UV/2.0).xyz * COLOR.xyz;
|
||||
EMISSION = ALBEDO/8.0;
|
||||
BACKLIGHT = ALBEDO;
|
||||
SPECULAR = 0.0;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue