Skip to content

Commit c67fb8f

Browse files
michshatclaude
andcommitted
fix: Improve camera angle and text positioning for front-facing mascot view
Camera Changes: - Repositioned camera from (0, -5, 2) to (0, -6, 1) - Changed rotation from 75° tilt to 90° straight-forward - Now shows mascot front-facing instead of side/angled view Text Changes: - Moved lyrics from y=2.5 (behind mascot) to z=-0.5 (below mascot) - Text now visible in front of camera, not obscured - Maintains 3D professional styling with emission/glossy materials This fixes the issue where the billboard plane mascot was viewed from the side, and lyrics were positioned behind the mascot head. Now renders show front-facing 3D mascot with visible animated text. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 7b54f79 commit c67fb8f

1 file changed

Lines changed: 9 additions & 7 deletions

File tree

blender_script.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,14 @@ def setup_camera(self):
9292
"""Create and position camera."""
9393
print("Setting up camera...")
9494

95-
# Create camera
96-
bpy.ops.object.camera_add(location=(0, -5, 2))
95+
# Create camera - position to face mascot straight-on
96+
# Mascot is at (0, 0, 1), so camera should be on negative Y axis
97+
bpy.ops.object.camera_add(location=(0, -6, 1))
9798
camera = bpy.context.object
9899
camera.name = "MainCamera"
99100

100-
# Point camera at origin
101-
camera.rotation_euler = (1.3, 0, 0) # About 75 degrees
101+
# Point camera straight at mascot (only slight upward tilt)
102+
camera.rotation_euler = (1.5708, 0, 0) # 90 degrees = face forward
102103

103104
# Set as active camera
104105
self.scene.camera = camera
@@ -559,9 +560,10 @@ def create_lyrics_text(self):
559560
start_time = word_data['start']
560561
end_time = word_data['end']
561562

562-
# Create text object - position above mascot for better visibility
563-
y_position = 2.5 # Above mascot
564-
z_position = 0.0 # At mascot height
563+
# Create text object - position BELOW mascot so it's visible from front camera
564+
# Mascot is at (0, 0, 1), text should be in front and below
565+
y_position = 0.0 # Same depth as mascot
566+
z_position = -0.5 # Below mascot (mascot is at z=1, this puts text at z=0.5 after mascot size)
565567

566568
bpy.ops.object.text_add(location=(0, y_position, z_position))
567569
text_obj = bpy.context.object

0 commit comments

Comments
 (0)