Fix project structure
This commit is contained in:
75
blender_prototype/README.md
Normal file
75
blender_prototype/README.md
Normal file
@@ -0,0 +1,75 @@
|
||||
# Sanctification TCG — Blender card material spike
|
||||
|
||||
Open `sanctification_card_material_prototype.blend` in Blender 5.2+.
|
||||
|
||||
The file uses one shared physical mesh (`GEO_Card_Master_63x88`) across every card instance. Each object overrides three material slots: front, universal back, and edge/core. The source art remains separate from geometry.
|
||||
|
||||
## Main organization
|
||||
|
||||
- `Cards/`: one collection per finish/substrate variant.
|
||||
- `Scene_Setup/`: neutral studio, labels, four lights, and inspection cameras.
|
||||
- `NG_CardSurfaceTexture`: preserves and lightly grades printed art.
|
||||
- `NG_CardMicroNormal`: paper fiber, restrained linen weave, and scratch response.
|
||||
- `NG_CardWear`: seeded surface/edge wear mask.
|
||||
- `NG_CardFoil`: art-masked, view-responsive foil enhancement.
|
||||
- `NG_CardHolographic`: broad, angle-dependent spectral shift with art-derived masking.
|
||||
- `NG_CardBase`: shared Principled BSDF assembly.
|
||||
|
||||
The holographic animation is keyed on `CARD_Holo_Demo` from frames 1–120 at 24 fps.
|
||||
|
||||
### Premium finish revision (v3)
|
||||
|
||||
The three David finish materials now use a printed-ink BSDF mixed with a masked metallic reflection. Foil retains the artwork color in both layers: the old gold Screen blend, diffuse rainbow mix, thin-film color outlines, and high-frequency groove bump are absent from these materials. Holo colors the reflective layer using broad UV gradients and the signed view direction in card coordinates. It is an artistic diffraction approximation, not a spectral optical simulation.
|
||||
|
||||
`NG_David_PrintProtection` combines saturation/ink selection with soft UV exclusions for the face, hand, lamb, and central title panel. Those exclusions are specific to `legendary.png`; another artwork needs adjusted regions or an authored mask.
|
||||
|
||||
Edit `Finish Strength` on each premium material (foil 0.56, holo 0.60, metal experiment 0.72), the reflective BSDF Roughness (foil 0.19, holo 0.23), and `Broad diffraction spectrum` in the holo material. `CardRenderConfig.*` properties are descriptive snapshots; they do not drive shader values. `premium_finishes.py` owns these defaults and can update the existing scene without rebuilding geometry or the wear shader. The full builder calls it automatically.
|
||||
|
||||
Use `render_premium_review.py` in Blender to regenerate the review stills; set `REVIEW_ANIMATION=True` in its execution globals for the 120 PNG animation frames. The MP4 is encoded externally from `renders/holo_frames/holo_%04d.png` at 24 fps. Preview files with `material_revision` or `lighting_preview` in their names are historical experiments; the standard filenames are the current deliverables.
|
||||
|
||||
## Runtime translation
|
||||
|
||||
Reasonable bake/export candidates:
|
||||
|
||||
- Base color
|
||||
- Roughness and metallic maps
|
||||
- Paper/linen micro-normal
|
||||
- Static wear and imperfection masks
|
||||
|
||||
Likely custom runtime shader work:
|
||||
|
||||
- View-dependent foil
|
||||
- Holographic diffraction/spectral shift
|
||||
- Angle response and moving reflection behavior
|
||||
|
||||
The Blender node setup is a look-development reference; it is not expected to survive glTF export unchanged.
|
||||
|
||||
## Delivered renders
|
||||
|
||||
- `comparison_lineup.png`
|
||||
- `timothy_matte_closeup.png`
|
||||
- `timothy_linen_closeup.png`
|
||||
- `david_paper_closeup.png`
|
||||
- `david_foil_closeup.png`
|
||||
- `david_holographic_head_on.png`
|
||||
- `david_holographic_spectrum_angle.png`
|
||||
- `card_three_quarter_thickness.png`
|
||||
- `wear_test_timothy.png`
|
||||
- `universal_card_back.png`
|
||||
- `holographic_rotation_demo.mp4` (5 seconds, 120 frames, 24 fps)
|
||||
|
||||
The animation is authored on the hidden `CARD_Holo_Demo` linked instance, not the lineup card. Its final range is −18° to +12°: wide enough to show the changing surface response while avoiding a strip-light angle that made the printed title unreadable. Blender in this environment did not expose FFmpeg output internally, so Blender rendered the PNG sequence and the included MP4 was encoded from those exact frames with H.264.
|
||||
|
||||
The studio uses 3 W key, 1 W fill, 0.65 W strip, and 1.4 W rim lights, a 0.012-strength world, and −1.35 stop AgX exposure. The narrower strip is positioned at (0.10, 0.012, 0.23) m to catch the demo's tilt range. These settings are shared by the saved scene, review stills, and animation.
|
||||
|
||||
## Spike observations
|
||||
|
||||
- Paper, linen, and laminate differ mainly through roughness, coat, and micro-normal; the art texture does not change.
|
||||
- Linen remains intentionally close-inspection detail. Increasing `Linen Strength` beyond the current setting begins to compete with the watercolor/stained-glass texture.
|
||||
- Foil is most convincing when the saturated/value-derived art mask controls the metallic lift instead of applying reflection uniformly.
|
||||
- Holo needs a runtime view vector plus broad directional bands. Static glTF export can carry its base PBR state, but not the authored spectral shift.
|
||||
- `David_MetalHolo` deliberately marks the excessive end of the range and is not a recommended product target.
|
||||
|
||||
## Rebuild
|
||||
|
||||
The scene was constructed through Blender MCP using `build_sanctification_card_prototype.py`. Running the script again intentionally rebuilds the current scene from scratch.
|
||||
Reference in New Issue
Block a user