Use an higher FOV value in demos

A vertical FOV of 74 degrees is roughly equivalent to a 90 degree
horizontal FOV on a 4:3 display (~106.26 degrees on 16:9), which
is the typical default FOV used in PC games.
This commit is contained in:
Hugo Locurcio
2018-05-18 22:52:52 +02:00
parent 65ea563d57
commit 86bf5060b3
16 changed files with 25 additions and 43 deletions

View File

@@ -298,7 +298,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = false current = false
fov = 70.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.05 near = 0.05
far = 100.0 far = 100.0

View File

@@ -1424,7 +1424,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = false current = false
fov = 80.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.05 near = 0.05
far = 100.0 far = 100.0

View File

@@ -237,7 +237,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = false current = false
fov = 70.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.05 near = 0.05
far = 100.0 far = 100.0

View File

@@ -4,7 +4,7 @@ extends Camera
# Member variables # Member variables
var collision_exception = [] var collision_exception = []
export var min_distance = 0.5 export var min_distance = 0.5
export var max_distance = 4.0 export var max_distance = 5.5
export var angle_v_adjust = 0.0 export var angle_v_adjust = 0.0
export var autoturn_ray_aperture = 25 export var autoturn_ray_aperture = 25
export var autoturn_speed = 50 export var autoturn_speed = 50

Binary file not shown.

View File

@@ -4,7 +4,7 @@ extends Camera
# Member variables # Member variables
var collision_exception = [] var collision_exception = []
export var min_distance = 0.5 export var min_distance = 0.5
export var max_distance = 4.0 export var max_distance = 3.5
export var angle_v_adjust = 0.0 export var angle_v_adjust = 0.0
export var autoturn_ray_aperture = 25 export var autoturn_ray_aperture = 25
export var autoturn_speed = 50 export var autoturn_speed = 50
@@ -15,33 +15,33 @@ func _physics_process(dt):
var target = get_parent().get_global_transform().origin var target = get_parent().get_global_transform().origin
var pos = get_global_transform().origin var pos = get_global_transform().origin
var up = Vector3(0, 1, 0) var up = Vector3(0, 1, 0)
var delta = pos - target var delta = pos - target
# Regular delta follow # Regular delta follow
# Check ranges # Check ranges
if delta.length() < min_distance: if delta.length() < min_distance:
delta = delta.normalized() * min_distance delta = delta.normalized() * min_distance
elif delta.length() > max_distance: elif delta.length() > max_distance:
delta = delta.normalized() * max_distance delta = delta.normalized() * max_distance
# Check upper and lower height # Check upper and lower height
if delta.y > max_height: if delta.y > max_height:
delta.y = max_height delta.y = max_height
if delta.y < min_height: if delta.y < min_height:
delta.y = min_height delta.y = min_height
# Check autoturn # Check autoturn
var ds = PhysicsServer.space_get_direct_state(get_world().get_space()) var ds = PhysicsServer.space_get_direct_state(get_world().get_space())
var col_left = ds.intersect_ray(target, target + Basis(up, deg2rad(autoturn_ray_aperture)).xform(delta), collision_exception) var col_left = ds.intersect_ray(target, target + Basis(up, deg2rad(autoturn_ray_aperture)).xform(delta), collision_exception)
var col = ds.intersect_ray(target, target + delta, collision_exception) var col = ds.intersect_ray(target, target + delta, collision_exception)
var col_right = ds.intersect_ray(target, target + Basis(up, deg2rad(-autoturn_ray_aperture)).xform(delta), collision_exception) var col_right = ds.intersect_ray(target, target + Basis(up, deg2rad(-autoturn_ray_aperture)).xform(delta), collision_exception)
if !col.empty(): if !col.empty():
# If main ray was occluded, get camera closer, this is the worst case scenario # If main ray was occluded, get camera closer, this is the worst case scenario
delta = col.position - target delta = col.position - target
elif !col_left.empty() and col_right.empty(): elif !col_left.empty() and col_right.empty():
# If only left ray is occluded, turn the camera around to the right # If only left ray is occluded, turn the camera around to the right
delta = Basis(up, deg2rad(-dt * autoturn_speed)).xform(delta) delta = Basis(up, deg2rad(-dt * autoturn_speed)).xform(delta)
@@ -51,15 +51,15 @@ func _physics_process(dt):
else: else:
# Do nothing otherwise, left and right are occluded but center is not, so do not autoturn # Do nothing otherwise, left and right are occluded but center is not, so do not autoturn
pass pass
# Apply lookat # Apply lookat
if delta == Vector3(): if delta == Vector3():
delta = (pos - target).normalized() * 0.0001 delta = (pos - target).normalized() * 0.0001
pos = target + delta pos = target + delta
look_at_from_position(pos, target, up) look_at_from_position(pos, target, up)
# Turn a little up or down # Turn a little up or down
var t = get_transform() var t = get_transform()
t.basis = Basis(t.basis[0], deg2rad(angle_v_adjust)) * t.basis t.basis = Basis(t.basis[0], deg2rad(angle_v_adjust)) * t.basis

