Powerball item pickup

This commit is contained in:
Rob Kelly 2024-12-15 17:43:55 -07:00
parent 7c3a2002b7
commit d239e8ec61
6 changed files with 285 additions and 13 deletions

BIN
asset_dev/balls/powerball/fireball.blend (Stored with Git LFS)

Binary file not shown.

View File

@ -15,7 +15,17 @@
"nodes":[ "nodes":[
{ {
"mesh":0, "mesh":0,
"name":"Fireball" "name":"Fireball",
"scale":[
0.3999999761581421,
0.800000011920929,
0.3999999761581421
],
"translation":[
0,
-0.019999999552965164,
0
]
} }
], ],
"meshes":[ "meshes":[

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=67 format=3 uid="uid://bm2o3mex10v11"] [gd_scene load_steps=68 format=3 uid="uid://bm2o3mex10v11"]
[ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"] [ext_resource type="Terrain3DAssets" uid="uid://cwl34gstabgrx" path="res://levels/debug_level/terrain_assets.res" id="1_5smdk"]
[ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"] [ext_resource type="Shader" path="res://src/shaders/psx_water.gdshader" id="6_0efu4"]
@ -13,6 +13,7 @@
[ext_resource type="PackedScene" uid="uid://di7aql54lksn7" path="res://src/props/scenery/trees/palm_tree/palm_tree.tscn" id="12_sswxf"] [ext_resource type="PackedScene" uid="uid://di7aql54lksn7" path="res://src/props/scenery/trees/palm_tree/palm_tree.tscn" id="12_sswxf"]
[ext_resource type="PackedScene" uid="uid://cjne55s85x7jy" path="res://src/items/extra_ball/brick_item.tscn" id="12_tj0lh"] [ext_resource type="PackedScene" uid="uid://cjne55s85x7jy" path="res://src/items/extra_ball/brick_item.tscn" id="12_tj0lh"]
[ext_resource type="PackedScene" uid="uid://c7l58wuuahn7w" path="res://src/props/flag/flag.tscn" id="13_6jtao"] [ext_resource type="PackedScene" uid="uid://c7l58wuuahn7w" path="res://src/props/flag/flag.tscn" id="13_6jtao"]
[ext_resource type="PackedScene" uid="uid://brh7twsjw2c5f" path="res://src/items/extra_ball/power_ball_item.tscn" id="13_enoia"]
[ext_resource type="PackedScene" uid="uid://comd88yp45mnb" path="res://src/items/item/item.tscn" id="13_ydvlu"] [ext_resource type="PackedScene" uid="uid://comd88yp45mnb" path="res://src/items/item/item.tscn" id="13_ydvlu"]
[ext_resource type="PackedScene" uid="uid://cl0goj38u7r72" path="res://src/props/scenery/beach/sailboat.tscn" id="14_6reiy"] [ext_resource type="PackedScene" uid="uid://cl0goj38u7r72" path="res://src/props/scenery/beach/sailboat.tscn" id="14_6reiy"]
[ext_resource type="PackedScene" uid="uid://mcuhy71v6ggu" path="res://src/items/extra_ball/plasma_ball_item.tscn" id="15_ir4ss"] [ext_resource type="PackedScene" uid="uid://mcuhy71v6ggu" path="res://src/items/extra_ball/plasma_ball_item.tscn" id="15_ir4ss"]
@ -364,7 +365,7 @@ shape = SubResource("BoxShape3D_x3wvm")
transform = Transform3D(-0.74629, 0, -0.665621, 0, 1, 0, 0.665621, 0, -0.74629, 381.024, -0.5, 224.968) transform = Transform3D(-0.74629, 0, -0.665621, 0, 1, 0, 0.665621, 0, -0.74629, 381.024, -0.5, 224.968)
[node name="ItemSpawner" type="Marker3D" parent="Course/WaterTable/Sailboat"] [node name="ItemSpawner" type="Marker3D" parent="Course/WaterTable/Sailboat"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2.5, 5.3) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -1.73528, 0.292423, 0.248718)
script = ExtResource("8_5kaye") script = ExtResource("8_5kaye")
item = ExtResource("8_3jmdx") item = ExtResource("8_3jmdx")
amount = -1 amount = -1
@ -413,8 +414,16 @@ amount = 5
spawn_on_ready = true spawn_on_ready = true
spawn_turns = 1 spawn_turns = 1
[node name="PowerBallSpawner" type="Marker3D" parent="Course/TestSpawners"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 11.9467, 1.1, 7.60959)
script = ExtResource("8_5kaye")
item = ExtResource("13_enoia")
amount = 5
spawn_on_ready = true
spawn_turns = 1
[node name="HealthSpawner" type="Marker3D" parent="Course/TestSpawners"] [node name="HealthSpawner" type="Marker3D" parent="Course/TestSpawners"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 13.651, 1, 7.92) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -21.0809, 1, 17.8327)
script = ExtResource("8_5kaye") script = ExtResource("8_5kaye")
item = ExtResource("12_jiuxh") item = ExtResource("12_jiuxh")
amount = 25 amount = 25

View File

@ -7,7 +7,7 @@
[ext_resource type="PackedScene" uid="uid://dd2nxbfssd4hh" path="res://assets/models/balls/powerball/fireball.gltf" id="5_i8vmm"] [ext_resource type="PackedScene" uid="uid://dd2nxbfssd4hh" path="res://assets/models/balls/powerball/fireball.gltf" id="5_i8vmm"]
[ext_resource type="AudioStream" uid="uid://tqr7u7vb2r0f" path="res://assets/sound/sfx/ball/effects/fireball.wav" id="6_uwolu"] [ext_resource type="AudioStream" uid="uid://tqr7u7vb2r0f" path="res://assets/sound/sfx/ball/effects/fireball.wav" id="6_uwolu"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_c4cm7"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_fcniu"]
albedo_color = Color(2, 0.266, 0.266, 1) albedo_color = Color(2, 0.266, 0.266, 1)
albedo_texture = ExtResource("2_a2gtg") albedo_texture = ExtResource("2_a2gtg")
albedo_texture_force_srgb = true albedo_texture_force_srgb = true
@ -21,7 +21,7 @@ uv1_scale = Vector3(3, 1.5, 3)
texture_filter = 4 texture_filter = 4
[sub_resource type="SphereMesh" id="SphereMesh_0b0i7"] [sub_resource type="SphereMesh" id="SphereMesh_0b0i7"]
material = SubResource("StandardMaterial3D_c4cm7") material = SubResource("StandardMaterial3D_fcniu")
radius = 0.05 radius = 0.05
height = 0.1 height = 0.1
radial_segments = 6 radial_segments = 6
@ -31,7 +31,7 @@ rings = 6
offsets = PackedFloat32Array(0.291939, 1) offsets = PackedFloat32Array(0.291939, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0, 1) colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_sr8jb"] [sub_resource type="GradientTexture2D" id="GradientTexture2D_ny4ye"]
gradient = SubResource("Gradient_b68qa") gradient = SubResource("Gradient_b68qa")
fill = 1 fill = 1
fill_from = Vector2(0.5, 0.5) fill_from = Vector2(0.5, 0.5)
@ -43,7 +43,7 @@ cull_mode = 2
shading_mode = 0 shading_mode = 0
vertex_color_use_as_albedo = true vertex_color_use_as_albedo = true
albedo_color = Color(2, 1.98431, 1.6, 0.156863) albedo_color = Color(2, 1.98431, 1.6, 0.156863)
albedo_texture = SubResource("GradientTexture2D_sr8jb") albedo_texture = SubResource("GradientTexture2D_ny4ye")
[sub_resource type="Animation" id="Animation_5t74j"] [sub_resource type="Animation" id="Animation_5t74j"]
resource_name = "flicker" resource_name = "flicker"
@ -56,10 +56,10 @@ tracks/0/path = NodePath("FireballScaleRoot:scale")
tracks/0/interp = 1 tracks/0/interp = 1
tracks/0/loop_wrap = true tracks/0/loop_wrap = true
tracks/0/keys = { tracks/0/keys = {
"times": PackedFloat32Array(0.00610052, 0.1, 0.206101, 0.3, 0.40305, 0.5, 0.60305, 0.7, 0.80305, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9), "times": PackedFloat32Array(0.00610052, 0.110417, 0.206101, 0.310417, 0.40305, 0.510417, 0.60305, 0.710417, 0.80305, 0.910417, 1, 1.11042, 1.2, 1.31042, 1.4, 1.51042, 1.6, 1.71042, 1.8, 1.9),
"transitions": PackedFloat32Array(0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1), "transitions": PackedFloat32Array(0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1),
"update": 0, "update": 0,
"values": [Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1), Vector3(1, 1, 1), Vector3(1, 1.2, 1)] "values": [Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1)]
} }
tracks/1/type = "value" tracks/1/type = "value"
tracks/1/imported = false tracks/1/imported = false
@ -397,7 +397,7 @@ visible = false
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
[node name="fireball" parent="BallMesh/FireballPivot/FireballScaleRoot" index="0" instance=ExtResource("5_i8vmm")] [node name="fireball" parent="BallMesh/FireballPivot/FireballScaleRoot" index="0" instance=ExtResource("5_i8vmm")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.2, 0) transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.17, 0)
[node name="Fireball" parent="BallMesh/FireballPivot/FireballScaleRoot/fireball" index="0"] [node name="Fireball" parent="BallMesh/FireballPivot/FireballScaleRoot/fireball" index="0"]
surface_material_override/0 = SubResource("StandardMaterial3D_aqmuo") surface_material_override/0 = SubResource("StandardMaterial3D_aqmuo")

