From 81eb1f9eae1381619b907c3849b273ee006ea912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hartmut=20N=C3=B6renberg?= Date: Sun, 15 Mar 2026 22:21:48 +0100 Subject: [PATCH] =?UTF-8?q?fix:=20cinematic=20camera=20distances=20?= =?UTF-8?q?=E2=80=94=20no=20clipping,=20full=20product=20always=20visible?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Redesigned all 3 segments to keep distance > 3× bsphere_radius: - Segment 1: 3.5× → 3.0× (establishing orbit, 50mm) - Segment 2: 3.0× → 3.2× (low angle sweep, 50→65mm) - Segment 3: 3.2× → 4.0× (crane up, 50→40mm) Removed: detail closeup (was 1.5-1.8×, caused object clipping), telephoto 85mm (caused extreme close framing), DOF (not needed at safe distance) Co-Authored-By: Claude Opus 4.6 (1M context) --- render-worker/scripts/cinematic_render.py | 33 ++++++++++++----------- 1 file changed, 17 insertions(+), 16 deletions(-) diff --git a/render-worker/scripts/cinematic_render.py b/render-worker/scripts/cinematic_render.py index f9e558b..334014a 100644 --- a/render-worker/scripts/cinematic_render.py +++ b/render-worker/scripts/cinematic_render.py @@ -253,30 +253,31 @@ TOTAL_FRAMES = 250 NUM_SEGMENTS = 3 SEGMENT_LENGTH = TOTAL_FRAMES // NUM_SEGMENTS # ~83 frames per segment -# 3 segments (no closeup): establishing, detail sweep, crane up +# 3 segments — full product always visible, no clipping +# Distance factor is multiplied by bsphere_radius — keep > 2.5× to ensure full object is in frame SEGMENTS = [ - # Segment 1: Establishing shot — orbit 45deg, push in, 50mm + # Segment 1: Establishing orbit — slow 60° orbit at comfortable distance { - "az_start": 0.0, "az_end": 45.0, - "el_start": 25.0, "el_end": 25.0, - "dist_start": 3.0, "dist_end": 2.5, + "az_start": 0.0, "az_end": 60.0, + "el_start": 25.0, "el_end": 20.0, + "dist_start": 3.5, "dist_end": 3.0, "lens_start": 50.0, "lens_end": 50.0, "dof": False, }, - # Segment 2: Detail sweep — arc 45deg low, telephoto, shallow DOF + # Segment 2: Low angle sweep — arc 50° from lower perspective { - "az_start": 45.0, "az_end": 90.0, - "el_start": 10.0, "el_end": 15.0, - "dist_start": 1.8, "dist_end": 1.5, - "lens_start": 85.0, "lens_end": 85.0, - "dof": True, + "az_start": 60.0, "az_end": 110.0, + "el_start": 15.0, "el_end": 20.0, + "dist_start": 3.0, "dist_end": 3.2, + "lens_start": 50.0, "lens_end": 65.0, + "dof": False, }, - # Segment 3: Crane up — rise + orbit 30deg, wide pull-back + # Segment 3: Crane up — rise to high angle with pull-back { - "az_start": 90.0, "az_end": 120.0, - "el_start": 30.0, "el_end": 60.0, - "dist_start": 2.0, "dist_end": 3.5, - "lens_start": 35.0, "lens_end": 35.0, + "az_start": 110.0, "az_end": 150.0, + "el_start": 20.0, "el_end": 50.0, + "dist_start": 3.2, "dist_end": 4.0, + "lens_start": 50.0, "lens_end": 40.0, "dof": False, }, ]