Basic 3D compass (with LFS)
This commit is contained in:
BIN
assets/models/grey-seal-halichoerus-grypus/grey_seal_clean.glb
LFS
Normal file
BIN
assets/models/grey-seal-halichoerus-grypus/grey_seal_clean.glb
LFS
Normal file
Binary file not shown.
@@ -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
|
||||
BIN
assets/models/grey-seal-halichoerus-grypus/grey_seal_clean_Image_0.png
LFS
Normal file
BIN
assets/models/grey-seal-halichoerus-grypus/grey_seal_clean_Image_0.png
LFS
Normal file
Binary file not shown.
@@ -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
BIN
assets/vector/dial.svg
LFS
Normal file
Binary file not shown.
44
assets/vector/dial.svg.import
Normal file
44
assets/vector/dial.svg.import
Normal 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
|
||||
@@ -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
35
scenes/compass.tscn
Normal 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
11
scenes/node_3d.gd
Normal 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
1
scenes/node_3d.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cv5cmdlub5gtx
|
||||
16
scripts/angle_display_3d.gd
Normal file
16
scripts/angle_display_3d.gd
Normal 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
|
||||
1
scripts/angle_display_3d.gd.uid
Normal file
1
scripts/angle_display_3d.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cgcgn8lwigumx
|
||||
Reference in New Issue
Block a user