diff --git a/.forgejo/hypsographic-curve.jpg b/.forgejo/hypsographic-curve.jpg deleted file mode 100644 index 3e1efb9..0000000 --- a/.forgejo/hypsographic-curve.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:41b3a3cb6ccb59cf3a3eb40809ddbc1c7090eb5a7010854527e96d76da83b3d7 -size 56070 diff --git a/README.md b/README.md index c8dfb02..40fbab5 100644 --- a/README.md +++ b/README.md @@ -50,8 +50,6 @@ This project is licensed under the MIT License - see the LICENSE.md file for det * [Fractal Philosophy's video](https://www.youtube.com/watch?v=7xL0udlhnqI) * [Devote's video](https://www.youtube.com/watch?v=CeJz8tsgCPw) * [DomPizzie's readme template](https://gist.github.com/DomPizzie/7a5ff55ffa9081f2de27c315f5018afc) -* [Jyri Puputti](https://github.com/puputskov) - Math Genius -* [Mikael Mustonen](https://github.com/wastedalmond) - Color Genious ## End ![Exported Planet](.forgejo/export.png?raw=true) \ No newline at end of file diff --git a/assets/PlanetBase.glb b/assets/PlanetBase.glb new file mode 100644 index 0000000..0485efa --- /dev/null +++ b/assets/PlanetBase.glb @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:efae792f29c6d0f3a696fed43f2ac0fd487e29513b4ee88f372161913f9e53d0 +size 27453584 diff --git a/assets/PlanetBase.glb.import b/assets/PlanetBase.glb.import new file mode 100644 index 0000000..b7b1cbc --- /dev/null +++ b/assets/PlanetBase.glb.import @@ -0,0 +1,54 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://cdtbfiae03msw" +path="res://.godot/imported/PlanetBase.glb-cb9772b7baab7be7a9066dd45b99a7d7.scn" + +[deps] + +source_file="res://assets/PlanetBase.glb" +dest_files=["res://.godot/imported/PlanetBase.glb-cb9772b7baab7be7a9066dd45b99a7d7.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=false +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={ +"meshes": { +"PlanetBase_Icosphere": { +"generate/lightmap_uv": 2, +"generate/lods": 2, +"generate/shadow_meshes": 2, +"lods/normal_merge_angle": 20.0, +"save_to_file/enabled": false, +"save_to_file/fallback_path": "res://sphere.tres", +"save_to_file/path": "uid://2kh0vgcigdse" +} +} +} +gltf/naming_version=2 +gltf/embedded_image_handling=1 diff --git a/assets/PlanetBase.obj.import b/assets/PlanetBase.obj.import index df4fdd5..fbcfcdd 100644 --- a/assets/PlanetBase.obj.import +++ b/assets/PlanetBase.obj.import @@ -3,7 +3,7 @@ importer="wavefront_obj" importer_version=1 type="Mesh" -uid="uid://qbjscf2gg35y" +uid="uid://65modei4jwaj" path="res://.godot/imported/PlanetBase.obj-e7dd6f84cf7385297b2403f29d44bb02.mesh" [deps] diff --git a/assets/PlanetLow.obj b/assets/PlanetLow.obj new file mode 100644 index 0000000..a68796c --- /dev/null +++ b/assets/PlanetLow.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4883191d5cba21ad612eb206eaa94e32d0e87d1508fac9fc4ac3a52c2634e43f +size 316428 diff --git a/assets/PlanetLow.obj.import b/assets/PlanetLow.obj.import new file mode 100644 index 0000000..031782c --- /dev/null +++ b/assets/PlanetLow.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://i15y020lbl21" +path="res://.godot/imported/PlanetLow.obj-04144c5140c8d3a6a9a4499e7542afe4.mesh" + +[deps] + +files=["res://.godot/imported/PlanetLow.obj-04144c5140c8d3a6a9a4499e7542afe4.mesh"] + +source_file="res://assets/PlanetLow.obj" +dest_files=["res://.godot/imported/PlanetLow.obj-04144c5140c8d3a6a9a4499e7542afe4.mesh", "res://.godot/imported/PlanetLow.obj-04144c5140c8d3a6a9a4499e7542afe4.mesh"] + +[params] + +generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 +scale_mesh=Vector3(1, 1, 1) +offset_mesh=Vector3(0, 0, 0) +force_disable_mesh_compression=false diff --git a/assets/PlanetMed.obj b/assets/PlanetMed.obj new file mode 100644 index 0000000..a4ac6ce --- /dev/null +++ b/assets/PlanetMed.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2eb720087d7f891047bbd9232149989242a8b9701caf6587642f187c5a26c626 +size 5630125 diff --git a/assets/PlanetMed.obj.import b/assets/PlanetMed.obj.import new file mode 100644 index 0000000..1419c86 --- /dev/null +++ b/assets/PlanetMed.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://cxpivgqm7x7ky" +path="res://.godot/imported/PlanetMed.obj-a5753ae94b99c04c1b3bfb2440cece04.mesh" + +[deps] + +files=["res://.godot/imported/PlanetMed.obj-a5753ae94b99c04c1b3bfb2440cece04.mesh"] + +source_file="res://assets/PlanetMed.obj" +dest_files=["res://.godot/imported/PlanetMed.obj-a5753ae94b99c04c1b3bfb2440cece04.mesh", "res://.godot/imported/PlanetMed.obj-a5753ae94b99c04c1b3bfb2440cece04.mesh"] + +[params] + +generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 +scale_mesh=Vector3(1, 1, 1) +offset_mesh=Vector3(0, 0, 0) +force_disable_mesh_compression=false diff --git a/assets/icosphere.obj b/assets/icosphere.obj new file mode 100644 index 0000000..58b8183 --- /dev/null +++ b/assets/icosphere.obj @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd7662e611447786f40ef0fc50f04220a3f5994ca3ce41981265383288f2ae20 +size 1650 diff --git a/assets/icosphere.obj.import b/assets/icosphere.obj.import new file mode 100644 index 0000000..6fd25f5 --- /dev/null +++ b/assets/icosphere.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://bpdmuywq6qd6d" +path="res://.godot/imported/icosphere.obj-18fc8dc1aa0ca7202b62526d6632660d.mesh" + +[deps] + +files=["res://.godot/imported/icosphere.obj-18fc8dc1aa0ca7202b62526d6632660d.mesh"] + +source_file="res://assets/icosphere.obj" +dest_files=["res://.godot/imported/icosphere.obj-18fc8dc1aa0ca7202b62526d6632660d.mesh", "res://.godot/imported/icosphere.obj-18fc8dc1aa0ca7202b62526d6632660d.mesh"] + +[params] + +generate_tangents=true +generate_lods=true +generate_shadow_mesh=true +generate_lightmap_uv2=false +generate_lightmap_uv2_texel_size=0.2 +scale_mesh=Vector3(1, 1, 1) +offset_mesh=Vector3(0, 0, 0) +force_disable_mesh_compression=false diff --git a/project.godot b/project.godot index 23d21db..12b931d 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="adatonic" -config/version="0.0.5" +config/version="0.0.3" run/main_scene="uid://csfh7ptgerpm2" config/features=PackedStringArray("4.6", "C#", "GL Compatibility") config/icon="res://icon.svg" diff --git a/resources/fastnoise.tres b/resources/fastnoise.tres deleted file mode 100644 index 01d9433..0000000 --- a/resources/fastnoise.tres +++ /dev/null @@ -1,4 +0,0 @@ -[gd_resource type="FastNoiseLite" format=3 uid="uid://bec450igysexf"] - -[resource] -frequency = 0.027 diff --git a/resources/planet_gradient.tres b/resources/planet_gradient.tres index b5198ff..a7d0a93 100644 --- a/resources/planet_gradient.tres +++ b/resources/planet_gradient.tres @@ -1,5 +1,5 @@ [gd_resource type="Gradient" format=3 uid="uid://b5l44rktieewe"] [resource] -offsets = PackedFloat32Array(0.020102732, 0.21077614, 0.4361486, 0.4835682, 0.49508524, 0.49909908, 0.51515174, 0.5367887, 0.5766606, 0.7845561, 1) +offsets = PackedFloat32Array(0.020102732, 0.21077614, 0.4361486, 0.4835682, 0.49508524, 0.49909908, 0.52932715, 0.5585736, 0.6065243, 0.65517426, 1) colors = PackedColorArray(2.5268645e-07, 3.128499e-07, 0.274243, 1, 8.904189e-07, 2.4065375e-07, 0.42930406, 1, 0.20772403, 0.34871656, 0.66512626, 1, 0.3622311, 0.6195445, 0.94423914, 1, 0.10825918, 0.3611443, 0.64106447, 1, 0.61873, 0.8132518, 0.40761396, 1, 0.35594854, 0.5452644, 0.23284999, 1, 0.77351433, 0.7971149, 0.5667908, 1, 0.7397217, 0.59494364, 0.46294695, 1, 0.3225033, 0.42213485, 0.47578907, 1, 1, 1, 1, 1) diff --git a/resources/remapcurve.tres b/resources/remapcurve.tres deleted file mode 100644 index 4cfeec3..0000000 --- a/resources/remapcurve.tres +++ /dev/null @@ -1,5 +0,0 @@ -[gd_resource type="Curve" format=3 uid="uid://d3jm8hqn6hf6v"] - -[resource] -_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.03899879, 0.2597651), 0.0, 0.0, 0, 0, Vector2(0.4429419, 0.37015414), 0.47422996, 0.47422996, 0, 0, Vector2(0.5, 0.5), 0.39357203, 0.39357203, 0, 0, Vector2(0.94081944, 0.64621437), 0.80014014, 0.80014014, 0, 0, Vector2(1, 1), 5.804001, 0.0, 0, 0] -point_count = 6 diff --git a/resources/stresscurve.tres b/resources/stresscurve.tres deleted file mode 100644 index 4cf642e..0000000 --- a/resources/stresscurve.tres +++ /dev/null @@ -1,5 +0,0 @@ -[gd_resource type="Curve" format=3 uid="uid://duabj1hpvrf2m"] - -[resource] -_data = [Vector2(0, 0), 0.0, 0.0, 0, 0, Vector2(0.5004223, 0.4959703), 2.8, 2.8, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0] -point_count = 3 diff --git a/resources/topogradient.tres b/resources/topogradient.tres deleted file mode 100644 index 0cd3a8a..0000000 --- a/resources/topogradient.tres +++ /dev/null @@ -1,5 +0,0 @@ -[gd_resource type="Gradient" format=3 uid="uid://dpafhsbw2t46k"] - -[resource] -offsets = PackedFloat32Array(0.30143952, 0.36898097, 0.4958336, 0.50410336, 0.51667744, 0.5272807, 0.5356805) -colors = PackedColorArray(0, 0, 0.54, 1, 0.34199998, 0.39780006, 0.9, 1, 0.070399985, 0.62362665, 0.88, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0.4569366, 0, 1, 1, 0, 0, 1) diff --git a/scenes/MainScene.tscn b/scenes/MainScene.tscn index 730e4c6..cf3ac9e 100644 --- a/scenes/MainScene.tscn +++ b/scenes/MainScene.tscn @@ -1,9 +1,8 @@ [gd_scene format=3 uid="uid://csfh7ptgerpm2"] [ext_resource type="Script" uid="uid://bhpic251bgvgk" path="res://src/Main.cs" id="1_611at"] -[ext_resource type="ArrayMesh" uid="uid://qbjscf2gg35y" path="res://assets/PlanetBase.obj" id="2_k24pf"] +[ext_resource type="ArrayMesh" uid="uid://65modei4jwaj" path="res://assets/PlanetBase.obj" id="2_k24pf"] [ext_resource type="Gradient" uid="uid://b5l44rktieewe" path="res://resources/planet_gradient.tres" id="2_ygjfp"] -[ext_resource type="Curve" uid="uid://d3jm8hqn6hf6v" path="res://resources/remapcurve.tres" id="3_1wiy7"] [ext_resource type="Material" uid="uid://c55st036tapeo" path="res://shaders/planet.tres" id="3_ygjfp"] [ext_resource type="Material" uid="uid://k3teblrpopsb" path="res://shaders/map.tres" id="4_1wiy7"] [ext_resource type="Texture2D" uid="uid://n56csi5ekat" path="res://icon.svg" id="5_ygjfp"] @@ -14,8 +13,7 @@ sky_material = SubResource("ProceduralSkyMaterial_uxrcv") [sub_resource type="Environment" id="Environment_rf2cd"] -background_mode = 1 -background_color = Color(0.11748905, 0.11748903, 0.11748903, 1) +background_mode = 2 sky = SubResource("Sky_tlwt5") ambient_light_source = 3 reflected_light_source = 2 @@ -33,14 +31,13 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_611at") -_yawNode = NodePath("TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo/Yaw") -_pitchNode = NodePath("TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo/Yaw/Pitch") -_cameraNode = NodePath("TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo/Yaw/Pitch/Camera3D") -_meshInstance = NodePath("TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo/Icosphere") -World = NodePath("TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo") +_yawNode = NodePath("TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo/Yaw") +_pitchNode = NodePath("TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo/Yaw/Pitch") +_cameraNode = NodePath("TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo/Yaw/Pitch/Camera3D") +_meshInstance = NodePath("TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo/Icosphere") +World = NodePath("TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo") _textureRect = NodePath("TabContainer/Projection") _gradient = ExtResource("2_ygjfp") -_remapCurve = ExtResource("3_1wiy7") [node name="TabContainer" type="TabContainer" parent="." unique_id=1586027287] layout_mode = 1 @@ -55,111 +52,50 @@ current_tab = 0 layout_mode = 2 metadata/_tab_index = 0 -[node name="VBoxContainer" type="VBoxContainer" parent="TabContainer/Planet" unique_id=1579792581] +[node name="SubViewportContainer" type="SubViewportContainer" parent="TabContainer/Planet" unique_id=58474785] layout_mode = 2 size_flags_horizontal = 3 size_flags_stretch_ratio = 1.44 - -[node name="SubViewportContainer" type="SubViewportContainer" parent="TabContainer/Planet/VBoxContainer" unique_id=58474785] -layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -size_flags_stretch_ratio = 1.44 stretch = true -[node name="SubViewport" type="SubViewport" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer" unique_id=1257998631] +[node name="SubViewport" type="SubViewport" parent="TabContainer/Planet/SubViewportContainer" unique_id=1257998631] handle_input_locally = false -size = Vector2i(677, 499) +size = Vector2i(677, 617) render_target_update_mode = 4 -[node name="ZaWarudo" type="Node3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport" unique_id=937719505] +[node name="ZaWarudo" type="Node3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport" unique_id=937719505] -[node name="WorldEnvironment" type="WorldEnvironment" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo" unique_id=610642146] +[node name="WorldEnvironment" type="WorldEnvironment" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo" unique_id=610642146] environment = SubResource("Environment_rf2cd") camera_attributes = SubResource("CameraAttributesPractical_a814b") -[node name="Sun" type="DirectionalLight3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo" unique_id=899426195] -unique_name_in_owner = true +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo" unique_id=899426195] transform = Transform3D(0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0, 0.99999994, 0, 0, 0) -[node name="Icosphere" type="MeshInstance3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo" unique_id=793654005] +[node name="Icosphere" type="MeshInstance3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo" unique_id=793654005] transform = Transform3D(0.01, 0, 0, 0, 0.01, 0, 0, 0, 0.01, 0, 0, 0) mesh = ExtResource("2_k24pf") surface_material_override/0 = ExtResource("3_ygjfp") -[node name="Pointer" type="Sprite3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo/Icosphere" unique_id=1498529325] -unique_name_in_owner = true -modulate = Color(1, 0, 0, 1) -pixel_size = 0.0018184 -billboard = 1 -no_depth_test = true -fixed_size = true -texture = ExtResource("5_ygjfp") +[node name="Yaw" type="Node3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo" unique_id=2073443785] -[node name="Yaw" type="Node3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo" unique_id=2073443785] +[node name="Pitch" type="Node3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo/Yaw" unique_id=98015529] -[node name="Pitch" type="Node3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo/Yaw" unique_id=98015529] - -[node name="Camera3D" type="Camera3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo/Yaw/Pitch" unique_id=1654616370] +[node name="Camera3D" type="Camera3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo/Yaw/Pitch" unique_id=1654616370] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 30) fov = 5.0 -[node name="StaticBody3D" type="StaticBody3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo" unique_id=330930041] +[node name="StaticBody3D" type="StaticBody3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo" unique_id=330930041] -[node name="CollisionShape3D" type="CollisionShape3D" parent="TabContainer/Planet/VBoxContainer/SubViewportContainer/SubViewport/ZaWarudo/StaticBody3D" unique_id=299495076] +[node name="CollisionShape3D" type="CollisionShape3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo/StaticBody3D" unique_id=299495076] shape = SubResource("SphereShape3D_rpqi1") -[node name="MarginContainer" type="MarginContainer" parent="TabContainer/Planet/VBoxContainer" unique_id=1706135009] -layout_mode = 2 -theme_override_constants/margin_left = 8 -theme_override_constants/margin_top = 8 -theme_override_constants/margin_right = 8 -theme_override_constants/margin_bottom = 8 - -[node name="VBoxContainer" type="VBoxContainer" parent="TabContainer/Planet/VBoxContainer/MarginContainer" unique_id=781791664] -layout_mode = 2 - -[node name="HBoxContainer" type="HBoxContainer" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=49483855] -layout_mode = 2 - -[node name="VBoxContainer" type="VBoxContainer" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=1196190097] -layout_mode = 2 -size_flags_horizontal = 3 - -[node name="Label" type="Label" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer" unique_id=882691555] -layout_mode = 2 -text = "Day" -horizontal_alignment = 1 - -[node name="SunAngle" type="HSlider" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer" unique_id=1452623828] +[node name="Pointer" type="Sprite3D" parent="TabContainer/Planet/SubViewportContainer/SubViewport/ZaWarudo" unique_id=1498529325] unique_name_in_owner = true -layout_mode = 2 -max_value = 365.0 -tick_count = 14 - -[node name="Label" type="Label" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=536127746] -layout_mode = 2 -text = "Year: " - -[node name="Year" type="LineEdit" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer" unique_id=2071686901] -unique_name_in_owner = true -layout_mode = 2 -text = "1922" - -[node name="HSeparator" type="HSeparator" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=1053749080] -layout_mode = 2 - -[node name="Label2" type="Label" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=473804807] -layout_mode = 2 -text = "Hour" -horizontal_alignment = 1 - -[node name="PlanetAngle" type="HSlider" parent="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer" unique_id=1574475714] -unique_name_in_owner = true -layout_mode = 2 -max_value = 24.0 -step = 0.25 -tick_count = 5 +transform = Transform3D(0.01, 0, 0, 0, 0.01, 0, 0, 0, 0.01, 0, 0, 0) +modulate = Color(1, 0, 0, 1) +billboard = 1 +texture = ExtResource("5_ygjfp") [node name="PanelContainer" type="PanelContainer" parent="TabContainer/Planet" unique_id=716838825] layout_mode = 2 @@ -175,24 +111,6 @@ theme_override_constants/margin_bottom = 12 [node name="VBoxContainer2" type="VBoxContainer" parent="TabContainer/Planet/PanelContainer/MarginContainer" unique_id=1788559732] layout_mode = 2 -[node name="VBoxContainer2" type="VBoxContainer" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2" unique_id=525897562] -layout_mode = 2 - -[node name="HBoxContainer" type="HBoxContainer" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer2" unique_id=902181636] -layout_mode = 2 - -[node name="Label" type="Label" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer2/HBoxContainer" unique_id=1460559875] -layout_mode = 2 -text = "Axial Tilt" - -[node name="AxialTilt" type="LineEdit" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer2/HBoxContainer" unique_id=1085416630] -unique_name_in_owner = true -layout_mode = 2 -text = "23.5" - -[node name="HSeparator" type="HSeparator" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2" unique_id=907047328] -layout_mode = 2 - [node name="VBoxContainer" type="VBoxContainer" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2" unique_id=654818970] layout_mode = 2 size_flags_vertical = 3 @@ -233,26 +151,6 @@ max_length = 5 [node name="HSeparator" type="HSeparator" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer" unique_id=1862016318] layout_mode = 2 -[node name="Label4" type="Label" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer" unique_id=1664133820] -layout_mode = 2 -text = "- World -" - -[node name="HBoxContainer5" type="HBoxContainer" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer" unique_id=703726989] -layout_mode = 2 - -[node name="Margin" type="VSeparator" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer5" unique_id=554179765] -layout_mode = 2 - -[node name="Label" type="Label" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer5" unique_id=416863531] -layout_mode = 2 -theme_override_colors/font_color = Color(0.4922884, 0.49228835, 0.49228835, 1) -text = "Date: " - -[node name="Date" type="Label" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer5" unique_id=716565176] -unique_name_in_owner = true -layout_mode = 2 -text = "-1" - [node name="Label2" type="Label" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer" unique_id=186838891] layout_mode = 2 text = "- Point -" @@ -286,19 +184,6 @@ unique_name_in_owner = true layout_mode = 2 text = "-1" -[node name="VSeparator2" type="VSeparator" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer2" unique_id=521477767] -layout_mode = 2 - -[node name="Label2" type="Label" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer2" unique_id=837979077] -layout_mode = 2 -theme_override_colors/font_color = Color(0.4922884, 0.49228835, 0.49228835, 1) -text = "Local Time:" - -[node name="LocalTime" type="Label" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer2" unique_id=501459011] -unique_name_in_owner = true -layout_mode = 2 -text = "-1" - [node name="Label3" type="Label" parent="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer" unique_id=1412781677] layout_mode = 2 text = " - Plate -" @@ -372,14 +257,6 @@ stretch_mode = 5 metadata/_tab_index = 1 [connection signal="tab_changed" from="TabContainer" to="." method="Tab"] -[connection signal="mouse_entered" from="TabContainer/Planet/VBoxContainer/SubViewportContainer" to="." method="MouseInViewport"] -[connection signal="mouse_exited" from="TabContainer/Planet/VBoxContainer/SubViewportContainer" to="." method="MouseLeftViewport"] -[connection signal="drag_ended" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/SunAngle" to="." method="SunAngleStop"] -[connection signal="drag_started" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/VBoxContainer/SunAngle" to="." method="SunAngleStart"] -[connection signal="text_changed" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/HBoxContainer/Year" to="." method="YearChanged"] -[connection signal="drag_ended" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/PlanetAngle" to="." method="PlanetAngleStop"] -[connection signal="drag_started" from="TabContainer/Planet/VBoxContainer/MarginContainer/VBoxContainer/PlanetAngle" to="." method="PlanetAngleStart"] -[connection signal="text_changed" from="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer2/HBoxContainer/AxialTilt" to="." method="AxialTiltChanged"] [connection signal="pressed" from="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer3/Reset" to="." method="MakeGo"] [connection signal="pressed" from="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer3/Advance" to="." method="Advance"] [connection signal="pressed" from="TabContainer/Planet/PanelContainer/MarginContainer/VBoxContainer2/VBoxContainer/HBoxContainer3/AutoRun" to="." method="AutoRun"] diff --git a/shaders/planet.gdshader b/shaders/planet.gdshader index 36376be..56ca46b 100644 --- a/shaders/planet.gdshader +++ b/shaders/planet.gdshader @@ -1,4 +1,5 @@ shader_type spatial; +render_mode unshaded; uniform int mode = 1; uniform sampler2D gradient; @@ -8,7 +9,7 @@ void vertex() { // Called for every vertex the material is visible on. world_position = VERTEX; color = COLOR.r; - VERTEX += VERTEX * COLOR.q * 0.03f; + VERTEX += VERTEX * COLOR.q * 0.1f; } void fragment() { diff --git a/src/Main.cs b/src/Main.cs index 7d79a6d..737d63b 100644 --- a/src/Main.cs +++ b/src/Main.cs @@ -8,7 +8,6 @@ using Godot.Collections; public partial class Main : Control { - public static Random Random = Random.Shared; private bool _moving = false; [Export] private Node3D _yawNode; @@ -31,36 +30,22 @@ public partial class Main : Control private int _resolution = 512; private PlanetHelper _planetHelper; - [Export] private Curve _remapCurve; public override void _Ready() { - _planetHelper = new PlanetHelper(_meshInstance, _textureRect, _remapCurve); + _planetHelper = new PlanetHelper(_meshInstance, _textureRect); UpdateStats(); Projector.GatherPoints(_planetHelper, int.Parse(GetNode("%Resolution").Text)); - AxialTiltChanged(GetNode("%AxialTilt").Text); - UpdateTime(); } Vector3 _pointerPosition = Vector3.Zero; private const float RayLength = 1000.0f; - - private bool _rotateable = false; - public void MouseInViewport() - { - _rotateable = true; - } - - public void MouseLeftViewport() - { - _rotateable = false; - } public override void _Input(InputEvent @event) { if (@event is InputEventMouseButton mouseEvent) { if (mouseEvent.ButtonIndex == MouseButton.Left) { - _moving = mouseEvent.Pressed && _rotateable; + _moving = mouseEvent.Pressed; } if (mouseEvent.ButtonIndex == MouseButton.WheelUp) { @@ -98,8 +83,8 @@ public partial class Main : Control if (result.Count > 0) { Vector3 pos = result["position"].AsVector3(); + GD.Print($"Hit: '{pos}'"); - pos *= _meshInstance.Transform.Basis.Orthonormalized(); var closest = _planetHelper.Octree.SearchNearest(pos)?.Id; if (closest != null) { @@ -110,10 +95,7 @@ public partial class Main : Control _plate = null; UpdateStats(); Vector3 vertexPos = _planetHelper.Mdt.GetVertex(_vertex.Id) * 0.01f; - vertexPos *= _meshInstance.Transform.Basis.Inverse().Orthonormalized(); - _pointerPosition = (Vector3)vertexPos + (vertexPos * (_vertex.Height + 0.01f) * 0.03f); // vertexPos * 1.01f; - GetNode("%Pointer").GlobalPosition = _pointerPosition; - UpdateTime(); + _pointerPosition = (Vector3)vertexPos + (vertexPos * (_vertex.Height + 0.01f) * 0.1f); // vertexPos * 1.01f; } } @@ -128,72 +110,7 @@ public partial class Main : Control _planetHelper.AutoRun = true; } _planetHelper.Process(); - if (_sunRotating) - { - _sunRotation = (double)(GetNode("%SunAngle").Value / 365.0); - GetNode("%Sun").Rotation -= GetNode("%Sun").Rotation; - GetNode("%Sun").Rotation += new Vector3(0, Mathf.DegToRad((float)_sunRotation * 360f), 0); - UpdateTime(); - } - if (_planetRotating) - { - _planetRotation = (double)(GetNode("%PlanetAngle").Value / 24.0); - _meshInstance.Rotation = Vector3.Zero; - _meshInstance.RotateY((float)Mathf.DegToRad(_planetRotation * 360.0)); - _meshInstance.RotateZ(Mathf.DegToRad(_axialTilt)); - UpdateTime(); - } - } - - public void UpdateTime() - { - double hours = GetLocalTime(GetNode("%Pointer").GlobalPosition, GetNode("%Sun").GlobalTransform.Basis.Z, - _meshInstance); - GetNode