Richer palettes than 8-bit. Dither/gradient cues. Still texel-disciplined.
Recipe
Target SNES-like 256x224 internal render, 16 colors per sprite (about 256 on screen), 3-4 shading bands plus dither, 16 px tiles.
- Camera:
iso_camera.pyprojection"dimetric_2_1" withpixel_tile16. - Shading:
toon_material.pywithbands4,rim0.15,outline0 (richer ramps than 8-bit). - Render preset:
render_preset.pystylized_flat, thenps1_look.pywithsnap0,resolution[256, 224],flatTrue,fogFalse. - Dither is not scripted: add an Image Texture Bayer pattern (Nearest) as the ColorRamp factor offset, or dither in an image tool after rendering.
import runpy
skills = "<skills_dir>" # parent folder of this skill (the plugin's skills/ directory)
target = "SM_Asset" # object to style / dress
r = {}
r["camera"] = runpy.run_path(f"{skills}/isometric-style/scripts/iso_camera.py", init_globals={"ARGS": {"projection": "dimetric_2_1", "target": target, "pixel_tile": 16}})["result"]
r["toon"] = runpy.run_path(f"{skills}/stylized-style/scripts/toon_material.py", init_globals={"ARGS": {"name": "MAT_Toon_16bit", "base_color": [0.35, 0.6, 0.9], "bands": 4, "rim": 0.15, "objects": [target], "outline": 0.0}})["result"]
r["render"] = runpy.run_path(f"{skills}/rendering/scripts/render_preset.py", init_globals={"ARGS": {"preset": "stylized_flat"}})["result"]
r["pixel"] = runpy.run_path(f"{skills}/lowpoly-style/scripts/ps1_look.py", init_globals={"ARGS": {"objects": [target], "snap": 0, "resolution": [256, 224], "flat": True, "fog": False}})["result"]
result = r