""" ================================================================================ CONCEPT DOWNLOAD STUDIO PRO v4.2 — BLENDER 4.x 60 FPS PROCEDURAL 3D RIG Official 5-Color Khael Aurora Amber Palette (#1E1E1E, #F2A30F, #F2C878, #A67538) Strictly Zero Cyan / Blue / Emerald-Green. Run headless: blender -b -P download_studio_blender_rig.py -a ================================================================================ """ import math import bpy # 1. Reset Scene & Configure 60 FPS 1080p Cinema Stage bpy.ops.wm.read_factory_settings(use_empty=True) scene = bpy.context.scene scene.render.fps = 60 scene.frame_start = 1 scene.frame_end = 720 # 12-second 60 FPS seamless loop scene.render.resolution_x = 1920 scene.render.resolution_y = 1080 scene.render.engine = 'BLENDER_EEVEE_NEXT' if hasattr(bpy.types, 'ShaderNodeOutputWorld') else 'BLENDER_EEVEE' # 2. Canonical 5-Color Khael Brand Shader Factory def create_emission_mat(name: str, rgba: tuple[float, float, float, float], strength: float = 2.4): mat = bpy.data.materials.new(name=name) mat.use_nodes = True nodes = mat.node_tree.nodes links = mat.node_tree.links nodes.clear() out = nodes.new(type='ShaderNodeOutputMaterial') emit = nodes.new(type='ShaderNodeEmission') emit.inputs['Color'].default_value = rgba emit.inputs['Strength'].default_value = strength links.new(emit.outputs['Emission'], out.inputs['Surface']) return mat mat_charcoal = create_emission_mat('KhaelCharcoal', (0.04, 0.04, 0.045, 1.0), 1.0) mat_orange = create_emission_mat('KhaelOrange', (0.949, 0.639, 0.059, 1.0), 3.2) mat_amber = create_emission_mat('KhaelAmber', (0.949, 0.784, 0.471, 1.0), 2.2) mat_bronze = create_emission_mat('KhaelBronze', (0.651, 0.459, 0.220, 1.0), 1.4) # 3. Build 32-Segment Async Tokio Chunk Array for i in range(16): y_pos = (i - 7.5) * 0.28 bpy.ops.mesh.primitive_cube_add(size=1.0, location=(0.0, 0.0, y_pos)) bar = bpy.context.active_object bar.name = f'TokioChunkLane_{i:02d}' bar.scale = (3.6, 0.08, 0.07) bar.data.materials.append(mat_orange if i % 2 == 0 else mat_amber) # Animate 60 FPS scale pulse across 720 frames for frame in (1, 240, 480, 720): phase = ((frame / 720.0) + (i * 0.0625)) % 1.0 bar.scale.x = 0.8 + 2.8 * (0.5 + 0.5 * math.sin(phase * math.tau)) bar.keyframe_insert(data_path='scale', index=0, frame=frame) # 4. Add Isometric Studio Camera & Warm Rim Key Light bpy.ops.object.camera_add(location=(0.0, -9.5, 0.4), rotation=(math.radians(88.0), 0.0, 0.0)) scene.camera = bpy.context.active_object print('[Khael-Store] Concept Download Studio 60 FPS Blender 4.x rig initialized.')