modification de l'UI en 3D et renommage des particules

This commit is contained in:
2026-02-07 16:41:39 +01:00
parent 3a82e8b3c1
commit 9570fd96c2
30 changed files with 295 additions and 110 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,68 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b13vhoha7fkr8"
path="res://.godot/imported/screen_battery.blend-85248f134ff293ea54a84f3e6477980f.scn"
[deps]
source_file="res://gui/game/energy_info/assets/3d/screen_battery.blend"
dest_files=["res://.godot/imported/screen_battery.blend-85248f134ff293ea54a84f3e6477980f.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/root_script=null
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_name_suffixes=true
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
materials/extract=0
materials/extract_format=0
materials/extract_path=""
_subresources={
"materials": {
"Material": {
"use_external/enabled": true,
"use_external/fallback_path": "res://common/assets/materials/default_3d.tres",
"use_external/path": "uid://dvvi1k5c5iowc"
}
}
}
blender/nodes/visible=0
blender/nodes/active_collection_only=false
blender/nodes/punctual_lights=true
blender/nodes/cameras=true
blender/nodes/custom_properties=true
blender/nodes/modifiers=1
blender/meshes/colors=false
blender/meshes/uvs=true
blender/meshes/normals=true
blender/meshes/export_geometry_nodes_instances=false
blender/meshes/gpu_instances=false
blender/meshes/tangents=true
blender/meshes/skins=2
blender/meshes/export_bones_deforming_mesh_only=false
blender/materials/unpack_enabled=true
blender/materials/export_materials=1
blender/animation/limit_playback=true
blender/animation/always_sample=true
blender/animation/group_tracks=true
gltf/naming_version=2

Binary file not shown.

View File

@@ -0,0 +1,23 @@
[gd_scene format=3 uid="uid://c7n8vtfjaalpm"]
[ext_resource type="Script" uid="uid://cgmt80g1322fn" path="res://gui/game/energy_info/scripts/battery_3d.gd" id="1_k6iqj"]
[ext_resource type="PackedScene" uid="uid://ddfdj8lb24f6g" path="res://gui/game/energy_info/assets/3d/battery.blend" id="2_trgpr"]
[ext_resource type="Texture2D" uid="uid://dlsx1mofjccib" path="res://common/assets/textures/3d_texture.png" id="3_4dn1y"]
[sub_resource type="AtlasTexture" id="AtlasTexture_0785j"]
atlas = ExtResource("3_4dn1y")
region = Rect2(16.405571, 12.916401, 7.3732758, 36.0836)
[node name="Battery" type="Node3D" unique_id=250427516]
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
script = ExtResource("1_k6iqj")
powered = false
[node name="BatteryModel" parent="." unique_id=2087566235 instance=ExtResource("2_trgpr")]
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
[node name="NonPoweredBatteryGauge" type="Sprite3D" parent="." unique_id=419634974]
unique_name_in_owner = true
transform = Transform3D(-9.0001855e-08, -0.008180644, 0.9999901, -1.1066229, -1.3152051, -0.003110032, 1.1066215, -1.3152068, -0.003109955, 0.28073934, 0.18676496, -0.05360138)
centered = false
texture = SubResource("AtlasTexture_0785j")

View File

@@ -5,7 +5,7 @@
[ext_resource type="Theme" uid="uid://bgcmd213j6gk1" path="res://gui/ressources/hud.tres" id="2_h7p5h"]
[ext_resource type="FontFile" uid="uid://qt80w6o01q5s" path="res://gui/ressources/fonts/TitanOne-Regular.ttf" id="3_c14dn"]
[ext_resource type="Texture2D" uid="uid://dcgnamu7sb3ov" path="res://common/icons/bolt.svg" id="4_rqwov"]
[ext_resource type="PackedScene" uid="uid://ddfdj8lb24f6g" path="res://gui/game/energy_info/assets/3d/battery.blend" id="6_c14dn"]
[ext_resource type="PackedScene" uid="uid://d01cp8xl0rme4" path="res://gui/game/energy_info/energy_info_3d.tscn" id="6_tj7lw"]
[ext_resource type="Material" uid="uid://cr7bp4fhh1ipr" path="res://entities/player_3d/resources/materials/post_process_quad.tres" id="7_rqwov"]
[ext_resource type="Environment" uid="uid://bxyp24f85p0xf" path="res://gui/game/assets/gui_3d_environment.tres" id="8_tj7lw"]
@@ -29,9 +29,10 @@ stretch_mode = 2
[node name="IconPlacer" type="MarginContainer" parent="." unique_id=667163887]
layout_mode = 2
size_flags_horizontal = 8
size_flags_horizontal = 0
size_flags_vertical = 0
theme_override_constants/margin_top = 13
theme_override_constants/margin_left = 23
theme_override_constants/margin_top = 58
theme_override_constants/margin_right = 20
theme_override_constants/margin_bottom = 0
@@ -45,9 +46,9 @@ stretch_mode = 5
[node name="TextPlacer" type="MarginContainer" parent="." unique_id=1669037421]
layout_mode = 2
size_flags_vertical = 0
theme_override_constants/margin_left = 7
theme_override_constants/margin_top = 81
theme_override_constants/margin_right = 7
theme_override_constants/margin_left = 20
theme_override_constants/margin_top = 9
theme_override_constants/margin_right = 418
[node name="EnergyCount" type="RichTextLabel" parent="TextPlacer" unique_id=1073572949]
unique_name_in_owner = true
@@ -58,7 +59,7 @@ theme_override_fonts/bold_font = ExtResource("3_c14dn")
theme_override_fonts/bold_italics_font = ExtResource("3_c14dn")
theme_override_fonts/italics_font = ExtResource("3_c14dn")
theme_override_font_sizes/normal_font_size = 30
theme_override_font_sizes/bold_font_size = 70
theme_override_font_sizes/bold_font_size = 40
bbcode_enabled = true
text = "[b]0[/b] / 3"
fit_content = true
@@ -73,20 +74,22 @@ metadata/_custom_type_script = "uid://0dhj8sdpil7q"
[node name="BatteryViewport" type="SubViewport" parent="." unique_id=146346475]
own_world_3d = true
transparent_bg = true
size = Vector2i(144, 184)
size = Vector2i(529, 190)
[node name="battery" parent="BatteryViewport" unique_id=1405747982 instance=ExtResource("6_c14dn")]
transform = Transform3D(0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994, 0, 0, 0)
[node name="Camera3D" type="Camera3D" parent="BatteryViewport" unique_id=328545179]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 4.2918096, -0.38356447, 0)
current = true
fov = 39.9
[node name="MeshInstance3D" type="MeshInstance3D" parent="BatteryViewport" unique_id=1467847837]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 2.8120923, -0.4413929, 0)
mesh = SubResource("QuadMesh_tj7lw")
surface_material_override/0 = ExtResource("7_rqwov")
[node name="EnergyInfo3d" parent="BatteryViewport" unique_id=1798644168 instance=ExtResource("6_tj7lw")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.918, 2)
max_energy = 3
[node name="WorldEnvironment" type="WorldEnvironment" parent="BatteryViewport" unique_id=1322215759]
environment = ExtResource("8_tj7lw")
[node name="Camera3D" type="Camera3D" parent="BatteryViewport" unique_id=597830916]
transform = Transform3D(-4.371139e-08, 0, 1, 0, 1, 0, -1, 0, -4.371139e-08, 15.465, -0.4, 0.1)
fov = 10.1
[node name="MeshInstance3D" type="MeshInstance3D" parent="BatteryViewport/Camera3D" unique_id=1583578016]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.057, -0.2)
mesh = SubResource("QuadMesh_tj7lw")
skeleton = NodePath("../..")
surface_material_override/0 = ExtResource("7_rqwov")

