Rendering how I want for now

This commit is contained in:
2025-11-28 15:11:58 -06:00
parent d532a9ab21
commit 5573ad815f
15 changed files with 199 additions and 376 deletions

View File

@@ -6,28 +6,22 @@ const CAMERA_PIXEL_SCALE = 1.0
@export var camera:Camera3D = null
@export var target:Node3D = null
@export var offset:Vector3 = Vector3(0, 0, 12)
var angle = 0.0
func _process(delta: float) -> void:
if !camera || !target:
return
# Follow target
# camera.global_transform.origin = target.global_transform.origin
# I tried a few things but this is most consistent for both backbuffer and
# framebuffer viewports.
var viewportHeight = get_viewport().get_visible_rect().size.y;
var unitScale = CAMERA_PIXEL_SCALE * CAMERA_PIXELS_PER_UNIT;
# # Spin around origin.
# var rotation_speed = 1 # Radians per second
# angle += rotation_speed * delta
# var radius = 3.0
# var offset = Vector3(radius * sin(angle), 2.0, radius * cos(angle))
# camera.global_transform.origin += offset
var z:float = (
tan((deg_to_rad(180) - deg_to_rad(camera.fov)) / 2.0) *
(viewportHeight / 2.0)
) / unitScale;
var look = target.global_position;
var position = offset + look;
camera.look_at_from_position(
Vector3(position.x, position.y + z, position.z),
look
);
pass
# # Look at target
# camera.look_at(target.global_transform.origin, Vector3.UP)