View File

@ -0,0 +1,253 @@
[gd_scene load_steps=20 format=3 uid="uid://brh7twsjw2c5f"]
[ext_resource type="PackedScene" uid="uid://comd88yp45mnb" path="res://src/items/item/item.tscn" id="1_v5gka"]
[ext_resource type="Script" path="res://src/items/extra_ball/extra_ball.gd" id="2_wxxbc"]
[ext_resource type="Shader" path="res://src/shaders/frosted_glass.gdshader" id="3_jybe0"]
[ext_resource type="Texture2D" uid="uid://ckhiq6rfjv63u" path="res://assets/textures/gfolfball/gfolfball.png" id="3_y1s2r"]
[ext_resource type="Texture2D" uid="uid://c2p2in2p7mjyo" path="res://assets/materials/crystal_noise_normal_map.tres" id="4_ki8rs"]
[ext_resource type="Texture2D" uid="uid://cx33n4h5mfcdb" path="res://assets/materials/crystal_noise_map.tres" id="5_3u0nl"]
[ext_resource type="PackedScene" uid="uid://dd2nxbfssd4hh" path="res://assets/models/balls/powerball/fireball.gltf" id="5_gi2ty"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_p5hhx"]
render_priority = 0
shader = ExtResource("3_jybe0")
shader_parameter/albedo = Color(0.5146, 0.62, 0.62, 0.0392157)
shader_parameter/roughness = 0.3
shader_parameter/roughness_texture = ExtResource("5_3u0nl")
shader_parameter/refraction = 0.0100008
shader_parameter/refraction_texture_channel = Vector4(1, 0, 0, 0)
shader_parameter/texture_refraction = ExtResource("5_3u0nl")
shader_parameter/normal_strength = 0.400001
shader_parameter/normal_map = ExtResource("4_ki8rs")
shader_parameter/subsurface_scattering_strength = 1.0
shader_parameter/texture_subsurface_scattering = ExtResource("5_3u0nl")
shader_parameter/edge_color = Color(0, 1, 1.2, 1)
shader_parameter/surface_contribution = 0.2
shader_parameter/specular_contribution = 0.5
shader_parameter/refraction_contribution = 10.0
shader_parameter/alpha = 1.0
shader_parameter/uv1_scale = Vector3(1, 1, 1)
shader_parameter/uv1_offset = Vector3(0, 0, 0)
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_0d52l"]
shading_mode = 0
albedo_color = Color(2, 0.266, 0.266, 1)
albedo_texture = ExtResource("3_y1s2r")
albedo_texture_force_srgb = true
uv1_scale = Vector3(3, 1.5, 3)
texture_filter = 4
[sub_resource type="SphereMesh" id="SphereMesh_qvrp7"]
material = SubResource("StandardMaterial3D_0d52l")
radius = 0.05
height = 0.1
radial_segments = 6
rings = 6
[sub_resource type="Gradient" id="Gradient_f8tdf"]
offsets = PackedFloat32Array(0.291939, 1)
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 0, 1)
[sub_resource type="GradientTexture2D" id="GradientTexture2D_sr8jb"]
gradient = SubResource("Gradient_f8tdf")
fill = 1
fill_from = Vector2(0.5, 0.5)
metadata/_snap_enabled = true
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_nuowb"]
cull_mode = 2
shading_mode = 0
vertex_color_use_as_albedo = true
albedo_color = Color(1, 0.993333, 0.8, 1)
albedo_texture = SubResource("GradientTexture2D_sr8jb")
[sub_resource type="Animation" id="Animation_5t74j"]
resource_name = "flicker"
length = 2.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("FireballScaleRoot:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.00610052, 0.110417, 0.206101, 0.310417, 0.40305, 0.510417, 0.60305, 0.710417, 0.80305, 0.910417, 1, 1.11042, 1.2, 1.31042, 1.4, 1.51042, 1.6, 1.71042, 1.8, 1.9),
"transitions": PackedFloat32Array(0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1, 0.618, 1),
"update": 0,
"values": [Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1), Vector3(1, 1, 1), Vector3(1, 1.03, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("FireballScaleRoot:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = false
tracks/1/keys = {
"times": PackedFloat32Array(0, 2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 2.0944, 0)]
}
[sub_resource type="Animation" id="Animation_2co83"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("FireballScaleRoot:scale")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(1, 1, 1)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("FireballScaleRoot:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_hmunj"]
_data = {
"RESET": SubResource("Animation_2co83"),
"flicker": SubResource("Animation_5t74j")
}
[sub_resource type="Animation" id="Animation_jhb3c"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("ItemMeshContainer:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, -0.2, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Octahedron:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("ItemMeshContainer:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector3(0, 0, 0)]
}
[sub_resource type="Animation" id="Animation_283tf"]
resource_name = "hover"
length = 24.0
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("ItemMeshContainer:position")
tracks/0/interp = 2
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 6, 12, 18),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 0,
"values": [Vector3(0, -0.05, 0), Vector3(0, 0.05, 0), Vector3(0, -0.05, 0), Vector3(0, 0.05, 0)]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("Octahedron:rotation")
tracks/1/interp = 1
tracks/1/loop_wrap = false
tracks/1/keys = {
"times": PackedFloat32Array(0, 24),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, 6.28319, -6.28319)]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("ItemMeshContainer:rotation")
tracks/2/interp = 1
tracks/2/loop_wrap = false
tracks/2/keys = {
"times": PackedFloat32Array(0, 24),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector3(0, 0, 0), Vector3(0, -6.28319, 0)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_jwejx"]
_data = {
"RESET": SubResource("Animation_jhb3c"),
"idle": SubResource("Animation_283tf")
}
[node name="PowerballItem" instance=ExtResource("1_v5gka")]
script = ExtResource("2_wxxbc")
ball_type = 3
amount = 0
[node name="Octahedron" parent="Pivot/Octahedron" index="0"]
surface_material_override/0 = SubResource("ShaderMaterial_p5hhx")
[node name="Pivot" parent="Pivot/Octahedron/ItemMeshContainer" index="0"]
transform = Transform3D(0.99863, 0.052336, 0, -0.052336, 0.99863, 0, 0, 0, 1, 0, 0, 0)
[node name="BallMesh" type="MeshInstance3D" parent="Pivot/Octahedron/ItemMeshContainer/Pivot" index="1"]
transform = Transform3D(4, 0, 0, 0, 2.82843, -2.82843, 0, 2.82843, 2.82843, 0, 0, 0)
mesh = SubResource("SphereMesh_qvrp7")
[node name="FireballPivot" type="Node3D" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh" index="0"]
unique_name_in_owner = true
[node name="FireballScaleRoot" type="Node3D" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot" index="0"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.1, 0)
[node name="fireball" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot/FireballScaleRoot" index="0" instance=ExtResource("5_gi2ty")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.17, 0)
[node name="Fireball" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot/FireballScaleRoot/fireball" index="0"]
sorting_offset = -1.0
surface_material_override/0 = SubResource("StandardMaterial3D_nuowb")
[node name="FireballAnimation" type="AnimationPlayer" parent="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot" index="1"]
libraries = {
"": SubResource("AnimationLibrary_hmunj")
}
autoplay = "flicker"
[node name="@AnimationPlayer@183827" type="AnimationPlayer" parent="Pivot/Octahedron" index="2"]
libraries = {
"": SubResource("AnimationLibrary_jwejx")
}
autoplay = "idle"
[editable path="Pivot/Octahedron"]
[editable path="Pivot/Octahedron/ItemMeshContainer/Pivot/BallMesh/FireballPivot/FireballScaleRoot/fireball"]