Compare commits

...

8 Commits

Author SHA1 Message Date
RedNicStone
e7ab3c258f Merge branch 'main' of origin, keeping LFS versions 2026-04-28 22:10:03 +02:00
RedNicStone
f02e194cde Basic 3D compass (with LFS) 2026-04-28 22:07:48 +02:00
RedNicStone
f0286ab90d Merge remote-tracking branch 'origin/main' 2026-04-28 22:03:07 +02:00
RedNicStone
25fc5f0eae Basic 3D compass 2026-04-28 22:02:56 +02:00
RedNicStone
0cf4c57023 Merge remote-tracking branch 'origin/main' 2026-04-28 22:00:06 +02:00
RedNicStone
2dd892b48a Basic 3D compass 2026-04-28 21:58:24 +02:00
RedNicStone
3d1b096df1 Merge branch 'main' of https://git.epsncl.uk/ROV/SurfaceSide-UI 2026-04-28 21:45:17 +02:00
RedNicStone
f2d52710de Basic 3D compass 2026-04-28 21:44:29 +02:00
12 changed files with 221 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://0qb2f8igltax"
path="res://.godot/imported/grey_seal_clean.glb-5cfb1e2a37e293df0fceb791bda0d0bf.scn"
[deps]
source_file="res://assets/models/grey-seal-halichoerus-grypus/grey_seal_clean.glb"
dest_files=["res://.godot/imported/grey_seal_clean.glb-5cfb1e2a37e293df0fceb791bda0d0bf.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={}
gltf/naming_version=2
gltf/embedded_image_handling=1

View File

@@ -0,0 +1,44 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmab2r4r8h6kg"
path.s3tc="res://.godot/imported/grey_seal_clean_Image_0.png-79b10cc69366c1643b8eaf10ac139de0.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "b028693a4b1518fec263a2aaf78a7691"
}
[deps]
source_file="res://assets/models/grey-seal-halichoerus-grypus/grey_seal_clean_Image_0.png"
dest_files=["res://.godot/imported/grey_seal_clean_Image_0.png-79b10cc69366c1643b8eaf10ac139de0.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

BIN
assets/vector/dial.svg LFS Normal file

Binary file not shown.

View File

@@ -0,0 +1,44 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cjw3n47kehnfj"
path.s3tc="res://.godot/imported/dial.svg-109dd48e66db5803776f539728051e27.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://assets/vector/dial.svg"
dest_files=["res://.godot/imported/dial.svg-109dd48e66db5803776f539728051e27.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View File

@@ -1,5 +1,7 @@
[gd_scene format=3 uid="uid://bx8vjd7wodbv"]
[ext_resource type="PackedScene" uid="uid://j2vmxn1p5hej" path="res://scenes/compass.tscn" id="1_5j21v"]
[node name="MainDisplay" type="Control" unique_id=735638234]
layout_mode = 3
anchors_preset = 15
@@ -7,3 +9,19 @@ anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
[node name="SubViewportContainer" type="SubViewportContainer" parent="." unique_id=1834501597]
layout_mode = 1
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
grow_horizontal = 2
grow_vertical = 2
stretch = true
[node name="SubViewport" type="SubViewport" parent="SubViewportContainer" unique_id=697927821]
handle_input_locally = false
size = Vector2i(1152, 648)
render_target_update_mode = 4
[node name="Compass" parent="SubViewportContainer/SubViewport" unique_id=1678590387 instance=ExtResource("1_5j21v")]

35
scenes/compass.tscn Normal file
View File

@@ -0,0 +1,35 @@
[gd_scene format=3 uid="uid://j2vmxn1p5hej"]
[ext_resource type="Script" uid="uid://cgcgn8lwigumx" path="res://scripts/angle_display_3d.gd" id="1_8a3he"]
[ext_resource type="Texture2D" uid="uid://cjw3n47kehnfj" path="res://assets/vector/dial.svg" id="1_vggt3"]
[ext_resource type="PackedScene" uid="uid://0qb2f8igltax" path="res://assets/models/grey-seal-halichoerus-grypus/grey_seal_clean.glb" id="2_8a3he"]
[ext_resource type="Script" uid="uid://cv5cmdlub5gtx" path="res://scenes/node_3d.gd" id="3_mut2o"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_mut2o"]
transparency = 1
cull_mode = 2
shading_mode = 0
albedo_color = Color(0.44361365, 0.72118443, 0, 1)
albedo_texture = ExtResource("1_vggt3")
[sub_resource type="PlaneMesh" id="PlaneMesh_wivqi"]
material = SubResource("StandardMaterial3D_mut2o")
[node name="Compass" type="Node3D" unique_id=1678590387]
[node name="AngleDisplay3D" type="Node3D" parent="." unique_id=741461034]
script = ExtResource("1_8a3he")
[node name="MeshInstance3D" type="MeshInstance3D" parent="AngleDisplay3D" unique_id=1205234959]
mesh = SubResource("PlaneMesh_wivqi")
[node name="Node3D" type="Node3D" parent="." unique_id=1404656477]
script = ExtResource("3_mut2o")
[node name="grey_seal_clean" parent="Node3D" unique_id=476466866 instance=ExtResource("2_8a3he")]
transform = Transform3D(2, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
[node name="Camera3D" type="Camera3D" parent="Node3D" unique_id=269443754]
transform = Transform3D(0.7071068, -0.43045935, 0.5609855, 0, 0.7933534, 0.6087614, -0.7071068, -0.43045935, 0.5609855, 2, 2, 2)
fov = 28.4
size = 1.5

11
scenes/node_3d.gd Normal file
View File

@@ -0,0 +1,11 @@
extends Node3D
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta: float) -> void:
self.rotate_y(delta * 0.1)

1
scenes/node_3d.gd.uid Normal file
View File

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

View File

@@ -0,0 +1,16 @@
extends Node3D
func _ready() -> void:
for i in range(0, 360, 30):
var label := Label3D.new()
label.text = str(i)
label.billboard = BaseMaterial3D.BILLBOARD_ENABLED
label.font_size = 64
label.pixel_size = 0.0025
var base_position = Vector2.from_angle(deg_to_rad(i)) * 1.15
label.position = Vector3(base_position.x, 0.0, base_position.y)
add_child(label)
func _process(delta: float) -> void:
pass

View File

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