From 8fc3db922922e87fa5f8bdb09e4a3b6b2d4cf96e Mon Sep 17 00:00:00 2001 From: tpart Date: Sun, 6 Oct 2024 21:21:51 +0200 Subject: Categorize interact marker; Fix misplaced file --- client/menu/auto_setup/scroll_container_custom.gd | 45 +++++++++++++++++++ client/menu/book/book.tscn | 2 +- client/menu/communicate/chat/chat_open.tscn | 2 +- client/menu/credits.tscn | 2 +- client/menu/lobby.tscn | 2 +- client/menu/play.tscn | 2 +- client/menu/scroll_container_custom.gd | 45 ------------------- client/menu/setup.tscn | 2 +- client/player/interact_marker.gdshader | 47 -------------------- client/player/marker.gd | 27 ------------ client/player/marker.tscn | 54 ----------------------- client/player/marker/interact_marker.gdshader | 47 ++++++++++++++++++++ client/player/marker/marker.gd | 27 ++++++++++++ client/player/marker/marker.tscn | 54 +++++++++++++++++++++++ 14 files changed, 179 insertions(+), 179 deletions(-) create mode 100644 client/menu/auto_setup/scroll_container_custom.gd delete mode 100644 client/menu/scroll_container_custom.gd delete mode 100644 client/player/interact_marker.gdshader delete mode 100644 client/player/marker.gd delete mode 100644 client/player/marker.tscn create mode 100644 client/player/marker/interact_marker.gdshader create mode 100644 client/player/marker/marker.gd create mode 100644 client/player/marker/marker.tscn diff --git a/client/menu/auto_setup/scroll_container_custom.gd b/client/menu/auto_setup/scroll_container_custom.gd new file mode 100644 index 00000000..a456f644 --- /dev/null +++ b/client/menu/auto_setup/scroll_container_custom.gd @@ -0,0 +1,45 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 tpart +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +extends ScrollContainer +class_name ScrollContainerCustom + +# Adds support for scrolling with joypad and touch + +const SCROLL_SPEED := 1000. +var velocity := 0. + +@export var auto_scroll_to_bottom := false + +func _init(): + follow_focus = true + +func _ready(): + if auto_scroll_to_bottom: + call_deferred("scroll_to_bottom") + +func scroll_to_bottom(): + set_deferred("scroll_vertical", get_v_scroll_bar().max_value) + +func _process(delta): + velocity = G.interpolate(velocity, 0., delta * 5.) + velocity = 0. if abs(velocity) < .001 else velocity + if Input.get_axis("scroll_up", "scroll_down") != 0.: + velocity = Input.get_axis("scroll_up", "scroll_down") + set_deferred("scroll_vertical", scroll_vertical + velocity * delta * SCROLL_SPEED) + +func _input(event): + if event is InputEventScreenDrag: + velocity = -(scroll_vertical - (scroll_vertical - event.relative.y)) * .1 diff --git a/client/menu/book/book.tscn b/client/menu/book/book.tscn index 824c062d..366959a4 100644 --- a/client/menu/book/book.tscn +++ b/client/menu/book/book.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://bdggwo8un3mys"] [ext_resource type="Script" path="res://menu/book/book.gd" id="1_gyisx"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="2_0d0p0"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="2_0d0p0"] [node name="Book" type="Control"] layout_mode = 3 diff --git a/client/menu/communicate/chat/chat_open.tscn b/client/menu/communicate/chat/chat_open.tscn index 8830c4f7..09cc4526 100644 --- a/client/menu/communicate/chat/chat_open.tscn +++ b/client/menu/communicate/chat/chat_open.tscn @@ -5,7 +5,7 @@ [ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="2_urbd2"] [ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="3_v7xmg"] [ext_resource type="StyleBox" uid="uid://bw4jamyna1top" path="res://menu/theme/style/panel_style_sidebar.tres" id="4_ew1yx"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="5_3mths"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="5_3mths"] [node name="ChatOpen" type="Control"] layout_mode = 3 diff --git a/client/menu/credits.tscn b/client/menu/credits.tscn index ddbc8ebe..783b308b 100644 --- a/client/menu/credits.tscn +++ b/client/menu/credits.tscn @@ -4,7 +4,7 @@ [ext_resource type="Script" path="res://menu/credits.gd" id="2_alvab"] [ext_resource type="Material" uid="uid://beea1pc5nt67r" path="res://menu/theme/materials/dark_blur_material.tres" id="3_nwoiv"] [ext_resource type="Script" path="res://menu/auto_setup/blur_setup.gd" id="4_8sii3"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="4_bfcw8"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="4_bfcw8"] [node name="CreditsMenu" type="Control"] layout_mode = 3 diff --git a/client/menu/lobby.tscn b/client/menu/lobby.tscn index 9f4e14c9..83284357 100644 --- a/client/menu/lobby.tscn +++ b/client/menu/lobby.tscn @@ -12,7 +12,7 @@ [ext_resource type="PackedScene" uid="uid://b1f7bgn65j7b5" path="res://menu/controller_buttons/controller_button.tscn" id="7_t6mox"] [ext_resource type="FontFile" uid="uid://5ixo6b3bd3km" path="res://menu/theme/fonts/font-josefin-sans.woff2" id="8_cwbpa"] [ext_resource type="Texture2D" uid="uid://bsx6fo7mv2u6a" path="res://menu/controller_buttons/x.svg" id="9_q14bw"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="10_bgene"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="10_bgene"] [ext_resource type="Texture2D" uid="uid://cr2a6ide6vnnv" path="res://menu/controller_buttons/y.svg" id="11_5uugf"] [sub_resource type="FontVariation" id="FontVariation_5xxr2"] diff --git a/client/menu/play.tscn b/client/menu/play.tscn index 958eab8e..94801dfb 100644 --- a/client/menu/play.tscn +++ b/client/menu/play.tscn @@ -3,7 +3,7 @@ [ext_resource type="Theme" uid="uid://b0qmvo504e457" path="res://menu/theme/theme/theme.tres" id="1_cckds"] [ext_resource type="Script" path="res://menu/play.gd" id="2_phxx0"] [ext_resource type="Material" uid="uid://2j8a0c0a2ta5" path="res://menu/theme/materials/blur_material.tres" id="3_fsbt7"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="5_cm120"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="5_cm120"] [ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="5_ojpbf"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_ukani"] diff --git a/client/menu/scroll_container_custom.gd b/client/menu/scroll_container_custom.gd deleted file mode 100644 index a456f644..00000000 --- a/client/menu/scroll_container_custom.gd +++ /dev/null @@ -1,45 +0,0 @@ -# Hurry Curry! - a game about cooking -# Copyright 2024 tpart -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, version 3 of the License only. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -extends ScrollContainer -class_name ScrollContainerCustom - -# Adds support for scrolling with joypad and touch - -const SCROLL_SPEED := 1000. -var velocity := 0. - -@export var auto_scroll_to_bottom := false - -func _init(): - follow_focus = true - -func _ready(): - if auto_scroll_to_bottom: - call_deferred("scroll_to_bottom") - -func scroll_to_bottom(): - set_deferred("scroll_vertical", get_v_scroll_bar().max_value) - -func _process(delta): - velocity = G.interpolate(velocity, 0., delta * 5.) - velocity = 0. if abs(velocity) < .001 else velocity - if Input.get_axis("scroll_up", "scroll_down") != 0.: - velocity = Input.get_axis("scroll_up", "scroll_down") - set_deferred("scroll_vertical", scroll_vertical + velocity * delta * SCROLL_SPEED) - -func _input(event): - if event is InputEventScreenDrag: - velocity = -(scroll_vertical - (scroll_vertical - event.relative.y)) * .1 diff --git a/client/menu/setup.tscn b/client/menu/setup.tscn index 9e09a050..0ad994a5 100644 --- a/client/menu/setup.tscn +++ b/client/menu/setup.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" path="res://menu/setup.gd" id="1_mo46n"] [ext_resource type="Theme" uid="uid://ci2qajdoa1an1" path="res://menu/theme/theme/paper.tres" id="1_yq0aa"] -[ext_resource type="Script" path="res://menu/scroll_container_custom.gd" id="2_4caf2"] +[ext_resource type="Script" path="res://menu/auto_setup/scroll_container_custom.gd" id="2_4caf2"] [ext_resource type="FontFile" uid="uid://bo4vh5xkpvrh1" path="res://menu/theme/fonts/font-sansita-swashed.woff2" id="3_2vg4d"] [ext_resource type="AudioStream" uid="uid://do7ii5hx71p0m" path="res://menu/sounds/page.ogg" id="5_xac6d"] [ext_resource type="AudioStream" uid="uid://5b3noxjmasmu" path="res://menu/sounds/sign.ogg" id="6_wf0gh"] diff --git a/client/player/interact_marker.gdshader b/client/player/interact_marker.gdshader deleted file mode 100644 index 3720290f..00000000 --- a/client/player/interact_marker.gdshader +++ /dev/null @@ -1,47 +0,0 @@ -/* - Hurry Curry! - a game about cooking - Copyright 2024 nokoe - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, version 3 of the License only. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . - -*/ -shader_type spatial; - -uniform float max_width = .1; -uniform float marker_length = .5; -uniform float pulse_speed = 4.; -uniform bool interactive = false; -uniform bool interacting = false; - -void fragment() { - if (interacting) { - ALBEDO = vec3(0., 0., 15.); - } else if (interactive) { - ALBEDO = vec3(15., 0., 0.); - } else { - ALBEDO = vec3(.1, .1, .1); - } - vec2 uv = abs(2. * UV.xy - 1.); - float m_length = marker_length / max_width; - float anim; - if (interactive || interacting) { - anim = sin(TIME * pulse_speed) * .5 + 1.; - } else { - anim = .5; - } - float alpha = step( - 1. - max_width * anim, max(uv.x, uv.y)) - * step(1. - max_width * m_length, min(uv.x, uv.y) - ); - ALPHA = alpha; -} diff --git a/client/player/marker.gd b/client/player/marker.gd deleted file mode 100644 index 07f6bfe8..00000000 --- a/client/player/marker.gd +++ /dev/null @@ -1,27 +0,0 @@ -# Hurry Curry! - a game about cooking -# Copyright 2024 metamuffin -# Copyright 2024 nokoe -# -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU Affero General Public License as published by -# the Free Software Foundation, version 3 of the License only. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. -# -# You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . -# -class_name Marker -extends Node3D - -@onready var _cube: MeshInstance3D = $Cube -@onready var mat: ShaderMaterial = _cube.get_active_material(0) - -func set_interactive(val: bool): - mat.set_shader_parameter("interactive", val) - -func set_interacting(val: bool): - mat.set_shader_parameter("interacting", val) diff --git a/client/player/marker.tscn b/client/player/marker.tscn deleted file mode 100644 index 0d5efedb..00000000 --- a/client/player/marker.tscn +++ /dev/null @@ -1,54 +0,0 @@ -[gd_scene load_steps=7 format=3 uid="uid://c0euiv7duqfp4"] - -[ext_resource type="Script" path="res://player/marker.gd" id="1_3njdu"] -[ext_resource type="Shader" path="res://player/interact_marker.gdshader" id="2_dejwy"] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o4v68"] - -[sub_resource type="ArrayMesh" id="ArrayMesh_2tdb0"] -_surfaces = [{ -"aabb": AABB(-1, -1, -1, 2, 2, 2.00001), -"format": 34896613377, -"index_count": 36, -"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 7, 0, 3, 0, 2, 0, 6, 0, 7, 0, 6, 0, 5, 0, 7, 0, 6, 0, 4, 0, 5, 0, 4, 0, 1, 0, 5, 0, 4, 0, 0, 0, 1, 0, 2, 0, 4, 0, 6, 0, 2, 0, 0, 0, 4, 0, 7, 0, 1, 0, 3, 0, 7, 0, 5, 0, 1, 0), -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 8, -"vertex_data": PackedByteArray(0, 0, 0, 0, 254, 255, 0, 0, 0, 0, 255, 255, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 0, 0, 254, 255, 0, 0, 255, 255, 255, 255, 254, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0) -}] -blend_shape_mode = 0 - -[sub_resource type="ArrayMesh" id="ArrayMesh_2ie13"] -resource_name = "marker_Cube_001" -_surfaces = [{ -"aabb": AABB(-1, -1, -1, 2, 2, 2.00001), -"attribute_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255), -"format": 34896613399, -"index_count": 36, -"index_data": PackedByteArray(2, 0, 11, 0, 5, 0, 2, 0, 8, 0, 11, 0, 6, 0, 21, 0, 9, 0, 6, 0, 18, 0, 21, 0, 20, 0, 17, 0, 23, 0, 20, 0, 14, 0, 17, 0, 12, 0, 3, 0, 15, 0, 12, 0, 0, 0, 3, 0, 7, 0, 13, 0, 19, 0, 7, 0, 1, 0, 13, 0, 22, 0, 4, 0, 10, 0, 22, 0, 16, 0, 4, 0), -"material": SubResource("StandardMaterial3D_o4v68"), -"primitive": 3, -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 24, -"vertex_data": PackedByteArray(0, 0, 0, 0, 254, 255, 255, 191, 0, 0, 0, 0, 254, 255, 255, 191, 0, 0, 0, 0, 254, 255, 84, 213, 0, 0, 255, 255, 254, 255, 255, 191, 0, 0, 255, 255, 254, 255, 255, 255, 0, 0, 255, 255, 254, 255, 84, 213, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 84, 213, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 84, 213, 255, 255, 0, 0, 254, 255, 255, 191, 255, 255, 0, 0, 254, 255, 255, 191, 255, 255, 0, 0, 254, 255, 84, 213, 255, 255, 255, 255, 254, 255, 255, 191, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 254, 255, 84, 213, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 191, 255, 255, 0, 0, 0, 0, 84, 213, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 84, 213, 255, 255, 255, 255, 0, 0, 255, 127, 84, 213, 84, 213, 255, 255, 255, 255, 255, 127, 255, 191, 84, 213, 84, 213, 255, 191, 255, 191, 0, 0, 255, 127, 84, 213, 84, 213, 255, 191, 255, 191, 255, 127, 255, 191, 84, 213, 84, 213, 255, 255, 255, 255, 0, 0, 255, 127, 170, 42, 170, 42, 255, 255, 255, 255, 255, 127, 255, 191, 170, 42, 170, 42, 255, 191, 255, 191, 0, 0, 255, 127, 170, 42, 170, 42, 255, 191, 255, 191, 255, 127, 255, 191, 170, 42, 170, 42) -}] -blend_shape_mode = 0 -shadow_mesh = SubResource("ArrayMesh_2tdb0") - -[sub_resource type="ShaderMaterial" id="ShaderMaterial_wuj1v"] -render_priority = 0 -shader = ExtResource("2_dejwy") -shader_parameter/max_width = 0.1 -shader_parameter/marker_length = 0.5 -shader_parameter/pulse_speed = 4.0 -shader_parameter/interactive = false -shader_parameter/interacting = false - -[node name="Marker" type="Node3D"] -script = ExtResource("1_3njdu") - -[node name="Cube" type="MeshInstance3D" parent="."] -transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0.25, 0) -mesh = SubResource("ArrayMesh_2ie13") -skeleton = NodePath("") -surface_material_override/0 = SubResource("ShaderMaterial_wuj1v") diff --git a/client/player/marker/interact_marker.gdshader b/client/player/marker/interact_marker.gdshader new file mode 100644 index 00000000..3720290f --- /dev/null +++ b/client/player/marker/interact_marker.gdshader @@ -0,0 +1,47 @@ +/* + Hurry Curry! - a game about cooking + Copyright 2024 nokoe + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, version 3 of the License only. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +*/ +shader_type spatial; + +uniform float max_width = .1; +uniform float marker_length = .5; +uniform float pulse_speed = 4.; +uniform bool interactive = false; +uniform bool interacting = false; + +void fragment() { + if (interacting) { + ALBEDO = vec3(0., 0., 15.); + } else if (interactive) { + ALBEDO = vec3(15., 0., 0.); + } else { + ALBEDO = vec3(.1, .1, .1); + } + vec2 uv = abs(2. * UV.xy - 1.); + float m_length = marker_length / max_width; + float anim; + if (interactive || interacting) { + anim = sin(TIME * pulse_speed) * .5 + 1.; + } else { + anim = .5; + } + float alpha = step( + 1. - max_width * anim, max(uv.x, uv.y)) + * step(1. - max_width * m_length, min(uv.x, uv.y) + ); + ALPHA = alpha; +} diff --git a/client/player/marker/marker.gd b/client/player/marker/marker.gd new file mode 100644 index 00000000..07f6bfe8 --- /dev/null +++ b/client/player/marker/marker.gd @@ -0,0 +1,27 @@ +# Hurry Curry! - a game about cooking +# Copyright 2024 metamuffin +# Copyright 2024 nokoe +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, version 3 of the License only. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +class_name Marker +extends Node3D + +@onready var _cube: MeshInstance3D = $Cube +@onready var mat: ShaderMaterial = _cube.get_active_material(0) + +func set_interactive(val: bool): + mat.set_shader_parameter("interactive", val) + +func set_interacting(val: bool): + mat.set_shader_parameter("interacting", val) diff --git a/client/player/marker/marker.tscn b/client/player/marker/marker.tscn new file mode 100644 index 00000000..bb638c7e --- /dev/null +++ b/client/player/marker/marker.tscn @@ -0,0 +1,54 @@ +[gd_scene load_steps=7 format=3 uid="uid://c0euiv7duqfp4"] + +[ext_resource type="Script" path="res://player/marker/marker.gd" id="1_3njdu"] +[ext_resource type="Shader" path="res://player/marker/interact_marker.gdshader" id="2_dejwy"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_o4v68"] + +[sub_resource type="ArrayMesh" id="ArrayMesh_2tdb0"] +_surfaces = [{ +"aabb": AABB(-1, -1, -1, 2, 2, 2.00001), +"format": 34896613377, +"index_count": 36, +"index_data": PackedByteArray(0, 0, 3, 0, 1, 0, 0, 0, 2, 0, 3, 0, 2, 0, 7, 0, 3, 0, 2, 0, 6, 0, 7, 0, 6, 0, 5, 0, 7, 0, 6, 0, 4, 0, 5, 0, 4, 0, 1, 0, 5, 0, 4, 0, 0, 0, 1, 0, 2, 0, 4, 0, 6, 0, 2, 0, 0, 0, 4, 0, 7, 0, 1, 0, 3, 0, 7, 0, 5, 0, 1, 0), +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 8, +"vertex_data": PackedByteArray(0, 0, 0, 0, 254, 255, 0, 0, 0, 0, 255, 255, 254, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 0, 0, 254, 255, 0, 0, 255, 255, 255, 255, 254, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0) +}] +blend_shape_mode = 0 + +[sub_resource type="ArrayMesh" id="ArrayMesh_2ie13"] +resource_name = "marker_Cube_001" +_surfaces = [{ +"aabb": AABB(-1, -1, -1, 2, 2, 2.00001), +"attribute_data": PackedByteArray(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255), +"format": 34896613399, +"index_count": 36, +"index_data": PackedByteArray(2, 0, 11, 0, 5, 0, 2, 0, 8, 0, 11, 0, 6, 0, 21, 0, 9, 0, 6, 0, 18, 0, 21, 0, 20, 0, 17, 0, 23, 0, 20, 0, 14, 0, 17, 0, 12, 0, 3, 0, 15, 0, 12, 0, 0, 0, 3, 0, 7, 0, 13, 0, 19, 0, 7, 0, 1, 0, 13, 0, 22, 0, 4, 0, 10, 0, 22, 0, 16, 0, 4, 0), +"material": SubResource("StandardMaterial3D_o4v68"), +"primitive": 3, +"uv_scale": Vector4(0, 0, 0, 0), +"vertex_count": 24, +"vertex_data": PackedByteArray(0, 0, 0, 0, 254, 255, 255, 191, 0, 0, 0, 0, 254, 255, 255, 191, 0, 0, 0, 0, 254, 255, 84, 213, 0, 0, 255, 255, 254, 255, 255, 191, 0, 0, 255, 255, 254, 255, 255, 255, 0, 0, 255, 255, 254, 255, 84, 213, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 191, 0, 0, 0, 0, 0, 0, 84, 213, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 0, 0, 84, 213, 255, 255, 0, 0, 254, 255, 255, 191, 255, 255, 0, 0, 254, 255, 255, 191, 255, 255, 0, 0, 254, 255, 84, 213, 255, 255, 255, 255, 254, 255, 255, 191, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 254, 255, 84, 213, 255, 255, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 255, 191, 255, 255, 0, 0, 0, 0, 84, 213, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 84, 213, 255, 255, 255, 255, 0, 0, 255, 127, 84, 213, 84, 213, 255, 255, 255, 255, 255, 127, 255, 191, 84, 213, 84, 213, 255, 191, 255, 191, 0, 0, 255, 127, 84, 213, 84, 213, 255, 191, 255, 191, 255, 127, 255, 191, 84, 213, 84, 213, 255, 255, 255, 255, 0, 0, 255, 127, 170, 42, 170, 42, 255, 255, 255, 255, 255, 127, 255, 191, 170, 42, 170, 42, 255, 191, 255, 191, 0, 0, 255, 127, 170, 42, 170, 42, 255, 191, 255, 191, 255, 127, 255, 191, 170, 42, 170, 42) +}] +blend_shape_mode = 0 +shadow_mesh = SubResource("ArrayMesh_2tdb0") + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_wuj1v"] +render_priority = 0 +shader = ExtResource("2_dejwy") +shader_parameter/max_width = 0.1 +shader_parameter/marker_length = 0.5 +shader_parameter/pulse_speed = 4.0 +shader_parameter/interactive = false +shader_parameter/interacting = false + +[node name="Marker" type="Node3D"] +script = ExtResource("1_3njdu") + +[node name="Cube" type="MeshInstance3D" parent="."] +transform = Transform3D(0.25, 0, 0, 0, 0.25, 0, 0, 0, 0.25, 0, 0.25, 0) +mesh = SubResource("ArrayMesh_2ie13") +skeleton = NodePath("") +surface_material_override/0 = SubResource("ShaderMaterial_wuj1v") -- cgit v1.2.3-70-g09d2