#version 3.7; global_settings { assumed_gamma 1.3 max_trace_level 16 radiosity { pretrace_start 0.08 pretrace_end 0.01 count 200 nearest_count 10 error_bound 0.5 recursion_limit 2 low_error_factor 0.5 gray_threshold 0.0 } } background { color rgb <0.06, 0.07, 0.10> } camera { location <6.5, 4.2, -10.5> look_at <0.0, 2.2, 0.0> angle 40 up <0,9,0> right <16,0,0> // right,up -> 16:9 } light_source { <10, 12, -12> color rgb <1.00, 0.86, 0.70>*1.15 area_light <3,0,0>, <0,0,3>, 6, 6 adaptive 1 jitter } light_source { <-8, 9, -6> color rgb <1.00, 0.78, 0.62>*0.55 area_light <2,0,0>, <0,0,2>, 5, 5 adaptive 1 jitter } light_source { <0, 14, 6> color rgb <1.00, 0.90, 0.80>*0.35 area_light <2.5,0,0>, <0,0,2.5>, 5, 5 adaptive 1 jitter } // Simple materials (no image textures) #declare Mat_Skin = finish { diffuse 0.75 specular 0.12 roughness 0.06 }; #declare Mat_Wood = finish { diffuse 0.78 specular 0.10 roughness 0.08 }; #declare Mat_Cloth = finish { diffuse 0.85 specular 0.03 roughness 0.15 }; #declare Mat_Glow = finish { diffuse 0.35 ambient 0.18 specular 0.10 roughness 0.08 }; // Dreamy ground haze (a soft plane well below the puppet) plane { y, 0 pigment { color rgb <0.12, 0.12, 0.14> } finish { diffuse 0.65 specular 0.03 roughness 0.2 } } // Subtle fog for dream ambience (fast) fog { distance 28 color rgb <0.10, 0.11, 0.14> fog_type 2 fog_offset 0.0 fog_alt 2.2 turbulence 0.2 } // --- Marionette Figure (floating) --- #declare Puppet = union { // Torso (simple capsule: cylinder + spheres) union { cylinder { <0,1.45,0>, <0,2.75,0>, 0.55 } sphere { <0,1.45,0>, 0.55 } sphere { <0,2.75,0>, 0.55 } pigment { color rgb <0.40, 0.46, 0.58> } finish { Mat_Cloth } } // Head + neck union { sphere { <0,3.55,0>, 0.52 } cylinder { <0,3.00,0>, <0,3.22,0>, 0.18 } pigment { color rgb <0.92, 0.86, 0.78> } finish { Mat_Skin } } // Simple face hint (tiny nose) cone { <0.0,3.55,-0.52>, 0.06, <0.0,3.50,-0.70>, 0.01 pigment { color rgb <0.88, 0.80, 0.72> } finish { Mat_Skin } } // Pelvis block box { <-0.42,1.02,-0.28>, <0.42,1.30,0.28> pigment { color rgb <0.52, 0.45, 0.36> } finish { Mat_Wood } } // Left Arm (upper + lower + hand) union { cylinder { <-0.55,2.55,0>, <-1.45,2.25,0>, 0.16 } // upper sphere { <-0.55,2.55,0>, 0.16 } sphere { <-1.45,2.25,0>, 0.16 } cylinder { <-1.45,2.25,0>, <-2.05,1.70,0>, 0.14 } // lower sphere { <-2.05,1.70,0>, 0.14 } sphere { <-2.12,1.55,0>, 0.17 } // hand pigment { color rgb <0.55, 0.48, 0.38> } finish { Mat_Wood } } // Right Arm union { cylinder { <0.55,2.55,0>, <1.45,2.25,0>, 0.16 } // upper sphere { <0.55,2.55,0>, 0.16 } sphere { <1.45,2.25,0>, 0.16 } cylinder { <1.45,2.25,0>, <2.05,1.70,0>, 0.14 } // lower sphere { <2.05,1.70,0>, 0.14 } sphere { <2.12,1.55,0>, 0.17 } // hand pigment { color rgb <0.55, 0.48, 0.38> } finish { Mat_Wood } } // Left Leg union { cylinder { <-0.22,1.02,0>, <-0.35,0.25,0>, 0.18 } // thigh sphere { <-0.22,1.02,0>, 0.18 } sphere { <-0.35,0.25,0>, 0.18 } cylinder { <-0.35,0.25,0>, <-0.35,-0.65,0>, 0.16 } // shin sphere { <-0.35,-0.65,0>, 0.16 } // foot (FIXED: added missing '>' in second corner vector) box { <-0.55,-0.85,-0.22>, <-0.15,-0.65,0.22> } pigment { color rgb <0.55, 0.48, 0.38> } finish { Mat_Wood } } // Right Leg union { cylinder { <0.22,1.02,0>, <0.35,0.25,0>, 0.18 } // thigh sphere { <0.22,1.02,0>, 0.18 } sphere { <0.35,0.25,0>, 0.18 } cylinder { <0.35,0.25,0>, <0.35,-0.65,0>, 0.16 } // shin sphere { <0.35,-0.65,0>, 0.16 } box { <0.15,-0.85,-0.22>, <0.55,-0.65,0.22> } // foot pigment { color rgb <0.55, 0.48, 0.38> } finish { Mat_Wood } } // Small chest emblem (moon) for dream motif union { difference { sphere { <0,2.25,-0.52>, 0.20 } sphere { <0.08,2.28,-0.60>, 0.20 } bounded_by { box { <-0.4,1.8,-1.2>, <0.4,2.7,0.1> } } } pigment { color rgb <0.95, 0.90, 0.72> } finish { diffuse 0.5 ambient 0.08 specular 0.18 roughness 0.06 } } // Float pose and placement translate <0, 1.05, 0> rotate <0, -12, 0> }; object { Puppet } // --- Marionette strings (suggestion) --- #declare StringFinish = finish { diffuse 0.3 specular 0.05 roughness 0.2 }; #declare StringPig = pigment { color rgb <0.75, 0.70, 0.62> }; union { cylinder { <-1.75,3.95,0>, <-1.55,6.2,0>, 0.015 pigment { StringPig } finish { StringFinish } } cylinder { < 1.75,3.95,0>, < 1.55,6.2,0>, 0.015 pigment { StringPig } finish { StringFinish } } cylinder { < 0.00,4.05,0>, < 0.00,6.3,0>, 0.015 pigment { StringPig } finish { StringFinish } } cylinder { <-0.35,0.55,0>, <-0.55,6.0,0>, 0.012 pigment { StringPig } finish { StringFinish } } cylinder { < 0.35,0.55,0>, < 0.55,6.0,0>, 0.012 pigment { StringPig } finish { StringFinish } } } // --- Dream orbs (soft glowing spheres) --- sphere { <-3.2, 3.1, 2.0>, 0.45 pigment { color rgb <0.55, 0.80, 1.00> } finish { Mat_Glow } } sphere { <2.8, 2.0, 2.8>, 0.35 pigment { color rgb <1.00, 0.72, 0.85> } finish { Mat_Glow } } sphere { <0.8, 4.8, 1.6>, 0.28 pigment { color rgb <1.00, 0.95, 0.70> } finish { Mat_Glow } } // A simple “dream frame” arc behind (kept light for speed) torus { 3.4, 0.06 rotate <90, 0, 0> translate <0, 2.4, 3.6> pigment { color rgb <0.25, 0.26, 0.30> } finish { diffuse 0.7 specular 0.05 roughness 0.15 } }