Add FrameAnimator3D for animated texture support on Blockbench models

This commit is contained in:
MaddoScientisto 2026-02-28 20:44:20 +01:00
commit 07be138a1b
3 changed files with 158 additions and 0 deletions

View file

@ -5,10 +5,60 @@
[ext_resource type="AudioStream" uid="uid://bjvklk7qmlivd" path="res://SFX/288963__littlerobotsoundfactory__click_electronic_14.wav" id="3_pmslt"]
[ext_resource type="AudioStream" uid="uid://myr6n2c1u503" path="res://SFX/581602__samsterbirdies__beep-error.mp3" id="4_4smss"]
[ext_resource type="PackedScene" uid="uid://w6jg5rx6d5gp" path="res://3D/BlockbenchModels/ControlPad/Control_Pad_Shoot.gltf" id="5_uhypp"]
[ext_resource type="Texture2D" uid="uid://b7i8madir447q" path="res://3D/BlockbenchModels/ControlPad/Control_Pad_Shoot_0.png" id="6_pmslt"]
[ext_resource type="Script" uid="uid://b46e1ft1scvwt" path="res://Scripts/Interactables/FrameAnimator3D.cs" id="6_uok2k"]
[sub_resource type="SphereShape3D" id="SphereShape3D_itd0i"]
radius = 0.868968
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_4smss"]
resource_name = "material_0"
transparency = 2
alpha_scissor_threshold = 0.05
alpha_antialiasing_mode = 0
cull_mode = 2
albedo_texture = ExtResource("6_pmslt")
texture_filter = 0
texture_repeat = false
[sub_resource type="Animation" id="Animation_pmslt"]
resource_name = "Flash"
length = 0.8
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatorManager:CurrentFrame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.20016107, 0.40089402, 0.60219884),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [0, 1, 2, 3]
}
[sub_resource type="Animation" id="Animation_4smss"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("AnimatorManager:CurrentFrame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_fmo5v"]
_data = {
&"Flash": SubResource("Animation_pmslt"),
&"RESET": SubResource("Animation_4smss")
}
[node name="ControlPad" type="Area3D" unique_id=454991887 groups=["Interactable"]]
collision_layer = 0
collision_mask = 136
@ -38,3 +88,16 @@ stream = ExtResource("4_4smss")
bus = &"Effects"
[node name="blockbench_export2" parent="." unique_id=920256639 instance=ExtResource("5_uhypp")]
[node name="cylinder" parent="blockbench_export2" index="0"]
surface_material_override/0 = SubResource("StandardMaterial3D_4smss")
[node name="AnimatorManager" type="Node3D" parent="." unique_id=1796988427 node_paths=PackedStringArray("TargetMesh")]
script = ExtResource("6_uok2k")
TargetMesh = NodePath("../blockbench_export2/cylinder")
[node name="AnimationPlayer" type="AnimationPlayer" parent="." unique_id=38747516]
libraries/ = SubResource("AnimationLibrary_fmo5v")
autoplay = &"Flash"
[editable path="blockbench_export2"]