Compare commits

...

2 Commits

Author SHA1 Message Date
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 1159 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

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

947
assets/vector/dial.svg Normal file
View File

@@ -0,0 +1,947 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="512"
height="512"
viewBox="0 0 512 512"
version="1.1"
id="svg1"
inkscape:version="1.4.3 (0d15f75042, 2025-12-25)"
sodipodi:docname="dial.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#111111"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="1"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="px"
showgrid="true"
inkscape:zoom="1.5440339"
inkscape:cx="128.55935"
inkscape:cy="235.74611"
inkscape:window-width="2304"
inkscape:window-height="1371"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1">
<inkscape:grid
id="grid1"
units="px"
originx="0"
originy="0"
spacingx="8"
spacingy="8"
empcolor="#0099e5"
empopacity="0.30196078"
color="#0099e5"
opacity="0.14901961"
empspacing="4"
enabled="true"
visible="true" />
</sodipodi:namedview>
<defs
id="defs1" />
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1">
<circle
style="fill:none;stroke:#ffffff;stroke-width:3.96899;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
id="path1"
cx="256"
cy="256"
r="254.0155" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 277.61462,8.9437148 0.52429,-5.9926121"
id="path2"
sodipodi:nodetypes="cc"
inkscape:transform-center-y="-250.05259"
inkscape:tile-cx="256"
inkscape:tile-cy="256"
inkscape:tile-w="4"
inkscape:tile-h="10.015503"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029"
inkscape:transform-center-x="-21.876765" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(10,256,256)"
id="use139"
inkscape:transform-center-x="-44.081466"
inkscape:transform-center-y="-249.03961"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(20,256,256)"
id="use140"
inkscape:transform-center-x="-86.657043"
inkscape:transform-center-y="-237.60147"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(30,256,256)"
id="use141"
inkscape:transform-center-x="-126.59959"
inkscape:transform-center-y="-218.94393"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(40,256,256)"
id="use142"
inkscape:transform-center-x="-161.34467"
inkscape:transform-center-y="-192.28309"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(50,256,256)"
id="use143"
inkscape:transform-center-x="-192.28309"
inkscape:transform-center-y="-161.34467"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(60,256,256)"
id="use144"
inkscape:transform-center-x="-217.37909"
inkscape:transform-center-y="-125.50387"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(70,256,256)"
id="use145"
inkscape:transform-center-x="-235.87013"
inkscape:transform-center-y="-85.849706"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(80,256,256)"
id="use146"
inkscape:transform-center-x="-247.19438"
inkscape:transform-center-y="-43.587037"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(90,256,256)"
id="use147"
inkscape:transform-center-x="-251.00775"
inkscape:transform-center-y="1.2899998e-06"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(100,256,256)"
id="use148"
inkscape:transform-center-x="-247.19438"
inkscape:transform-center-y="43.58704"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(110,256,256)"
id="use149"
inkscape:transform-center-x="-235.87013"
inkscape:transform-center-y="85.849709"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(120,256,256)"
id="use150"
inkscape:transform-center-x="-217.37909"
inkscape:transform-center-y="125.50388"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(130,256,256)"
id="use151"
inkscape:transform-center-x="-192.28309"
inkscape:transform-center-y="161.34467"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(140,256,256)"
id="use152"
inkscape:transform-center-x="-161.34467"
inkscape:transform-center-y="192.28309"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(150,256,256)"
id="use153"
inkscape:transform-center-x="-125.50388"
inkscape:transform-center-y="217.37909"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(160,256,256)"
id="use154"
inkscape:transform-center-x="-85.849707"
inkscape:transform-center-y="235.87013"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(170,256,256)"
id="use155"
inkscape:transform-center-x="-43.587039"
inkscape:transform-center-y="247.19438"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(180,256,256)"
id="use156"
inkscape:transform-center-y="251.00775"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-170,256,256)"
id="use157"
inkscape:transform-center-x="43.587039"
inkscape:transform-center-y="247.19438"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-160,256,256)"
id="use158"
inkscape:transform-center-x="85.849707"
inkscape:transform-center-y="235.87013"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-150,256,256)"
id="use159"
inkscape:transform-center-x="125.50388"
inkscape:transform-center-y="217.37909"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-140,256,256)"
id="use160"
inkscape:transform-center-x="161.34467"
inkscape:transform-center-y="192.28309"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-130,256,256)"
id="use161"
inkscape:transform-center-x="192.28309"
inkscape:transform-center-y="161.34467"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-120,256,256)"
id="use162"
inkscape:transform-center-x="217.37909"
inkscape:transform-center-y="125.50388"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-110,256,256)"
id="use163"
inkscape:transform-center-x="235.87013"
inkscape:transform-center-y="85.849709"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-100,256,256)"
id="use164"
inkscape:transform-center-x="247.19438"
inkscape:transform-center-y="43.58704"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-90,256,256)"
id="use165"
inkscape:transform-center-x="251.00775"
inkscape:transform-center-y="1.5989648e-06"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-80,256,256)"
id="use166"
inkscape:transform-center-x="247.19438"
inkscape:transform-center-y="-43.587037"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-70,256,256)"
id="use167"
inkscape:transform-center-x="235.87013"
inkscape:transform-center-y="-85.849706"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-60,256,256)"
id="use168"
inkscape:transform-center-x="217.37909"
inkscape:transform-center-y="-125.50387"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-50,256,256)"
id="use169"
inkscape:transform-center-x="192.28309"
inkscape:transform-center-y="-161.34467"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-40,256,256)"
id="use170"
inkscape:transform-center-x="161.34467"
inkscape:transform-center-y="-192.28309"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-30,256,256)"
id="use171"
inkscape:transform-center-x="126.31122"
inkscape:transform-center-y="-219.11043"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-20,256,256)"
id="use172"
inkscape:transform-center-x="86.344134"
inkscape:transform-center-y="-237.71536"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path2"
xlink:href="#path2"
transform="rotate(-10,256,256)"
id="use173"
inkscape:transform-center-x="43.753534"
inkscape:transform-center-y="-249.09743"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 300.10933,5.8435634 297.67556,19.646139"
id="use280"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 342.87842,18.065402 -4.79359,13.170265"
id="use281"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 419.27802,61.412836 -9.00899,10.736498"
id="use283"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 450.58716,92.721982 -10.73649,9.008988"
id="use284"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 494.69649,169.12158 -13.17026,4.79359"
id="use286"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 506.15644,211.89067 -13.80258,2.43377"
id="use287"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 506.15644,300.10933 -13.80258,-2.43377"
id="use289"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 494.69649,342.87842 -13.17026,-4.79359"
id="use290"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 450.58716,419.27802 -10.73649,-9.00899"
id="use292"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 419.27802,450.58716 -9.00899,-10.73649"
id="use293"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 342.87842,494.69649 -4.79359,-13.17026"
id="use295"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 300.10933,506.15644 -2.43377,-13.80258"
id="use296"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 211.89067,506.15644 2.43377,-13.80258"
id="use298"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 169.12158,494.69649 4.79359,-13.17026"
id="use299"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 92.721982,450.58716 9.008988,-10.73649"
id="use301"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 61.412836,419.27802 10.736498,-9.00899"
id="use302"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 17.303506,342.87842 13.170265,-4.79359"
id="use304"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 5.8435634,300.10933 19.646139,297.67556"
id="use305"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 5.8435634,211.89067 13.8025756,2.43377"
id="use307"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 17.303506,169.12158 13.170265,4.79359"
id="use308"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 61.412836,92.721982 10.736498,9.008988"
id="use310"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 92.721982,61.412836 9.008988,10.736498"
id="use311"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 169.12158,17.303506 4.79359,13.170265"
id="use313"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="m 211.89067,5.8435634 2.43377,13.8025756"
id="use314"
inkscape:transform-center-y="-247.00775"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
d="M 256,1.9844971 V 32"
id="path314"
inkscape:transform-center-y="-239.00775"
inkscape:tile-cx="256"
inkscape:tile-cy="256"
inkscape:tile-w="4"
inkscape:tile-h="34.015503"
inkscape:tile-x0="254"
inkscape:tile-y0="-0.0155029" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
id="use315"
inkscape:transform-center-y="-239.00775"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(30,256,256)"
id="use316"
inkscape:transform-center-x="-119.50388"
inkscape:transform-center-y="-206.98678"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(60,256,256)"
id="use317"
inkscape:transform-center-x="-206.98678"
inkscape:transform-center-y="-119.50387"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(90,256,256)"
id="use318"
inkscape:transform-center-x="-239.00775"
inkscape:transform-center-y="1.45e-06"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(120,256,256)"
id="use319"
inkscape:transform-center-x="-206.98678"
inkscape:transform-center-y="119.50388"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(150,256,256)"
id="use320"
inkscape:transform-center-x="-119.50388"
inkscape:transform-center-y="206.98679"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(180,256,256)"
id="use321"
inkscape:transform-center-y="239.00775"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-150,256,256)"
id="use322"
inkscape:transform-center-x="119.50388"
inkscape:transform-center-y="206.98679"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-120,256,256)"
id="use323"
inkscape:transform-center-x="206.98678"
inkscape:transform-center-y="119.50388"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-90,256,256)"
id="use324"
inkscape:transform-center-x="239.00775"
inkscape:transform-center-y="1.45e-06"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-60,256,256)"
id="use325"
inkscape:transform-center-x="206.98678"
inkscape:transform-center-y="-119.50387"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-30,256,256)"
id="use326"
inkscape:transform-center-x="119.50388"
inkscape:transform-center-y="-206.98678"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
id="use327"
inkscape:transform-center-y="-239.00775"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(30,256,256)"
id="use328"
inkscape:transform-center-x="-119.50388"
inkscape:transform-center-y="-206.98678"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(60,256,256)"
id="use329"
inkscape:transform-center-x="-206.98678"
inkscape:transform-center-y="-119.50387"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(90,256,256)"
id="use330"
inkscape:transform-center-x="-239.00775"
inkscape:transform-center-y="1.45e-06"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(120,256,256)"
id="use331"
inkscape:transform-center-x="-206.98678"
inkscape:transform-center-y="119.50388"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(150,256,256)"
id="use332"
inkscape:transform-center-x="-119.50388"
inkscape:transform-center-y="206.98679"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(180,256,256)"
id="use333"
inkscape:transform-center-y="239.00775"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-150,256,256)"
id="use334"
inkscape:transform-center-x="119.50388"
inkscape:transform-center-y="206.98679"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-120,256,256)"
id="use335"
inkscape:transform-center-x="206.98678"
inkscape:transform-center-y="119.50388"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-90,256,256)"
id="use336"
inkscape:transform-center-x="239.00775"
inkscape:transform-center-y="1.45e-06"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-60,256,256)"
id="use337"
inkscape:transform-center-x="206.98678"
inkscape:transform-center-y="-119.50387"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-30,256,256)"
id="use338"
inkscape:transform-center-x="119.50388"
inkscape:transform-center-y="-206.98678"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
id="use339"
inkscape:transform-center-y="-239.00775"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(30,256,256)"
id="use340"
inkscape:transform-center-x="-119.50388"
inkscape:transform-center-y="-206.98678"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(60,256,256)"
id="use341"
inkscape:transform-center-x="-206.98678"
inkscape:transform-center-y="-119.50387"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(90,256,256)"
id="use342"
inkscape:transform-center-x="-239.00775"
inkscape:transform-center-y="1.45e-06"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(120,256,256)"
id="use343"
inkscape:transform-center-x="-206.98678"
inkscape:transform-center-y="119.50388"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(150,256,256)"
id="use344"
inkscape:transform-center-x="-119.50388"
inkscape:transform-center-y="206.98679"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(180,256,256)"
id="use345"
inkscape:transform-center-y="239.00775"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-150,256,256)"
id="use346"
inkscape:transform-center-x="119.50388"
inkscape:transform-center-y="206.98679"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-120,256,256)"
id="use347"
inkscape:transform-center-x="206.98678"
inkscape:transform-center-y="119.50388"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-90,256,256)"
id="use348"
inkscape:transform-center-x="239.00775"
inkscape:transform-center-y="1.45e-06"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
<use
x="0"
y="0"
inkscape:tiled-clone-of="#path314"
xlink:href="#path314"
transform="rotate(-60,256,256)"
id="use349"
inkscape:transform-center-x="206.98678"
inkscape:transform-center-y="-119.50387"
style="stroke-linecap:butt;stroke:#ffffff;fill:none" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 32 KiB

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"] [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] [node name="MainDisplay" type="Control" unique_id=735638234]
layout_mode = 3 layout_mode = 3
anchors_preset = 15 anchors_preset = 15
@@ -7,3 +9,19 @@ anchor_right = 1.0
anchor_bottom = 1.0 anchor_bottom = 1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 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