Files
AnyImage/tools/node_assets/build.py
nan 196b964efc Add cutout shell and volume node assets for depth volume processing
- Implemented `cutout_shell.py` to build front normals and shell positions for balloon geometry.
- Created `cutout_volume.py` to establish smooth center fields and manage balloon surface attributes.
- Introduced `pisa_sr_export.py` for exporting PiSA-SR components with dependencies and asset finalization.
2026-09-08 17:18:03 +08:00

48 lines
1.2 KiB
Python

from pathlib import Path
import sys
import bpy
PROJECT_ROOT = Path(__file__).parents[2]
sys.path.insert(0, str(Path(__file__).parent))
sys.path.insert(0, str(PROJECT_ROOT / "src"))
sys.path.insert(
0,
str(next((PROJECT_ROOT / "src" / "anyimage" / "wheels").glob("blendjob-*.whl"))),
)
from build_cutout_modifiers import (
CUTOUT_NODE_GROUP_NAMES,
build_cutout_group,
)
from build_depth_plane import build_depth_plane_group
from build_material_layers import build_material_layer_group
from build_mesh_plane import build_mesh_plane_group
from build_shadeless import build_shadeless_group
OUTPUT_PATH = (
PROJECT_ROOT
/ "src"
/ "anyimage"
/ "assets"
/ "O_AnyImage.blend"
)
def main():
bpy.ops.wm.read_factory_settings(use_empty=True)
bpy.context.preferences.filepaths.save_version = 0
mesh_plane = build_mesh_plane_group()
build_depth_plane_group(mesh_plane)
build_material_layer_group()
build_material_layer_group(depth_plane=True)
build_shadeless_group()
for shape in CUTOUT_NODE_GROUP_NAMES:
build_cutout_group(shape)
OUTPUT_PATH.parent.mkdir(parents=True, exist_ok=True)
bpy.ops.wm.save_as_mainfile(filepath=str(OUTPUT_PATH), check_existing=False)
if __name__ == "__main__":
main()