Binary file not shown.

View File

@@ -332,7 +332,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = true current = true
fov = 60.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.1 near = 0.1
far = 100.0 far = 100.0
@@ -353,5 +353,3 @@ playback_default_blend_time = 0.0
playback_speed = 1.0 playback_speed = 1.0
blend_times = [ ] blend_times = [ ]
autoplay = "" autoplay = ""

View File

@@ -582,7 +582,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = true current = true
fov = 60.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.1 near = 0.1
far = 100.0 far = 100.0
@@ -1116,5 +1116,3 @@ collision/exclude_nodes = true
params/bias = 0.3 params/bias = 0.3
params/damping = 1.0 params/damping = 1.0
params/impulse_clamp = 0.0 params/impulse_clamp = 0.0

View File

@@ -734,7 +734,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = true current = true
fov = 60.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.1 near = 0.1
far = 100.0 far = 100.0
@@ -768,5 +768,3 @@ twist_span = 45.0
bias = 0.3 bias = 0.3
softness = 0.8 softness = 0.8
relaxation = 1.0 relaxation = 1.0

View File

@@ -107,7 +107,7 @@ directional_shadow_max_distance = 200.0
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7.09558 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 7.09558 )
projection = 0 projection = 0
fov = 50.0 fov = 74.0
near = 0.1 near = 0.1
far = 100.0 far = 100.0
keep_aspect = 1 keep_aspect = 1
@@ -121,5 +121,3 @@ doppler/tracking = 0
[node name="WorldEnvironment" type="WorldEnvironment" parent="."] [node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = ExtResource( 1 ) environment = ExtResource( 1 )

View File

@@ -57,7 +57,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = false current = false
fov = 60.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.1 near = 0.1
far = 100.0 far = 100.0
@@ -189,5 +189,3 @@ align = 1
[connection signal="pressed" from="pause" to="." method="_on_pause_pressed"] [connection signal="pressed" from="pause" to="." method="_on_pause_pressed"]
[connection signal="pressed" from="pause_popup/unpause" to="." method="_on_unpause_pressed"] [connection signal="pressed" from="pause_popup/unpause" to="." method="_on_unpause_pressed"]

View File

@@ -406,7 +406,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = false current = false
fov = 65.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.1 near = 0.1
far = 100.0 far = 100.0
@@ -592,5 +592,3 @@ directional_shadow_normal_bias = 0.8
directional_shadow_bias_split_scale = 0.25 directional_shadow_bias_split_scale = 0.25
directional_shadow_depth_range = 0 directional_shadow_depth_range = 0
directional_shadow_max_distance = 200.0 directional_shadow_max_distance = 200.0

View File

@@ -27,7 +27,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = false current = false
fov = 60.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.1 near = 0.1
far = 1000.0 far = 1000.0
@@ -52,5 +52,3 @@ omni_range = 5.0
omni_attenuation = 1.0 omni_attenuation = 1.0
omni_shadow_mode = 1 omni_shadow_mode = 1
omni_shadow_detail = 1 omni_shadow_detail = 1

View File

@@ -340,7 +340,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = false current = false
fov = 65.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.1 near = 0.1
far = 100.0 far = 100.0
@@ -617,5 +617,3 @@ _sections_unfolded = [ "Transform" ]
position = Vector2( 298, 200 ) position = Vector2( 298, 200 )
texture = ExtResource( 6 ) texture = ExtResource( 6 )
_sections_unfolded = [ "Transform" ] _sections_unfolded = [ "Transform" ]

View File

@@ -398,7 +398,7 @@ v_offset = 0.0
doppler_tracking = 0 doppler_tracking = 0
projection = 0 projection = 0
current = false current = false
fov = 65.0 fov = 74.0
size = 1.0 size = 1.0
near = 0.1 near = 0.1
far = 100.0 far = 100.0
@@ -567,5 +567,3 @@ skeleton = NodePath("..")
material/0 = SubResource( 12 ) material/0 = SubResource( 12 )
script = SubResource( 13 ) script = SubResource( 13 )
_sections_unfolded = [ "Transform" ] _sections_unfolded = [ "Transform" ]