diff --git a/Nikita/3d_popup.gd b/Nikita/3d_popup.gd new file mode 100644 index 0000000..0086d41 --- /dev/null +++ b/Nikita/3d_popup.gd @@ -0,0 +1,139 @@ +extends Node3D + +## Used for checking if the mouse is inside the Area3D. +var is_mouse_inside := false + +## The last processed input touch/mouse event. Used to calculate relative movement. +var last_event_pos2D := Vector2() + +## The time of the last event in seconds since engine start. +var last_event_time := -1.0 + +@onready var node_viewport: SubViewport = $SubViewport +@onready var node_quad: MeshInstance3D = $Quad +@onready var node_area: Area3D = $Quad/Area3D + +#var original_scale + +func _ready() -> void: + node_area.mouse_entered.connect(_mouse_entered_area) + node_area.mouse_exited.connect(_mouse_exited_area) + node_area.input_event.connect(_mouse_input_event) + #original_scale = $Quad.scale + # If the material is NOT set to use billboard settings, then avoid running billboard specific code + #if node_quad.get_surface_override_material(0).billboard_mode == BaseMaterial3D.BillboardMode.BILLBOARD_DISABLED: + #set_process(false) + + +func _process(_delta: float) -> void: + pass + # NOTE: Remove this function if you don't plan on using billboard settings. + #rotate_area_to_billboard() + + +func _mouse_entered_area() -> void: + is_mouse_inside = true + # Notify the viewport that the mouse is now hovering it. + node_viewport.notification(NOTIFICATION_VP_MOUSE_ENTER) + + +func _mouse_exited_area() -> void: + # Notify the viewport that the mouse is no longer hovering it. + node_viewport.notification(NOTIFICATION_VP_MOUSE_EXIT) + is_mouse_inside = false + + +func _unhandled_input(event: InputEvent) -> void: + # Check if the event is a non-mouse/non-touch event + for mouse_event in [InputEventMouseButton, InputEventMouseMotion, InputEventScreenDrag, InputEventScreenTouch]: + if is_instance_of(event, mouse_event): + # If the event is a mouse/touch event, then we can ignore it here, because it will be + # handled via Physics Picking. + return + node_viewport.push_input(event) + + +func _mouse_input_event(_camera: Camera3D, event: InputEvent, event_position: Vector3, _normal: Vector3, _shape_idx: int) -> void: + # Get mesh size to detect edges and make conversions. This code only supports PlaneMesh and QuadMesh. + var quad_mesh_size: Vector2 = node_quad.mesh.size + + # Event position in Area3D in world coordinate space. + var event_pos3D := event_position + + # Current time in seconds since engine start. + var now := Time.get_ticks_msec() / 1000.0 + + # Convert position to a coordinate space relative to the Area3D node. + # NOTE: `affine_inverse()` accounts for the Area3D node's scale, rotation, and position in the scene! + event_pos3D = node_quad.global_transform.affine_inverse() * event_pos3D + + # TODO: Adapt to bilboard mode or avoid completely. + + var event_pos2D := Vector2() + + if is_mouse_inside: + # Convert the relative event position from 3D to 2D. + event_pos2D = Vector2(event_pos3D.x, -event_pos3D.y) + + # Right now the event position's range is the following: (-quad_size/2) -> (quad_size/2) + # We need to convert it into the following range: -0.5 -> 0.5 + event_pos2D.x = event_pos2D.x / quad_mesh_size.x + event_pos2D.y = event_pos2D.y / quad_mesh_size.y + # Then we need to convert it into the following range: 0 -> 1 + event_pos2D.x += 0.5 + event_pos2D.y += 0.5 + + # Finally, we convert the position to the following range: 0 -> viewport.size + event_pos2D.x *= node_viewport.size.x + event_pos2D.y *= node_viewport.size.y + # We need to do these conversions so the event's position is in the viewport's coordinate system. + + elif last_event_pos2D != null: + # Fall back to the last known event position. + event_pos2D = last_event_pos2D + + # Set the event's position and global position. + event.position = event_pos2D + if event is InputEventMouse: + event.global_position = event_pos2D + + # Calculate the relative event distance. + if event is InputEventMouseMotion or event is InputEventScreenDrag: + # If there is not a stored previous position, then we'll assume there is no relative motion. + if last_event_pos2D == null: + event.relative = Vector2(0, 0) + # If there is a stored previous position, then we'll calculate the relative position by subtracting + # the previous position from the new position. This will give us the distance the event traveled from prev_pos. + else: + event.relative = event_pos2D - last_event_pos2D + event.velocity = event.relative / (now - last_event_time) + + # Update last_event_pos2D with the position we just calculated. + last_event_pos2D = event_pos2D + + # Update last_event_time to current time. + last_event_time = now + + # Finally, send the processed input event to the viewport. + node_viewport.push_input(event) + + +func rotate_area_to_billboard() -> void: + var billboard_mode: BaseMaterial3D.BillboardMode = node_quad.get_surface_override_material(0).billboard_mode + + # Try to match the area with the material's billboard setting, if enabled. + if billboard_mode > 0: + # Get the camera. + var camera := get_viewport().get_camera_3d() + # Look in the same direction as the camera. + var look := camera.to_global(Vector3(0, 0, -100)) - camera.global_transform.origin + look = node_area.position + look + + # Y-Billboard: Lock Y rotation, but gives bad results if the camera is tilted. + if billboard_mode == 2: + look = Vector3(look.x, 0, look.z) + + node_area.look_at(look, Vector3.UP) + + # Rotate in the Z axis to compensate camera tilt. + node_area.rotate_object_local(Vector3.BACK, camera.rotation.z) diff --git a/Nikita/3d_popup.gd.uid b/Nikita/3d_popup.gd.uid new file mode 100644 index 0000000..36b689c --- /dev/null +++ b/Nikita/3d_popup.gd.uid @@ -0,0 +1 @@ +uid://1dr3112amj64 diff --git a/Nikita/3d_popup.tscn b/Nikita/3d_popup.tscn new file mode 100644 index 0000000..4a58502 --- /dev/null +++ b/Nikita/3d_popup.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=7 format=3 uid="uid://bab0m4cvoiouv"] + +[ext_resource type="PackedScene" uid="uid://cbva1dnqoaopn" path="res://Nikita/level_popup.tscn" id="1_0h1bi"] +[ext_resource type="Script" uid="uid://1dr3112amj64" path="res://Nikita/3d_popup.gd" id="1_utlwn"] + +[sub_resource type="QuadMesh" id="QuadMesh_utlwn"] +size = Vector2(0.6, 0.4) + +[sub_resource type="ViewportTexture" id="ViewportTexture_pn6qm"] +viewport_path = NodePath("SubViewport") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_l0c6d"] +resource_local_to_scene = true +no_depth_test = true +shading_mode = 0 +disable_ambient_light = true +albedo_texture = SubResource("ViewportTexture_pn6qm") + +[sub_resource type="BoxShape3D" id="BoxShape3D_pj2e3"] +size = Vector3(0.605225, 0.401367, 0.109375) + +[node name="3DPopup" type="Node3D"] +script = ExtResource("1_utlwn") + +[node name="SubViewport" type="SubViewport" parent="."] +gui_embed_subwindows = true +size = Vector2i(600, 400) +render_target_update_mode = 4 + +[node name="LevelPopup" parent="SubViewport" instance=ExtResource("1_0h1bi")] + +[node name="Quad" type="MeshInstance3D" parent="."] +transform = Transform3D(11.8638, 0.822758, -0.25, 0, 11.8638, 0.258819, 3.17889, -3.07057, 0.933013, 0, 0, 0) +mesh = SubResource("QuadMesh_utlwn") +surface_material_override/0 = SubResource("StandardMaterial3D_l0c6d") + +[node name="Area3D" type="Area3D" parent="Quad"] +collision_mask = 2 +input_capture_on_drag = true + +[node name="CollisionShape3D" type="CollisionShape3D" parent="Quad/Area3D"] +shape = SubResource("BoxShape3D_pj2e3") diff --git a/Nikita/camera_hub.tscn b/Nikita/camera_hub.tscn new file mode 100644 index 0000000..a3de1a0 --- /dev/null +++ b/Nikita/camera_hub.tscn @@ -0,0 +1,11 @@ +[gd_scene load_steps=2 format=3 uid="uid://tvwwstaorixw"] + +[ext_resource type="Script" uid="uid://co77n1eq661oo" path="res://Nikita/scripts/camera_hub.gd" id="1_1mhol"] + +[node name="CameraHub" type="Node3D"] +script = ExtResource("1_1mhol") + +[node name="XRotation" type="Node3D" parent="."] + +[node name="Camera3D" type="Camera3D" parent="XRotation"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1) diff --git a/Nikita/earth.tscn b/Nikita/earth.tscn new file mode 100644 index 0000000..de88b1a --- /dev/null +++ b/Nikita/earth.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=8 format=3 uid="uid://cjlojmoyhw2cp"] + +[ext_resource type="PackedScene" uid="uid://7fijqcjxggit" path="res://Nikita/source/Earth_Final.fbx" id="1_mnd7v"] +[ext_resource type="Texture2D" uid="uid://cw4gkryn2sl7y" path="res://Nikita/textures/Earth2_Water_BaseColor.png" id="2_v2ft5"] +[ext_resource type="Texture2D" uid="uid://da0uksbt2mkqw" path="res://Nikita/textures/Earth2_Land_BaseColor.png" id="3_drefq"] +[ext_resource type="PackedScene" uid="uid://ccjwh4alvryho" path="res://Nikita/waypoint.tscn" id="4_drefq"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_tyl1s"] +albedo_texture = ExtResource("2_v2ft5") + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_3pxso"] +albedo_texture = ExtResource("3_drefq") + +[sub_resource type="SphereShape3D" id="SphereShape3D_drefq"] + +[node name="Earth_Final" instance=ExtResource("1_mnd7v")] + +[node name="earth4" parent="." index="0"] +surface_material_override/0 = SubResource("StandardMaterial3D_tyl1s") +surface_material_override/1 = SubResource("StandardMaterial3D_3pxso") + +[node name="Area3D" type="Area3D" parent="earth4" index="0"] + +[node name="CollisionShape3D" type="CollisionShape3D" parent="earth4/Area3D" index="0"] +transform = Transform3D(0.17, 0, 0, 0, 0.17, 0, 0, 0, 0.17, 0, 0, 0) +shape = SubResource("SphereShape3D_drefq") +disabled = true + +[node name="WaypointTest" parent="." index="1" instance=ExtResource("4_drefq")] +transform = Transform3D(0.01, 0, 0, 0, 0.01, 0, 0, 0, 0.01, 0.00702367, 0.0636012, 0.0580069) diff --git a/Nikita/hub_scene.tscn b/Nikita/hub_scene.tscn new file mode 100644 index 0000000..5dd865a --- /dev/null +++ b/Nikita/hub_scene.tscn @@ -0,0 +1,29 @@ +[gd_scene load_steps=7 format=3 uid="uid://b6kb866y3e4aa"] + +[ext_resource type="PackedScene" uid="uid://cjlojmoyhw2cp" path="res://Nikita/earth.tscn" id="1_248vy"] +[ext_resource type="Texture2D" uid="uid://cn2wdmm2xiodm" path="res://Nikita/textures/panorama_image.png" id="2_vvf8p"] +[ext_resource type="PackedScene" uid="uid://tvwwstaorixw" path="res://Nikita/camera_hub.tscn" id="3_ur8lc"] + +[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_ur8lc"] +panorama = ExtResource("2_vvf8p") + +[sub_resource type="Sky" id="Sky_fkqbs"] +sky_material = SubResource("PanoramaSkyMaterial_ur8lc") + +[sub_resource type="Environment" id="Environment_ur8lc"] +background_mode = 2 +sky = SubResource("Sky_fkqbs") + +[node name="Hub" type="Node3D"] + +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_ur8lc") + +[node name="Earth" parent="." instance=ExtResource("1_248vy")] +transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0) + +[node name="CameraHub" parent="." instance=ExtResource("3_ur8lc")] +transform = Transform3D(10, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0) + +[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."] +transform = Transform3D(0.0337074, -0.226039, 0.973535, 0.00782163, 0.974118, 0.225904, -0.999401, 0, 0.034603, 15.6131, 3.61956, 0) diff --git a/Nikita/level_popup.tscn b/Nikita/level_popup.tscn new file mode 100644 index 0000000..9756fcc --- /dev/null +++ b/Nikita/level_popup.tscn @@ -0,0 +1,42 @@ +[gd_scene load_steps=4 format=3 uid="uid://cbva1dnqoaopn"] + +[ext_resource type="Script" uid="uid://c1rdbsbip2wvj" path="res://Nikita/scripts/level_popup.gd" id="1_3awpt"] +[ext_resource type="Texture2D" uid="uid://otyci5h617qa" path="res://Nikita/source/playbutton.png" id="1_ay7gq"] +[ext_resource type="Texture2D" uid="uid://hk701pejgl" path="res://Nikita/textures/popup.png" id="1_pk11s"] + +[node name="LevelPopup" type="Node2D"] +script = ExtResource("1_3awpt") + +[node name="Name" type="Label" parent="."] +offset_left = 50.0 +offset_right = 550.0 +offset_bottom = 70.0 +theme_override_font_sizes/font_size = 48 +text = "Place name" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="Description" type="Label" parent="."] +offset_left = 50.0 +offset_top = 70.0 +offset_right = 550.0 +offset_bottom = 270.0 +theme_override_font_sizes/font_size = 24 +text = "Objective: +" + +[node name="PlayButton" type="Button" parent="."] +offset_left = 200.0 +offset_top = 300.0 +offset_right = 400.0 +offset_bottom = 350.0 +icon = ExtResource("1_ay7gq") +flat = true + +[node name="Sprite2D" type="Sprite2D" parent="."] +z_index = -1 +position = Vector2(300, 200) +texture = ExtResource("1_pk11s") +metadata/_edit_lock_ = true + +[connection signal="pressed" from="PlayButton" to="." method="_on_play_button_pressed"] diff --git a/Nikita/scripts/camera_hub.gd b/Nikita/scripts/camera_hub.gd new file mode 100644 index 0000000..4e4cc66 --- /dev/null +++ b/Nikita/scripts/camera_hub.gd @@ -0,0 +1,69 @@ +extends Node3D + +var rotation_speed = PI/2 +var min_zoom = 1.5 +var max_zoom = 5.0 +var zoom_speed = 0.2 + +var zoom = 2.0 +var mouse_grab_sensitivity = 0.006 +var grabbed : bool = false +var velocity_y = 0.0 +var dampening_y = 0.4 +var stop_threashold_y = 0.5 +var velocity_x = 0.0 +var dampening_x = 0.2 +var stop_threashold_x = 0.3 + +func _process(delta: float) -> void: + $XRotation.rotation.x = clamp($XRotation.rotation.x, -1.3, 1.3) + scale = lerp(scale, Vector3.ONE * zoom, zoom_speed) + # TODO: reset the velocity when mouse doesn't move for more than 1 second + velocity_y = clamp(velocity_y, -100.0, 100.0) + velocity_x = clamp(velocity_x, -10.0, 10.0) + if !grabbed: + rotate_object_local(Vector3.UP, -1 * velocity_y * mouse_grab_sensitivity) + if velocity_y > stop_threashold_y: + velocity_y -= dampening_y + elif velocity_y < -stop_threashold_y: + velocity_y += dampening_y + else: + velocity_y = 0.0 + $XRotation.rotate_object_local(Vector3.RIGHT, -1 * velocity_x * mouse_grab_sensitivity) + if velocity_x > stop_threashold_x: + velocity_x -= dampening_x + elif velocity_x < -stop_threashold_x: + velocity_x += dampening_x + else: + velocity_x = 0.0 + $XRotation.rotation.x = clamp($XRotation.rotation.x, -1.3, 1.3) + +func _unhandled_input(event: InputEvent) -> void: + if event is InputEventMouseButton: + if event.button_index == MOUSE_BUTTON_LEFT: + grabbed = event.pressed + if grabbed: + velocity_x = 0.0 + velocity_y = 0.0 + elif event.button_index == MOUSE_BUTTON_WHEEL_UP: + zoom -= zoom_speed + elif event.button_index == MOUSE_BUTTON_WHEEL_DOWN: + zoom += zoom_speed + zoom = clamp(zoom, min_zoom, max_zoom) + if event is InputEventMouseMotion and grabbed: + Input.mouse_mode = Input.MOUSE_MODE_CAPTURED + if event.relative.x != 0: + var x_rotation = clamp(event.relative.x, -30, 30) + if abs(event.relative.x - x_rotation) > 0: + velocity_y = event.relative.x - x_rotation + rotate_object_local(Vector3.UP, -1 * x_rotation * mouse_grab_sensitivity) + if event.relative.y != 0: + var y_rotation = clamp(event.relative.y, -10, 10) + if abs(event.relative.y - y_rotation) > 0: + velocity_x = event.relative.y - y_rotation + $XRotation.rotate_object_local(Vector3.RIGHT, -1 * y_rotation * mouse_grab_sensitivity) + else: + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + +func get_mouse_input(delta: float): + return diff --git a/Nikita/scripts/camera_hub.gd.uid b/Nikita/scripts/camera_hub.gd.uid new file mode 100644 index 0000000..e6c20f9 --- /dev/null +++ b/Nikita/scripts/camera_hub.gd.uid @@ -0,0 +1 @@ +uid://co77n1eq661oo diff --git a/Nikita/scripts/level_popup.gd b/Nikita/scripts/level_popup.gd new file mode 100644 index 0000000..0e12ed6 --- /dev/null +++ b/Nikita/scripts/level_popup.gd @@ -0,0 +1,5 @@ +extends Node2D + + +func _on_play_button_pressed() -> void: + print("2D Button pressed!") diff --git a/Nikita/scripts/level_popup.gd.uid b/Nikita/scripts/level_popup.gd.uid new file mode 100644 index 0000000..5345197 --- /dev/null +++ b/Nikita/scripts/level_popup.gd.uid @@ -0,0 +1 @@ +uid://c1rdbsbip2wvj diff --git a/Nikita/scripts/waypoint.gd b/Nikita/scripts/waypoint.gd new file mode 100644 index 0000000..c7cd1e0 --- /dev/null +++ b/Nikita/scripts/waypoint.gd @@ -0,0 +1,60 @@ +extends Node3D + +var to_earth +var toggle_popup : bool = false + +func _ready() -> void: + get_node("Popup").visible = toggle_popup + var cam = get_viewport().get_camera_3d() + to_earth = (get_parent().global_position - global_position).normalized() + look_at(cam.global_position, Vector3.UP) + +func _process(delta): + var cam = get_viewport().get_camera_3d() + var to_camera = (cam.global_position - global_position).normalized() + var cos_similarity = to_camera.dot(to_earth) + #print(cos_similarity) + if abs(cos_similarity) < 0.75: + # Construct desired basis (local -Z facing camera) + var z_axis = -to_camera + var up_axis = Vector3.UP + var x_axis = up_axis.cross(z_axis).normalized() + var y_axis = z_axis.cross(x_axis).normalized() + var desired_basis = Basis(x_axis, y_axis, z_axis) + # Extract current rotation (normalized) and scale + var current_basis = global_transform.basis + var current_scale = current_basis.get_scale() + var current_q = Quaternion(current_basis.orthonormalized()) + var target_q = Quaternion(desired_basis.orthonormalized()) + # Interpolate smoothly + var speed = 10.0 + var new_q = current_q.slerp(target_q, speed * delta) + # Rebuild basis: pure rotation, then reapply scale + var new_basis = Basis(new_q) + new_basis = new_basis.scaled(current_scale) + global_transform.basis = new_basis + else: + # Build basis: local -Z faces the camera, Y stays up + to_camera.y = 0 + var z_axis = -to_camera + var y_axis = Vector3.UP + var x_axis = y_axis.cross(z_axis).normalized() + y_axis = z_axis.cross(x_axis).normalized() + var desired_basis = Basis(x_axis, y_axis, z_axis) + # Extract current rotation (normalized) and scale + var current_basis = global_transform.basis + var current_scale = current_basis.get_scale() + var current_q = Quaternion(current_basis.orthonormalized()) + var target_q = Quaternion(desired_basis.orthonormalized()) + # Interpolate smoothly + var speed = 20.0 + var new_q = current_q.slerp(target_q, speed * delta) + # Rebuild basis: pure rotation, then reapply scale + var new_basis = Basis(new_q) + new_basis = new_basis.scaled(current_scale) + global_transform.basis = new_basis + +func _on_area_3d_input_event(camera: Node, event: InputEvent, event_position: Vector3, normal: Vector3, shape_idx: int) -> void: + if event is InputEventMouseButton and event.is_released() and event.button_index == MOUSE_BUTTON_LEFT: + toggle_popup = !toggle_popup + get_node("Popup").visible = toggle_popup diff --git a/Nikita/scripts/waypoint.gd.uid b/Nikita/scripts/waypoint.gd.uid new file mode 100644 index 0000000..1574358 --- /dev/null +++ b/Nikita/scripts/waypoint.gd.uid @@ -0,0 +1 @@ +uid://y2vv2fxj5ils diff --git a/Nikita/source/Earth_Final.fbx b/Nikita/source/Earth_Final.fbx new file mode 100644 index 0000000..564ed57 Binary files /dev/null and b/Nikita/source/Earth_Final.fbx differ diff --git a/Nikita/source/Earth_Final.fbx.import b/Nikita/source/Earth_Final.fbx.import new file mode 100644 index 0000000..102bff7 --- /dev/null +++ b/Nikita/source/Earth_Final.fbx.import @@ -0,0 +1,38 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://7fijqcjxggit" +path="res://.godot/imported/Earth_Final.fbx-82ce24a36b10df65c736c390f1ab8d63.scn" + +[deps] + +source_file="res://Nikita/source/Earth_Final.fbx" +dest_files=["res://.godot/imported/Earth_Final.fbx-82ce24a36b10df65c736c390f1ab8d63.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=1.0 +nodes/import_as_skeleton_bones=false +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=true +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={} +fbx/importer=0 +fbx/allow_geometry_helper_nodes=false +fbx/embedded_image_handling=1 diff --git a/Nikita/source/playbutton.png b/Nikita/source/playbutton.png new file mode 100644 index 0000000..e521af2 Binary files /dev/null and b/Nikita/source/playbutton.png differ diff --git a/Nikita/source/playbutton.png.import b/Nikita/source/playbutton.png.import new file mode 100644 index 0000000..c0106d4 --- /dev/null +++ b/Nikita/source/playbutton.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://otyci5h617qa" +path="res://.godot/imported/playbutton.png-49eb8de4f06b6561e6abf48fd1fc7bf6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Nikita/source/playbutton.png" +dest_files=["res://.godot/imported/playbutton.png-49eb8de4f06b6561e6abf48fd1fc7bf6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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=1 diff --git a/Nikita/source/waypoint.mtl b/Nikita/source/waypoint.mtl new file mode 100644 index 0000000..91f207e --- /dev/null +++ b/Nikita/source/waypoint.mtl @@ -0,0 +1,10 @@ +# Exported from Wings 3D 2.3 +newmtl default +Ns 19.999999999999996 +d 1.0 +illum 2 +Kd 0.7898538076923077 0.8133333333333334 0.6940444444444445 +Ka 0.0 0.0 0.0 +Ks 0.1689853807692308 0.17133333333333334 0.15940444444444446 +Ke 0.0 0.0 0.0 + diff --git a/Nikita/source/waypoint.obj b/Nikita/source/waypoint.obj new file mode 100644 index 0000000..380292c --- /dev/null +++ b/Nikita/source/waypoint.obj @@ -0,0 +1,459 @@ +# Exported from Wings 3D 2.3 +mtllib waypoint.mtl +o cone1 +#114 vertices, 224 faces +v -0.50000000 0.96635238 2.8556480e-17 +v -0.46193977 0.96635238 0.19134172 +v -0.35355339 0.96635238 0.35355339 +v -0.19134172 0.96635238 0.46193977 +v -4.2431612e-17 0.96635238 0.50000000 +v 0.19134172 0.96635238 0.46193977 +v 0.35355339 0.96635238 0.35355339 +v 0.46193977 0.96635238 0.19134172 +v 0.50000000 0.96635238 2.8556480e-17 +v 0.46193977 0.96635238 -0.19134172 +v 0.35355339 0.96635238 -0.35355339 +v 0.19134172 0.96635238 -0.46193977 +v -3.6710424e-17 0.96635238 -0.50000000 +v -0.19134172 0.96635238 -0.46193977 +v -0.35355339 0.96635238 -0.35355339 +v -0.46193977 0.96635238 -0.19134172 +v -1.5963138e-16 6.4705882e-3 -3.2653618e-18 +v 0.19134172 1.38817393 -8.5401771e-19 +v 0.17677670 1.38817393 7.3223305e-2 +v 0.13529903 1.38817393 0.13529903 +v 7.3223305e-2 1.38817393 0.17677670 +v -1.7080354e-17 1.38817393 0.19134172 +v -7.3223305e-2 1.38817393 0.17677670 +v -0.13529903 1.38817393 0.13529903 +v -0.17677670 1.38817393 7.3223305e-2 +v -0.19134172 1.38817393 2.2578584e-17 +v -0.17677670 1.38817393 -7.3223305e-2 +v -0.13529903 1.38817393 -0.13529903 +v -7.3223305e-2 1.38817393 -0.17677670 +v -1.7080354e-17 1.38817393 -0.19134172 +v 7.3223305e-2 1.38817393 -0.17677670 +v 0.13529903 1.38817393 -0.13529903 +v 0.17677670 1.38817393 -7.3223305e-2 +v 0.35355339 1.27978756 -8.5401771e-19 +v 0.32664074 1.27978756 0.13529903 +v 0.25000000 1.27978756 0.25000000 +v 0.13529903 1.27978756 0.32664074 +v -1.7080354e-17 1.27978756 0.35355339 +v -0.13529903 1.27978756 0.32664074 +v -0.25000000 1.27978756 0.25000000 +v -0.32664074 1.27978756 0.13529903 +v -0.35355339 1.27978756 4.2443785e-17 +v -0.32664074 1.27978756 -0.13529903 +v -0.25000000 1.27978756 -0.25000000 +v -0.13529903 1.27978756 -0.32664074 +v -1.2810266e-16 1.27978756 -0.35355339 +v 0.13529903 1.27978756 -0.32664074 +v 0.25000000 1.27978756 -0.25000000 +v 0.32664074 1.27978756 -0.13529903 +v 0.46193977 1.11757588 -8.5401771e-19 +v 0.42677670 1.11757588 0.17677670 +v 0.32664074 1.11757588 0.32664074 +v 0.17677670 1.11757588 0.42677670 +v -1.7080354e-17 1.11757588 0.46193977 +v -0.17677670 1.11757588 0.42677670 +v -0.32664074 1.11757588 0.32664074 +v -0.42677670 1.11757588 0.17677670 +v -0.46193977 1.11757588 5.5717288e-17 +v -0.42677670 1.11757588 -0.17677670 +v -0.32664074 1.11757588 -0.32664074 +v -0.17677670 1.11757588 -0.42677670 +v -1.2810266e-16 1.11757588 -0.46193977 +v 0.17677670 1.11757588 -0.42677670 +v 0.32664074 1.11757588 -0.32664074 +v 0.42677670 1.11757588 -0.17677670 +v -1.7080354e-17 1.42623417 -8.5401771e-19 +v -0.29250000 0.50647059 -2.7536184e-18 +v -0.27023476 0.50647059 0.11193490 +v -0.20682873 0.50647059 0.20682873 +v -0.11193490 0.50647059 0.27023476 +v -1.1888199e-16 0.50647059 0.29250000 +v 0.11193490 0.50647059 0.27023476 +v 0.20682873 0.50647059 0.20682873 +v 0.27023476 0.50647059 0.11193490 +v 0.29250000 0.50647059 3.3067300e-17 +v 0.27023476 0.50647059 -0.11193490 +v 0.20682873 0.50647059 -0.20682873 +v 0.11193490 0.50647059 -0.27023476 +v -4.7240155e-17 0.50647059 -0.29250000 +v -0.11193490 0.50647059 -0.27023476 +v -0.20682873 0.50647059 -0.20682873 +v -0.27023476 0.50647059 -0.11193490 +v -0.46500000 0.83980392 -2.2118745e-18 +v -0.38066667 0.67313725 -9.9042506e-19 +v -0.42960398 0.83980392 0.17794780 +v -0.35169014 0.67313725 0.14567483 +v -0.32880465 0.83980392 0.32880465 +v -0.26917198 0.67313725 0.26917198 +v -0.17794780 0.83980392 0.42960398 +v -0.14567483 0.67313725 0.35169014 +v -8.7497580e-17 0.83980392 0.46500000 +v -1.0350380e-16 0.67313725 0.38066667 +v 0.17794780 0.83980392 0.42960398 +v 0.14567483 0.67313725 0.35169014 +v 0.32880465 0.83980392 0.32880465 +v 0.26917198 0.67313725 0.26917198 +v 0.42960398 0.83980392 0.17794780 +v 0.35169014 0.67313725 0.14567483 +v 0.46500000 0.83980392 5.4734202e-17 +v 0.38066667 0.67313725 4.5627796e-17 +v 0.42960398 0.83980392 -0.17794780 +v 0.35169014 0.67313725 -0.14567483 +v 0.32880465 0.83980392 -0.32880465 +v 0.26917198 0.67313725 -0.26917198 +v 0.17794780 0.83980392 -0.42960398 +v 0.14567483 0.67313725 -0.35169014 +v 2.6394572e-17 0.83980392 -0.46500000 +v -1.0267355e-17 0.67313725 -0.38066667 +v -0.17794780 0.83980392 -0.42960398 +v -0.14567483 0.67313725 -0.35169014 +v -0.32880465 0.83980392 -0.32880465 +v -0.26917198 0.67313725 -0.26917198 +v -0.42960398 0.83980392 -0.17794780 +v -0.35169014 0.67313725 -0.14567483 +vn -0.99714331 -6.4335488e-2 -3.9574742e-2 +vn -0.93402579 2.6033648e-2 0.35625562 +vn -0.73307037 -6.4335488e-2 0.67710323 +vn -0.40854521 2.6033648e-2 0.91236674 +vn -3.9574742e-2 -6.4335488e-2 0.99714331 +vn 0.35625562 2.6033648e-2 0.93402579 +vn 0.70361200 -9.9299060e-2 0.70361200 +vn 0.93402579 2.6033648e-2 0.35625562 +vn 0.99714331 -6.4335488e-2 -3.9574742e-2 +vn 0.92120253 7.6070595e-2 -0.38157458 +vn 0.73307037 -6.4335488e-2 -0.67710323 +vn 0.38265741 -1.1662560e-2 -0.92381670 +vn -3.9574742e-2 -6.4335488e-2 -0.99714331 +vn -0.38157458 7.6070595e-2 -0.92120253 +vn -0.67710323 -6.4335488e-2 -0.73307037 +vn -0.91236674 2.6033648e-2 -0.40854521 +vn 5.5771917e-17 -1.00000000 -1.7080150e-16 +vn 0.44254783 0.89674490 1.1580220e-16 +vn 0.35310199 0.92408176 0.14625963 +vn 0.31292857 0.89674490 0.31292857 +vn 0.14625963 0.92408176 0.35310199 +vn 7.3262616e-17 0.89674490 0.44254783 +vn -0.14625963 0.92408176 0.35310199 +vn -0.31292857 0.89674490 0.31292857 +vn -0.35310199 0.92408176 0.14625963 +vn -0.44254783 0.89674490 2.3633102e-18 +vn -0.35310199 0.92408176 -0.14625963 +vn -0.31292857 0.89674490 -0.31292857 +vn -0.14625963 0.92408176 -0.35310199 +vn 5.4356134e-17 0.89674490 -0.44254783 +vn 0.14625963 0.92408176 -0.35310199 +vn 0.31292857 0.89674490 -0.31292857 +vn 0.35310199 0.92408176 -0.14625963 +vn 0.70658450 0.70762868 1.0002053e-16 +vn 0.65279895 0.70762868 0.27039818 +vn 0.49963069 0.70762868 0.49963069 +vn 0.27039818 0.70762868 0.65279895 +vn -5.7154588e-17 0.70762868 0.70658450 +vn -0.27039818 0.70762868 0.65279895 +vn -0.49963069 0.70762868 0.49963069 +vn -0.65279895 0.70762868 0.27039818 +vn -0.70658450 0.70762868 -2.1432970e-17 +vn -0.65279895 0.70762868 -0.27039818 +vn -0.49963069 0.70762868 -0.49963069 +vn -0.27039818 0.70762868 -0.65279895 +vn -2.1432970e-17 0.70762868 -0.70658450 +vn 0.27039818 0.70762868 -0.65279895 +vn 0.49963069 0.70762868 -0.49963069 +vn 0.65279895 0.70762868 -0.27039818 +vn 0.91381427 0.40613234 -1.6813282e-16 +vn 0.84425430 0.40613234 0.34970158 +vn 0.64616427 0.40613234 0.64616427 +vn 0.34970158 0.40613234 0.84425430 +vn -2.5041059e-17 0.40613234 0.91381427 +vn -0.34970158 0.40613234 0.84425430 +vn -0.64616427 0.40613234 0.64616427 +vn -0.84425430 0.40613234 0.34970158 +vn -0.91381427 0.40613234 1.0731882e-17 +vn -0.84425430 0.40613234 -0.34970158 +vn -0.64616427 0.40613234 -0.64616427 +vn -0.34970158 0.40613234 -0.84425430 +vn -4.6504823e-17 0.40613234 -0.91381427 +vn 0.34970158 0.40613234 -0.84425430 +vn 0.64616427 0.40613234 -0.64616427 +vn 0.84425430 0.40613234 -0.34970158 +vn -1.7700400e-17 1.00000000 -9.4697138e-17 +vn -0.87527144 -0.48235358 3.5141435e-2 +vn -0.79519733 -0.48235358 0.36741833 +vn -0.59406163 -0.48235358 0.64375912 +vn -0.30248543 -0.48235358 0.82209342 +vn 3.5141435e-2 -0.48235358 0.87527144 +vn 0.36741833 -0.48235358 0.79519733 +vn 0.61782827 -0.48639126 0.61782827 +vn 0.79519733 -0.48235358 0.36741833 +vn 0.87527144 -0.48235358 3.5141435e-2 +vn 0.81041278 -0.48015352 -0.33568396 +vn 0.59406163 -0.48235358 -0.64375912 +vn 0.33436625 -0.48639126 -0.80723154 +vn 3.5141435e-2 -0.48235358 -0.87527144 +vn -0.33568396 -0.48015352 -0.81041278 +vn -0.64375912 -0.48235358 -0.59406163 +vn -0.82209342 -0.48235358 -0.30248543 +vn -0.93259256 -0.36092353 2.3049280e-3 +vn -0.88814284 -0.45956743 2.6803858e-4 +vn -0.86072112 -0.36092353 0.35901720 +vn -0.82043442 -0.45956743 0.34012519 +vn -0.65781270 -0.36092353 0.66107236 +vn -0.62782229 -0.45956743 0.62820136 +vn -0.35475825 -0.36092353 0.86248524 +vn -0.33962992 -0.45956743 0.82063957 +vn 2.3049280e-3 -0.36092353 0.93259256 +vn 2.6803858e-4 -0.45956743 0.88814284 +vn 0.35901720 -0.36092353 0.86072112 +vn 0.34012519 -0.45956743 0.82043442 +vn 0.65061382 -0.39166735 0.65061382 +vn 0.62702645 -0.46225065 0.62702645 +vn 0.86072112 -0.36092353 0.35901720 +vn 0.82043442 -0.45956743 0.34012519 +vn 0.93259256 -0.36092353 2.3049280e-3 +vn 0.88814284 -0.45956743 2.6803858e-4 +vn 0.87220297 -0.32975745 -0.36127830 +vn 0.82181713 -0.45687979 -0.34040780 +vn 0.65781270 -0.36092353 -0.66107236 +vn 0.62782229 -0.45956743 -0.62820136 +vn 0.35210966 -0.39166735 -0.85006792 +vn 0.33934427 -0.46225065 -0.81924954 +vn 2.3049280e-3 -0.36092353 -0.93259256 +vn 2.6803858e-4 -0.45956743 -0.88814284 +vn -0.36127830 -0.32975745 -0.87220297 +vn -0.34040780 -0.45687979 -0.82181713 +vn -0.66107236 -0.36092353 -0.65781270 +vn -0.62820136 -0.45956743 -0.62782229 +vn -0.86248524 -0.36092353 -0.35475825 +vn -0.82063957 -0.45956743 -0.33962992 +g cone1_default +usemtl default +s 1 +f 1//1 2//2 58//58 +f 1//1 113//113 83//83 +f 2//2 83//83 85//85 +f 3//3 4//4 56//56 +f 3//3 85//85 87//87 +f 4//4 87//87 89//89 +f 5//5 6//6 54//54 +f 5//5 89//89 91//91 +f 6//6 91//91 93//93 +f 7//7 8//8 52//52 +f 7//7 93//93 95//95 +f 8//8 7//7 97//97 +f 9//9 8//8 99//99 +f 9//9 10//10 50//50 +f 10//10 9//9 101//101 +f 11//11 12//12 64//64 +f 11//11 101//101 103//103 +f 12//12 103//103 105//105 +f 13//13 12//12 107//107 +f 13//13 14//14 62//62 +f 14//14 13//13 109//109 +f 15//15 16//16 60//60 +f 15//15 109//109 111//111 +f 16//16 111//111 113//113 +f 17//17 68//68 67//67 +f 17//17 69//69 68//68 +f 17//17 70//70 69//69 +f 17//17 71//71 70//70 +f 17//17 72//72 71//71 +f 17//17 73//73 72//72 +f 17//17 74//74 73//73 +f 17//17 75//75 74//74 +f 17//17 76//76 75//75 +f 17//17 77//77 76//76 +f 17//17 78//78 77//77 +f 17//17 79//79 78//78 +f 17//17 80//80 79//79 +f 17//17 81//81 80//80 +f 17//17 82//82 81//81 +f 18//18 35//35 34//34 +f 18//18 49//49 33//33 +f 18//18 66//66 19//19 +f 19//19 35//35 18//18 +f 19//19 66//66 20//20 +f 20//20 35//35 19//19 +f 20//20 37//37 36//36 +f 20//20 66//66 21//21 +f 21//21 37//37 20//20 +f 21//21 66//66 22//22 +f 22//22 37//37 21//21 +f 22//22 39//39 38//38 +f 22//22 66//66 23//23 +f 23//23 39//39 22//22 +f 23//23 66//66 24//24 +f 24//24 39//39 23//23 +f 24//24 41//41 40//40 +f 24//24 66//66 25//25 +f 25//25 41//41 24//24 +f 25//25 66//66 26//26 +f 26//26 41//41 25//25 +f 26//26 43//43 42//42 +f 26//26 66//66 27//27 +f 27//27 43//43 26//26 +f 27//27 66//66 28//28 +f 28//28 43//43 27//27 +f 28//28 45//45 44//44 +f 28//28 66//66 29//29 +f 29//29 45//45 28//28 +f 29//29 66//66 30//30 +f 30//30 45//45 29//29 +f 30//30 47//47 46//46 +f 30//30 66//66 31//31 +f 31//31 47//47 30//30 +f 31//31 66//66 32//32 +f 32//32 47//47 31//31 +f 32//32 49//49 48//48 +f 32//32 66//66 33//33 +f 33//33 49//49 32//32 +f 33//33 66//66 18//18 +f 34//34 49//49 18//18 +f 34//34 50//50 49//49 +f 35//35 50//50 34//34 +f 35//35 52//52 51//51 +f 36//36 35//35 20//20 +f 36//36 52//52 35//35 +f 37//37 52//52 36//36 +f 37//37 54//54 53//53 +f 38//38 37//37 22//22 +f 38//38 54//54 37//37 +f 39//39 54//54 38//38 +f 39//39 56//56 55//55 +f 40//40 39//39 24//24 +f 40//40 56//56 39//39 +f 41//41 56//56 40//40 +f 41//41 58//58 57//57 +f 42//42 41//41 26//26 +f 42//42 58//58 41//41 +f 43//43 58//58 42//42 +f 43//43 60//60 59//59 +f 44//44 43//43 28//28 +f 44//44 60//60 43//43 +f 45//45 60//60 44//44 +f 45//45 62//62 61//61 +f 46//46 45//45 30//30 +f 46//46 62//62 45//45 +f 47//47 62//62 46//46 +f 47//47 64//64 63//63 +f 48//48 47//47 32//32 +f 48//48 64//64 47//47 +f 49//49 50//50 65//65 +f 49//49 64//64 48//48 +f 50//50 8//8 9//9 +f 50//50 10//10 65//65 +f 51//51 8//8 50//50 +f 51//51 50//50 35//35 +f 52//52 6//6 7//7 +f 52//52 8//8 51//51 +f 53//53 6//6 52//52 +f 53//53 52//52 37//37 +f 54//54 4//4 5//5 +f 54//54 6//6 53//53 +f 55//55 4//4 54//54 +f 55//55 54//54 39//39 +f 56//56 2//2 3//3 +f 56//56 4//4 55//55 +f 57//57 2//2 56//56 +f 57//57 56//56 41//41 +f 58//58 2//2 57//57 +f 58//58 16//16 1//1 +f 59//59 16//16 58//58 +f 59//59 58//58 43//43 +f 60//60 14//14 15//15 +f 60//60 16//16 59//59 +f 61//61 14//14 60//60 +f 61//61 60//60 45//45 +f 62//62 12//12 13//13 +f 62//62 14//14 61//61 +f 63//63 12//12 62//62 +f 63//63 62//62 47//47 +f 64//64 10//10 11//11 +f 64//64 12//12 63//63 +f 65//65 10//10 64//64 +f 65//65 64//64 49//49 +f 67//67 82//82 17//17 +f 67//67 86//86 84//84 +f 68//68 88//88 86//86 +f 69//69 90//90 88//88 +f 70//70 92//92 90//90 +f 71//71 94//94 92//92 +f 72//72 96//96 94//94 +f 73//73 74//74 96//96 +f 74//74 75//75 98//98 +f 75//75 76//76 100//100 +f 76//76 104//104 102//102 +f 77//77 106//106 104//104 +f 78//78 79//79 106//106 +f 79//79 80//80 108//108 +f 80//80 112//112 110//110 +f 81//81 114//114 112//112 +f 82//82 84//84 114//114 +f 83//83 2//2 1//1 +f 83//83 114//114 84//84 +f 84//84 82//82 67//67 +f 84//84 85//85 83//83 +f 85//85 3//3 2//2 +f 85//85 84//84 86//86 +f 86//86 67//67 68//68 +f 86//86 87//87 85//85 +f 87//87 4//4 3//3 +f 87//87 86//86 88//88 +f 88//88 68//68 69//69 +f 88//88 89//89 87//87 +f 89//89 5//5 4//4 +f 89//89 88//88 90//90 +f 90//90 69//69 70//70 +f 90//90 91//91 89//89 +f 91//91 6//6 5//5 +f 91//91 90//90 92//92 +f 92//92 70//70 71//71 +f 92//92 93//93 91//91 +f 93//93 7//7 6//6 +f 93//93 92//92 94//94 +f 94//94 71//71 72//72 +f 94//94 95//95 93//93 +f 95//95 94//94 96//96 +f 95//95 97//97 7//7 +f 96//96 72//72 73//73 +f 96//96 98//98 95//95 +f 97//97 95//95 98//98 +f 97//97 99//99 8//8 +f 98//98 96//96 74//74 +f 98//98 100//100 97//97 +f 99//99 97//97 100//100 +f 99//99 101//101 9//9 +f 100//100 98//98 75//75 +f 100//100 102//102 99//99 +f 101//101 11//11 10//10 +f 101//101 99//99 102//102 +f 102//102 100//100 76//76 +f 102//102 103//103 101//101 +f 103//103 12//12 11//11 +f 103//103 102//102 104//104 +f 104//104 76//76 77//77 +f 104//104 105//105 103//103 +f 105//105 104//104 106//106 +f 105//105 107//107 12//12 +f 106//106 77//77 78//78 +f 106//106 108//108 105//105 +f 107//107 105//105 108//108 +f 107//107 109//109 13//13 +f 108//108 106//106 79//79 +f 108//108 110//110 107//107 +f 109//109 15//15 14//14 +f 109//109 107//107 110//110 +f 110//110 108//108 80//80 +f 110//110 111//111 109//109 +f 111//111 16//16 15//15 +f 111//111 110//110 112//112 +f 112//112 80//80 81//81 +f 112//112 113//113 111//111 +f 113//113 1//1 16//16 +f 113//113 112//112 114//114 +f 114//114 81//81 82//82 +f 114//114 83//83 113//113 diff --git a/Nikita/source/waypoint.obj.import b/Nikita/source/waypoint.obj.import new file mode 100644 index 0000000..133edb5 --- /dev/null +++ b/Nikita/source/waypoint.obj.import @@ -0,0 +1,25 @@ +[remap] + +importer="wavefront_obj" +importer_version=1 +type="Mesh" +uid="uid://cxhm1t06r3k56" +path="res://.godot/imported/waypoint.obj-f88fcc7359b77e33cda3b6e61d3e7cdf.mesh" + +[deps] + +files=["res://.godot/imported/waypoint.obj-f88fcc7359b77e33cda3b6e61d3e7cdf.mesh"] + +source_file="res://Nikita/source/waypoint.obj" +dest_files=["res://.godot/imported/waypoint.obj-f88fcc7359b77e33cda3b6e61d3e7cdf.mesh", "res://.godot/imported/waypoint.obj-f88fcc7359b77e33cda3b6e61d3e7cdf.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/Nikita/sub_viewport_container.gd b/Nikita/sub_viewport_container.gd new file mode 100644 index 0000000..012a5ba --- /dev/null +++ b/Nikita/sub_viewport_container.gd @@ -0,0 +1,4 @@ +extends SubViewportContainer + +func _ready() -> void: + $SubViewport.size = get_viewport().size diff --git a/Nikita/sub_viewport_container.gd.uid b/Nikita/sub_viewport_container.gd.uid new file mode 100644 index 0000000..0ed28d7 --- /dev/null +++ b/Nikita/sub_viewport_container.gd.uid @@ -0,0 +1 @@ +uid://b2nb1jajwuv65 diff --git a/Nikita/textures/Earth2_Land_BaseColor.png b/Nikita/textures/Earth2_Land_BaseColor.png new file mode 100644 index 0000000..2f42ed6 Binary files /dev/null and b/Nikita/textures/Earth2_Land_BaseColor.png differ diff --git a/Nikita/textures/Earth2_Land_BaseColor.png.import b/Nikita/textures/Earth2_Land_BaseColor.png.import new file mode 100644 index 0000000..e1f8a19 --- /dev/null +++ b/Nikita/textures/Earth2_Land_BaseColor.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://da0uksbt2mkqw" +path.s3tc="res://.godot/imported/Earth2_Land_BaseColor.png-7ee2f5da2a05aadb931d4316a8113a29.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Nikita/textures/Earth2_Land_BaseColor.png" +dest_files=["res://.godot/imported/Earth2_Land_BaseColor.png-7ee2f5da2a05aadb931d4316a8113a29.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="uid://bknabbn1h3w2q" +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 diff --git a/Nikita/textures/Earth2_Land_Roughness.png b/Nikita/textures/Earth2_Land_Roughness.png new file mode 100644 index 0000000..4b18c7c Binary files /dev/null and b/Nikita/textures/Earth2_Land_Roughness.png differ diff --git a/Nikita/textures/Earth2_Land_Roughness.png.import b/Nikita/textures/Earth2_Land_Roughness.png.import new file mode 100644 index 0000000..8948468 --- /dev/null +++ b/Nikita/textures/Earth2_Land_Roughness.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bknabbn1h3w2q" +path="res://.godot/imported/Earth2_Land_Roughness.png-249e734ef9e5504f2a4e037209f1c48d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Nikita/textures/Earth2_Land_Roughness.png" +dest_files=["res://.godot/imported/Earth2_Land_Roughness.png-249e734ef9e5504f2a4e037209f1c48d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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=1 diff --git a/Nikita/textures/Earth2_Water_BaseColor.png b/Nikita/textures/Earth2_Water_BaseColor.png new file mode 100644 index 0000000..06902bc Binary files /dev/null and b/Nikita/textures/Earth2_Water_BaseColor.png differ diff --git a/Nikita/textures/Earth2_Water_BaseColor.png.import b/Nikita/textures/Earth2_Water_BaseColor.png.import new file mode 100644 index 0000000..15e28f6 --- /dev/null +++ b/Nikita/textures/Earth2_Water_BaseColor.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cw4gkryn2sl7y" +path.s3tc="res://.godot/imported/Earth2_Water_BaseColor.png-6206b41a43a411cb6e46ce8bd7b1b1da.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Nikita/textures/Earth2_Water_BaseColor.png" +dest_files=["res://.godot/imported/Earth2_Water_BaseColor.png-6206b41a43a411cb6e46ce8bd7b1b1da.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="uid://c85cxc0wihnpt" +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 diff --git a/Nikita/textures/Earth2_Water_Roughness.png b/Nikita/textures/Earth2_Water_Roughness.png new file mode 100644 index 0000000..4b7c20a Binary files /dev/null and b/Nikita/textures/Earth2_Water_Roughness.png differ diff --git a/Nikita/textures/Earth2_Water_Roughness.png.import b/Nikita/textures/Earth2_Water_Roughness.png.import new file mode 100644 index 0000000..cf671ec --- /dev/null +++ b/Nikita/textures/Earth2_Water_Roughness.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c85cxc0wihnpt" +path="res://.godot/imported/Earth2_Water_Roughness.png-b18c4d0abfc494db36920a42508774ae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Nikita/textures/Earth2_Water_Roughness.png" +dest_files=["res://.godot/imported/Earth2_Water_Roughness.png-b18c4d0abfc494db36920a42508774ae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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=1 diff --git a/Nikita/textures/camera_image.png b/Nikita/textures/camera_image.png new file mode 100644 index 0000000..e000206 Binary files /dev/null and b/Nikita/textures/camera_image.png differ diff --git a/Nikita/textures/camera_image.png.import b/Nikita/textures/camera_image.png.import new file mode 100644 index 0000000..0e278f4 --- /dev/null +++ b/Nikita/textures/camera_image.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c668unnp6n3xr" +path.s3tc="res://.godot/imported/camera_image.png-49acbbd63d63c6ebbafc0146cb16e14a.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Nikita/textures/camera_image.png" +dest_files=["res://.godot/imported/camera_image.png-49acbbd63d63c6ebbafc0146cb16e14a.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/Nikita/textures/camera_image_2.png b/Nikita/textures/camera_image_2.png new file mode 100644 index 0000000..9552c06 Binary files /dev/null and b/Nikita/textures/camera_image_2.png differ diff --git a/Nikita/textures/camera_image_2.png.import b/Nikita/textures/camera_image_2.png.import new file mode 100644 index 0000000..7785eee --- /dev/null +++ b/Nikita/textures/camera_image_2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjn5x4l7si0d8" +path.s3tc="res://.godot/imported/camera_image_2.png-1342512d565e1266f5b2e7fc31c1a575.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Nikita/textures/camera_image_2.png" +dest_files=["res://.godot/imported/camera_image_2.png-1342512d565e1266f5b2e7fc31c1a575.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/Nikita/textures/panorama_image.png b/Nikita/textures/panorama_image.png new file mode 100644 index 0000000..8f7e8a9 Binary files /dev/null and b/Nikita/textures/panorama_image.png differ diff --git a/Nikita/textures/panorama_image.png.import b/Nikita/textures/panorama_image.png.import new file mode 100644 index 0000000..c747d86 --- /dev/null +++ b/Nikita/textures/panorama_image.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn2wdmm2xiodm" +path.s3tc="res://.godot/imported/panorama_image.png-9f73dc15751376ad3428d34ab0c4c787.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://Nikita/textures/panorama_image.png" +dest_files=["res://.godot/imported/panorama_image.png-9f73dc15751376ad3428d34ab0c4c787.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +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/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 diff --git a/Nikita/textures/popup.png b/Nikita/textures/popup.png new file mode 100644 index 0000000..4c5ee3a Binary files /dev/null and b/Nikita/textures/popup.png differ diff --git a/Nikita/textures/popup.png.import b/Nikita/textures/popup.png.import new file mode 100644 index 0000000..d2f3814 --- /dev/null +++ b/Nikita/textures/popup.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://hk701pejgl" +path="res://.godot/imported/popup.png-ba4ca2f6afa8e322d690f4c69f29e180.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Nikita/textures/popup.png" +dest_files=["res://.godot/imported/popup.png-ba4ca2f6afa8e322d690f4c69f29e180.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +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=1 diff --git a/Nikita/waypoint.tscn b/Nikita/waypoint.tscn new file mode 100644 index 0000000..98e5e9e --- /dev/null +++ b/Nikita/waypoint.tscn @@ -0,0 +1,40 @@ +[gd_scene load_steps=7 format=3 uid="uid://ccjwh4alvryho"] + +[ext_resource type="ArrayMesh" uid="uid://cxhm1t06r3k56" path="res://Nikita/source/waypoint.obj" id="1_77yrm"] +[ext_resource type="Script" uid="uid://y2vv2fxj5ils" path="res://Nikita/scripts/waypoint.gd" id="1_iiqp4"] +[ext_resource type="Texture2D" uid="uid://c668unnp6n3xr" path="res://Nikita/textures/camera_image.png" id="2_iiqp4"] +[ext_resource type="PackedScene" uid="uid://bab0m4cvoiouv" path="res://Nikita/3d_popup.tscn" id="4_3sm4y"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_77yrm"] +depth_draw_mode = 2 +shading_mode = 0 +disable_ambient_light = true +albedo_color = Color(1, 0.0705882, 0, 1) +disable_receive_shadows = true + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_iiqp4"] + +[node name="Waypoint" type="Node3D"] +script = ExtResource("1_iiqp4") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +material_override = SubResource("StandardMaterial3D_77yrm") +cast_shadow = 0 +mesh = ExtResource("1_77yrm") + +[node name="Area3D" type="Area3D" parent="MeshInstance3D"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.755125, -1.49012e-08) + +[node name="CollisionShape3D" type="CollisionShape3D" parent="MeshInstance3D/Area3D"] +transform = Transform3D(1.1, 0, 0, 0, 1.1, 0, 0, 0, 1.1, 0, 0, 0) +shape = SubResource("CapsuleShape3D_iiqp4") + +[node name="CameraIcon" type="Sprite3D" parent="."] +transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, 0, 1, -0.05) +billboard = 1 +texture = ExtResource("2_iiqp4") + +[node name="Popup" parent="." instance=ExtResource("4_3sm4y")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -4.28591, 0.944037, 2.87264e-07) + +[connection signal="input_event" from="MeshInstance3D/Area3D" to="." method="_on_area_3d_input_event"]