Cute brand language corrupted. Felt, foam, plastic eyes. Performance uncanny.
Tenets
- Friendly shapes + dead/wrong eyes
- Craft materials (felt, plush, plastic)
- Stage/set like children’s show gone wrong
- Bright palette with one sick shift
- Often pairs with PSX or analog crunch
Recipe
Target: a bright children's-show palette with one sick shift: saturated felt body (roughness 1.0, Sheen on), 50 mm camera at puppet eye level, even studio light, grade shifted toward green-cold (warmth -0.4).
pbr_materialMAT_Felt: saturatedbase_color[0.8, 0.1, 0.12],roughness1.0,specular_ior_level0.2. Add fuzz by hand with PrincipledSheen Weight1.0,Sheen Roughness0.5.- Eyes: a second plastic material the same way (
base_colorwhite,roughness0.1,coat_weight1.0) with tiny dark pupils; keep the eyes slightly off-axis. light_rigstudio_3pt(a cheerful, flat TV-set key).camera_riglens_mm50,elevation_deg0,fill0.8,dof_fstop4.comp_gradestylized_bloomwithwarmth-0.4 andvignette0.45 to push the sick shift; for the analog-tape variant usehorror_vhsinstead.
import runpy
skills = "<skills_dir>" # parent folder of this skill (the plugin's skills/ directory)
target = "SM_Asset" # object to style / dress
r = {}
r["material"] = runpy.run_path(f"{skills}/materials/scripts/pbr_material.py", init_globals={"ARGS": {"name": "MAT_Felt", "base_color": [0.8, 0.1, 0.12], "roughness": 1.0, "specular_ior_level": 0.2, "objects": [target]}})["result"]
r["light"] = runpy.run_path(f"{skills}/lighting/scripts/light_rig.py", init_globals={"ARGS": {"preset": "studio_3pt", "target": target}})["result"]
r["camera"] = runpy.run_path(f"{skills}/camera-cinematography/scripts/camera_rig.py", init_globals={"ARGS": {"name": "CAM_Puppet_01", "target": target, "lens_mm": 50, "elevation_deg": 0, "fill": 0.8, "dof_fstop": 4}})["result"]
r["grade"] = runpy.run_path(f"{skills}/compositing/scripts/comp_grade.py", init_globals={"ARGS": {"preset": "stylized_bloom", "warmth": -0.4, "vignette": 0.45}})["result"]
result = r