View File

@@ -0,0 +1,16 @@
[gd_scene format=3 uid="uid://d01cp8xl0rme4"]
[ext_resource type="Script" uid="uid://d1gwwha7syyo0" path="res://gui/game/energy_info/scripts/energy_info_3d.gd" id="1_6g71k"]
[ext_resource type="PackedScene" uid="uid://b13vhoha7fkr8" path="res://gui/game/energy_info/assets/3d/screen_battery.blend" id="1_k4787"]
[node name="EnergyInfo3d" type="Node3D" unique_id=1798644168]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.917917, 0)
script = ExtResource("1_6g71k")
max_energy = 8
energy = 3
[node name="screen_battery" parent="." unique_id=1178181269 instance=ExtResource("1_k4787")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.98991156, 0.84792256)
[node name="Batteries" type="Node3D" parent="." unique_id=170543488]
unique_name_in_owner = true

View File

@@ -0,0 +1,17 @@
@tool
extends Node3D
class_name Battery3d
const MAX_BATTERY_GAUGE_SPRITE_SCALE = 1.86
@export var powered : bool = true : set = set_powered
func _ready():
set_powered()
func set_powered(_powered : bool = powered):
var old_powered = powered
powered = _powered
if is_node_ready() and old_powered != powered:
var tween : Tween = get_tree().create_tween()
tween.tween_property(%NonPoweredBatteryGauge, "scale:y", 0. if powered else MAX_BATTERY_GAUGE_SPRITE_SCALE, 0.3)

View File

@@ -0,0 +1 @@
uid://cgmt80g1322fn

View File

@@ -23,5 +23,7 @@ func update(
# if with_animation:
# %EnergyAnimationPlayer.bounce()
%EnergyInfo3d.energy = energy
%EnergyInfo3d.max_energy = max_energy
%EnergyCount.text = energy_count_text
%EnergyCount.modulate = Color.WHITE if energy > 0 else Color.RED

View File

@@ -0,0 +1,38 @@
@tool
extends Node3D
const BATTERY_SCENE = preload("res://gui/game/energy_info/battery_3d.tscn")
const BATTERY_SHIFT = Vector3(0,0,-1)
@export var max_energy : int = 0 : set = set_max_energy
@export var energy : int = 0 : set = set_energy
func _ready():
set_max_energy()
func set_max_energy(_max_energy : int = max_energy):
var old = max_energy
max_energy = _max_energy
if is_node_ready() and max_energy != len(%Batteries.get_children()):
for c in %Batteries.get_children():
c.queue_free()
for i in range(max_energy):
var new_battery := BATTERY_SCENE.instantiate() as Battery3d
%Batteries.add_child(new_battery)
new_battery.position = BATTERY_SHIFT * i
await get_tree().create_timer(0.1).timeout
set_energy()
func set_energy(_energy : int = energy):
energy = _energy
if is_node_ready():
var energy_count = 0
for battery in %Batteries.get_children():
if not battery.is_node_ready():
await battery.ready
if battery is Battery3d:
battery.powered = energy_count < energy
print(battery.powered)
energy_count += 1

View File

@@ -0,0 +1 @@
uid://d1gwwha7syyo0