parent
549a835578
commit
76d821a122
@ -0,0 +1,3 @@ |
||||
[folding] |
||||
|
||||
sections_unfolded=PackedStringArray() |
||||
@ -0,0 +1,170 @@ |
||||
[editor_states] |
||||
|
||||
Anim={ |
||||
"visible": false |
||||
} |
||||
2D={ |
||||
"grid_offset": Vector2(0, 0), |
||||
"grid_snap_active": false, |
||||
"grid_step": Vector2(8, 8), |
||||
"grid_visibility": 1, |
||||
"ofs": Vector2(-165, -110), |
||||
"primary_grid_steps": 8, |
||||
"show_edit_locks": true, |
||||
"show_guides": true, |
||||
"show_helpers": false, |
||||
"show_origin": true, |
||||
"show_rulers": true, |
||||
"show_transformation_gizmos": true, |
||||
"show_viewport": true, |
||||
"show_zoom_control": true, |
||||
"smart_snap_active": false, |
||||
"snap_guides": true, |
||||
"snap_node_anchors": true, |
||||
"snap_node_center": true, |
||||
"snap_node_parent": true, |
||||
"snap_node_sides": true, |
||||
"snap_other_nodes": true, |
||||
"snap_pixel": true, |
||||
"snap_relative": false, |
||||
"snap_rotation": false, |
||||
"snap_rotation_offset": 0.0, |
||||
"snap_rotation_step": 0.261799, |
||||
"snap_scale": false, |
||||
"snap_scale_step": 0.1, |
||||
"zoom": 1.0 |
||||
} |
||||
3D={ |
||||
"fov": 70.01, |
||||
"gizmos_status": { |
||||
"AudioListener3D": 0, |
||||
"AudioStreamPlayer3D": 0, |
||||
"CPUParticles3D": 0, |
||||
"CSGShape3D": 0, |
||||
"Camera3D": 0, |
||||
"CollisionObject3D": 0, |
||||
"CollisionPolygon3D": 0, |
||||
"CollisionShape3D": 0, |
||||
"Decal": 0, |
||||
"FogVolume": 0, |
||||
"GPUParticles3D": 0, |
||||
"GPUParticlesCollision3D": 0, |
||||
"Joint3D": 0, |
||||
"Light3D": 0, |
||||
"LightmapGI": 0, |
||||
"LightmapProbe": 0, |
||||
"Marker3D": 0, |
||||
"NavigationLink3D": 0, |
||||
"NavigationRegion3D": 0, |
||||
"OccluderInstance3D": 0, |
||||
"Path3D": 0, |
||||
"PhysicalBone3D": 0, |
||||
"RayCast3D": 0, |
||||
"ReflectionProbe": 0, |
||||
"ShapeCast3D": 0, |
||||
"Skeleton3D": 0, |
||||
"SoftBody3D": 0, |
||||
"SpringArm3D": 0, |
||||
"VehicleWheel3D": 0, |
||||
"VisibleOnScreenNotifier3D": 0, |
||||
"VoxelGI": 0 |
||||
}, |
||||
"local_coords": false, |
||||
"preview_sun_env": { |
||||
"environ_ao_enabled": false, |
||||
"environ_enabled": true, |
||||
"environ_energy": 1.0, |
||||
"environ_gi_enabled": false, |
||||
"environ_glow_enabled": true, |
||||
"environ_ground_color": Color(0.2, 0.169, 0.133, 1), |
||||
"environ_sky_color": Color(0.385, 0.454, 0.55, 1), |
||||
"environ_tonemap_enabled": true, |
||||
"sun_color": Color(1, 1, 1, 1), |
||||
"sun_enabled": true, |
||||
"sun_energy": 1.0, |
||||
"sun_max_distance": 100.0, |
||||
"sun_rotation": Vector2(-1.0472, 2.61799) |
||||
}, |
||||
"rotate_snap": 15.0, |
||||
"scale_snap": 10.0, |
||||
"show_grid": true, |
||||
"show_origin": true, |
||||
"snap_enabled": false, |
||||
"translate_snap": 1.0, |
||||
"viewport_mode": 1, |
||||
"viewports": [{ |
||||
"auto_orthogonal": false, |
||||
"auto_orthogonal_enabled": true, |
||||
"cinematic_preview": false, |
||||
"display_mode": 20, |
||||
"distance": 53.6913, |
||||
"doppler": false, |
||||
"frame_time": false, |
||||
"gizmos": true, |
||||
"half_res": false, |
||||
"information": false, |
||||
"listener": true, |
||||
"position": Vector3(-0.886687, 1.77527, 4.49194), |
||||
"use_environment": false, |
||||
"use_orthogonal": true, |
||||
"view_type": 0, |
||||
"x_rotation": 0.13963, |
||||
"y_rotation": -4.46804 |
||||
}, { |
||||
"auto_orthogonal": false, |
||||
"auto_orthogonal_enabled": true, |
||||
"cinematic_preview": false, |
||||
"display_mode": 20, |
||||
"distance": 4.0, |
||||
"doppler": false, |
||||
"frame_time": false, |
||||
"gizmos": true, |
||||
"half_res": false, |
||||
"information": false, |
||||
"listener": false, |
||||
"position": Vector3(0, 0, 0), |
||||
"use_environment": false, |
||||
"use_orthogonal": false, |
||||
"view_type": 0, |
||||
"x_rotation": 0.5, |
||||
"y_rotation": -0.5 |
||||
}, { |
||||
"auto_orthogonal": false, |
||||
"auto_orthogonal_enabled": true, |
||||
"cinematic_preview": false, |
||||
"display_mode": 20, |
||||
"distance": 4.0, |
||||
"doppler": false, |
||||
"frame_time": false, |
||||
"gizmos": true, |
||||
"half_res": false, |
||||
"information": false, |
||||
"listener": false, |
||||
"position": Vector3(0, 0, 0), |
||||
"use_environment": false, |
||||
"use_orthogonal": false, |
||||
"view_type": 0, |
||||
"x_rotation": 0.5, |
||||
"y_rotation": -0.5 |
||||
}, { |
||||
"auto_orthogonal": false, |
||||
"auto_orthogonal_enabled": true, |
||||
"cinematic_preview": false, |
||||
"display_mode": 20, |
||||
"distance": 4.0, |
||||
"doppler": false, |
||||
"frame_time": false, |
||||
"gizmos": true, |
||||
"half_res": false, |
||||
"information": false, |
||||
"listener": false, |
||||
"position": Vector3(0, 0, 0), |
||||
"use_environment": false, |
||||
"use_orthogonal": false, |
||||
"view_type": 0, |
||||
"x_rotation": 0.5, |
||||
"y_rotation": -0.5 |
||||
}], |
||||
"zfar": 4000.01, |
||||
"znear": 0.05 |
||||
} |
||||
@ -0,0 +1,170 @@ |
||||
[editor_states] |
||||
|
||||
Anim={ |
||||
"visible": false |
||||
} |
||||
2D={ |
||||
"grid_offset": Vector2(0, 0), |
||||
"grid_snap_active": false, |
||||
"grid_step": Vector2(8, 8), |
||||
"grid_visibility": 1, |
||||
"ofs": Vector2(-165, -110), |
||||
"primary_grid_steps": 8, |
||||
"show_edit_locks": true, |
||||
"show_guides": true, |
||||
"show_helpers": false, |
||||
"show_origin": true, |
||||
"show_rulers": true, |
||||
"show_transformation_gizmos": true, |
||||
"show_viewport": true, |
||||
"show_zoom_control": true, |
||||
"smart_snap_active": false, |
||||
"snap_guides": true, |
||||
"snap_node_anchors": true, |
||||
"snap_node_center": true, |
||||
"snap_node_parent": true, |
||||
"snap_node_sides": true, |
||||
"snap_other_nodes": true, |
||||
"snap_pixel": true, |
||||
"snap_relative": false, |
||||
"snap_rotation": false, |
||||
"snap_rotation_offset": 0.0, |
||||
"snap_rotation_step": 0.261799, |
||||
"snap_scale": false, |
||||
"snap_scale_step": 0.1, |
||||
"zoom": 1.0 |
||||
} |
||||
3D={ |
||||
"fov": 70.01, |
||||
"gizmos_status": { |
||||
"AudioListener3D": 0, |
||||
"AudioStreamPlayer3D": 0, |
||||
"CPUParticles3D": 0, |
||||
"CSGShape3D": 0, |
||||
"Camera3D": 0, |
||||
"CollisionObject3D": 0, |
||||
"CollisionPolygon3D": 0, |
||||
"CollisionShape3D": 0, |
||||
"Decal": 0, |
||||
"FogVolume": 0, |
||||
"GPUParticles3D": 0, |
||||
"GPUParticlesCollision3D": 0, |
||||
"Joint3D": 0, |
||||
"Light3D": 0, |
||||
"LightmapGI": 0, |
||||
"LightmapProbe": 0, |
||||
"Marker3D": 0, |
||||
"NavigationLink3D": 0, |
||||
"NavigationRegion3D": 0, |
||||
"OccluderInstance3D": 0, |
||||
"Path3D": 0, |
||||
"PhysicalBone3D": 0, |
||||
"RayCast3D": 0, |
||||
"ReflectionProbe": 0, |
||||
"ShapeCast3D": 0, |
||||
"Skeleton3D": 0, |
||||
"SoftBody3D": 0, |
||||
"SpringArm3D": 0, |
||||
"VehicleWheel3D": 0, |
||||
"VisibleOnScreenNotifier3D": 0, |
||||
"VoxelGI": 0 |
||||
}, |
||||
"local_coords": false, |
||||
"preview_sun_env": { |
||||
"environ_ao_enabled": false, |
||||
"environ_enabled": true, |
||||
"environ_energy": 1.0, |
||||
"environ_gi_enabled": false, |
||||
"environ_glow_enabled": true, |
||||
"environ_ground_color": Color(0.2, 0.169, 0.133, 1), |
||||
"environ_sky_color": Color(0.385, 0.454, 0.55, 1), |
||||
"environ_tonemap_enabled": true, |
||||
"sun_color": Color(1, 1, 1, 1), |
||||
"sun_enabled": true, |
||||
"sun_energy": 1.0, |
||||
"sun_max_distance": 100.0, |
||||
"sun_rotation": Vector2(-1.0472, 2.61799) |
||||
}, |
||||
"rotate_snap": 15.0, |
||||
"scale_snap": 10.0, |
||||
"show_grid": true, |
||||
"show_origin": true, |
||||
"snap_enabled": false, |
||||
"translate_snap": 1.0, |
||||
"viewport_mode": 1, |
||||
"viewports": [{ |
||||
"auto_orthogonal": false, |
||||
"auto_orthogonal_enabled": true, |
||||
"cinematic_preview": false, |
||||
"display_mode": 20, |
||||
"distance": 53.6913, |
||||
"doppler": false, |
||||
"frame_time": false, |
||||
"gizmos": true, |
||||
"half_res": false, |
||||
"information": false, |
||||
"listener": true, |
||||
"position": Vector3(-0.886687, 1.77527, 4.49194), |
||||
"use_environment": false, |
||||
"use_orthogonal": true, |
||||
"view_type": 0, |
||||
"x_rotation": 0.13963, |
||||
"y_rotation": -4.46804 |
||||
}, { |
||||
"auto_orthogonal": false, |
||||
"auto_orthogonal_enabled": true, |
||||
"cinematic_preview": false, |
||||
"display_mode": 20, |
||||
"distance": 4.0, |
||||
"doppler": false, |
||||
"frame_time": false, |
||||
"gizmos": true, |
||||
"half_res": false, |
||||
"information": false, |
||||
"listener": false, |
||||
"position": Vector3(0, 0, 0), |
||||
"use_environment": false, |
||||
"use_orthogonal": false, |
||||
"view_type": 0, |
||||
"x_rotation": 0.5, |
||||
"y_rotation": -0.5 |
||||
}, { |
||||
"auto_orthogonal": false, |
||||
"auto_orthogonal_enabled": true, |
||||
"cinematic_preview": false, |
||||
"display_mode": 20, |
||||
"distance": 4.0, |
||||
"doppler": false, |
||||
"frame_time": false, |
||||
"gizmos": true, |
||||
"half_res": false, |
||||
"information": false, |
||||
"listener": false, |
||||
"position": Vector3(0, 0, 0), |
||||
"use_environment": false, |
||||
"use_orthogonal": false, |
||||
"view_type": 0, |
||||
"x_rotation": 0.5, |
||||
"y_rotation": -0.5 |
||||
}, { |
||||
"auto_orthogonal": false, |
||||
"auto_orthogonal_enabled": true, |
||||
"cinematic_preview": false, |
||||
"display_mode": 20, |
||||
"distance": 4.0, |
||||
"doppler": false, |
||||
"frame_time": false, |
||||
"gizmos": true, |
||||
"half_res": false, |
||||
"information": false, |
||||
"listener": false, |
||||
"position": Vector3(0, 0, 0), |
||||
"use_environment": false, |
||||
"use_orthogonal": false, |
||||
"view_type": 0, |
||||
"x_rotation": 0.5, |
||||
"y_rotation": -0.5 |
||||
}], |
||||
"zfar": 4000.01, |
||||
"znear": 0.05 |
||||
} |
||||
@ -0,0 +1,5 @@ |
||||
[folding] |
||||
|
||||
node_unfolds=[NodePath("."), PackedStringArray("Transform", "Visibility"), NodePath("Camera"), PackedStringArray("Transform")] |
||||
resource_unfolds=[] |
||||
nodes_folded=[] |
||||
@ -0,0 +1,5 @@ |
||||
[folding] |
||||
|
||||
node_unfolds=[NodePath("."), PackedStringArray("Transform", "Visibility"), NodePath("Camera"), PackedStringArray("Transform")] |
||||
resource_unfolds=[] |
||||
nodes_folded=[] |
||||
@ -0,0 +1,3 @@ |
||||
[folding] |
||||
|
||||
sections_unfolded=PackedStringArray() |
||||
@ -0,0 +1,3 @@ |
||||
[folding] |
||||
|
||||
sections_unfolded=PackedStringArray() |
||||
@ -0,0 +1,3 @@ |
||||
[folding] |
||||
|
||||
sections_unfolded=PackedStringArray() |
||||
@ -1,5 +1,5 @@ |
||||
[folding] |
||||
|
||||
node_unfolds=[NodePath("GridMap"), PackedStringArray("Cell", "Navigation", "Transform"), NodePath("GridMap/Player"), PackedStringArray("Transform", "Visibility"), NodePath("GridMap/Player/MeshInstance3D"), PackedStringArray("Transform"), NodePath("GridMap/Player/Camera3D"), PackedStringArray("Transform"), NodePath("GridMap/DirectionalLight3D"), PackedStringArray("Transform", "Light", "Shadow", "Directional Shadow"), NodePath("WorldEnvironment"), PackedStringArray("environment")] |
||||
resource_unfolds=["res://GridMap.tscn::1", PackedStringArray("Resource"), "res://GridMap.tscn::Environment_ph1u4", PackedStringArray("Background", "Volumetric Fog")] |
||||
node_unfolds=[NodePath("GridMap"), PackedStringArray("Cell", "Navigation", "Transform"), NodePath("GridMap/DirectionalLight3D"), PackedStringArray("Transform", "Light", "Shadow", "Directional Shadow"), NodePath("GridMap/Camera3D"), PackedStringArray("Transform"), NodePath("WorldEnvironment"), PackedStringArray("environment")] |
||||
resource_unfolds=["res://GridMap.tscn::Environment_ph1u4", PackedStringArray("Background", "Volumetric Fog")] |
||||
nodes_folded=[] |
||||
|
||||
@ -0,0 +1,3 @@ |
||||
[folding] |
||||
|
||||
sections_unfolded=PackedStringArray() |
||||
@ -1 +1,7 @@ |
||||
list=Array[Dictionary]([]) |
||||
list=Array[Dictionary]([{ |
||||
"base": &"Camera3D", |
||||
"class": &"CameraController", |
||||
"icon": "", |
||||
"language": &"GDScript", |
||||
"path": "res://utils/camera/CameraController.gd" |
||||
}]) |
||||
|
||||
Binary file not shown.
@ -0,0 +1,37 @@ |
||||
extends Camera3D |
||||
|
||||
const MOVE_MARGIN = 20 |
||||
const MOVE_SPEED = 30 |
||||
|
||||
@export var min_zoom: float = 10 |
||||
@export var max_zoom: float = 100 |
||||
|
||||
@export var zoom_sensibility: float = 1.4 |
||||
|
||||
func _process(delta): |
||||
var m_pos = get_viewport().get_mouse_position() |
||||
calc_move(m_pos, delta) |
||||
if Input.is_action_just_released("zoom_in"): |
||||
zoom(-1000) |
||||
if Input.is_action_just_released("zoom_out"): |
||||
zoom(1000) |
||||
|
||||
|
||||
func calc_move(m_pos, delta): |
||||
var v_size = get_viewport().size |
||||
var move_vec = Vector3() |
||||
if m_pos.x < MOVE_MARGIN: |
||||
move_vec.x -= 1 |
||||
if m_pos.y < MOVE_MARGIN: |
||||
move_vec.z -= 1 |
||||
if m_pos.x > v_size.x - MOVE_MARGIN: |
||||
move_vec.x += 1 |
||||
if m_pos.y > v_size.y - MOVE_MARGIN: |
||||
move_vec.z += 1 |
||||
move_vec = move_vec.rotated(Vector3(0, 1, 0), rotation_degrees.y) |
||||
global_translate(move_vec * delta * MOVE_SPEED) |
||||
|
||||
func zoom(direction : float): |
||||
#Zooming using fov |
||||
var new_fov = fov + (sign(direction) * pow(abs(direction),zoom_sensibility)/100 * get_process_delta_time()) |
||||
fov = clamp(new_fov,min_zoom,max_zoom) |
||||
Loading…
Reference in new issue