Improved html5 performance

This commit is contained in:
Manuel Erdmann 2025-06-10 01:32:17 +02:00
parent 1aff15069a
commit af41271af2
9 changed files with 63 additions and 54 deletions

View file

@ -277,6 +277,7 @@ func place_insect_tile(resource_path: String, is_black: bool, pos: Vector4i) ->
tile_copy.set_multiplayer_authority(sender_id)
add_child(tile_copy)
tile_copy.reset_physics_interpolation()
GameEvents.insect_tile_created.emit(tile_copy, pos)

View file

@ -17,7 +17,7 @@ var map_reference: HexGrid
var is_active: bool = true
const BUILD_GHOST = preload("res://InsectTiles/BuildGhost.tscn")
const BUILD_GHOST: PackedScene = preload("res://InsectTiles/BuildGhost.tscn")
# Called when the node enters the scene tree for the first time.
func _ready():
if insect_resource == null:
@ -28,6 +28,14 @@ func _ready():
GameEvents.insect_tile_moved.connect(_on_insect_tile_moved)
else:
GameEvents.insect_placed.connect(_on_insect_placed)
tile = BUILD_GHOST.instantiate()
tile.resource = insect_resource
tile.is_black = is_black
tile.map_reference = map_reference
add_child(tile)
tile.visible = false
func _on_insect_tile_moved(tile: InsectTile, to: Vector4i) -> void:
is_active = false
@ -39,31 +47,23 @@ func _on_insect_placed(resource: TileResource, is_black: bool, pos: Vector4i) ->
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
func _input_event(camera, event, position, normal, shape_idx):
func _on_mouse_entered():
hovered = true
tile.visible = true
func _on_input_event(camera, event, position, normal, shape_idx):
if Input.is_action_just_pressed("place_tile") and is_active:
if hovered:
if is_moving:
GameEvents.insect_tile_moved.emit(insect_tile, coordinates)
else:
GameEvents.insect_placed.emit(insect_resource, is_black, coordinates)
func _on_mouse_entered():
hovered = true
tile = BUILD_GHOST.instantiate()
tile.resource = insect_resource
tile.is_black = is_black
tile.map_reference = map_reference
add_child(tile)
func _on_input_event(camera, event, position, normal, shape_idx):
pass # Replace with function body.
func _on_mouse_exited():
hovered = false
if tile:
tile.queue_free()
tile = null
tile.visible = false
#if tile:
#tile.queue_free()
#tile = null

View file

@ -1,4 +1,4 @@
extends Area3D
extends Node3D
@export var coordinates: Vector4i
@export var is_black: bool = false
@ -10,13 +10,13 @@ var map_reference: HexGrid
func _ready() -> void:
if is_black:
hexagon_small.set_surface_override_material(0, resource.material_black.duplicate())
hexagon_small.get_surface_override_material(0).albedo_texture = resource.material_black.albedo_texture
else:
hexagon_small.set_surface_override_material(0, resource.material_white.duplicate())
hexagon_small.get_surface_override_material(0).albedo_texture = resource.material_white.albedo_texture
if is_black:
hexagon_small.rotation.y = PI
var mat: StandardMaterial3D = hexagon_small.get_surface_override_material(0)
mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA
mat.albedo_color.a = 0.5
#var mat: StandardMaterial3D = hexagon_small.get_surface_override_material(0)
#mat.transparency = BaseMaterial3D.TRANSPARENCY_ALPHA
#mat.albedo_color.a = 0.5

File diff suppressed because one or more lines are too long

View file

@ -1,11 +1,6 @@
extends MeshInstance3D
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
scale.y = 1.0+sin(Time.get_ticks_msec() * 0.002)*0.1

View file

@ -10,8 +10,10 @@ export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../SwarmWeb/index.html"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
@ -52,8 +54,10 @@ export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../SwarmWindows/Swarm.exe"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
@ -121,8 +125,10 @@ export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="../SwarmLinux/Swarm.x86_64"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2

Binary file not shown.

View file

@ -1,8 +1,9 @@
[gd_scene load_steps=7 format=3 uid="uid://y2t5rrkvs0c0"]
[gd_scene load_steps=8 format=3 uid="uid://y2t5rrkvs0c0"]
[ext_resource type="Script" uid="uid://rbug8ibnb87v" path="res://HexOutline.gd" id="1_cbscl"]
[ext_resource type="ArrayMesh" uid="uid://cocujjycabbp3" path="res://hex_outline.res" id="2_hwabu"]
[ext_resource type="Script" uid="uid://btn30al6m0cfa" path="res://MeshBreather.gd" id="3_6b28p"]
[ext_resource type="Material" uid="uid://bxwitvdpsoro6" path="res://hex_outline_material.tres" id="3_lvy2v"]
[ext_resource type="ArrayMesh" uid="uid://2hoclmeiswwf" path="res://hex_outline_bottom.res" id="4_lr4wm"]
[sub_resource type="ConcavePolygonShape3D" id="ConcavePolygonShape3D_uta8s"]
@ -13,6 +14,7 @@ transparency = 1
albedo_color = Color(0.133333, 0.592157, 0, 0.607843)
[node name="HexOutline" type="Area3D"]
collision_mask = 0
monitoring = false
script = ExtResource("1_cbscl")
@ -21,12 +23,13 @@ shape = SubResource("ConcavePolygonShape3D_uta8s")
[node name="Mesh" type="MeshInstance3D" parent="."]
mesh = ExtResource("2_hwabu")
skeleton = NodePath("../../..")
skeleton = NodePath("")
surface_material_override/0 = ExtResource("3_lvy2v")
script = ExtResource("3_6b28p")
[node name="HexOutlineBottom" type="MeshInstance3D" parent="Mesh"]
mesh = ExtResource("4_lr4wm")
skeleton = NodePath("../../../..")
skeleton = NodePath("")
surface_material_override/0 = SubResource("StandardMaterial3D_tu70t")
[connection signal="input_event" from="." to="." method="_on_input_event"]

View file

@ -15,6 +15,10 @@ run/main_scene="res://UI/main_menu.tscn"
config/features=PackedStringArray("4.4", "Mobile")
config/icon="res://icon.svg"
[audio]
driver/driver="Dummy"
[autoload]
GameEvents="*res://Globals/GameEvents.gd"
@ -85,6 +89,14 @@ toggle_controls={
]
}
[physics]
common/physics_ticks_per_second=30
common/physics_jitter_fix=0.0
3d/physics_engine="Jolt Physics"
jolt_physics_3d/simulation/areas_detect_static_bodies=true
common/physics_interpolation=true
[rendering]
textures/vram_compression/import_etc2_astc=true