mirror of
https://github.com/kaosat-dev/Blender_bevy_components_workflow.git
synced 2024-12-23 16:14:10 +00:00
a3ff1b6c1b
* all boilerplate , including finding relevant armatures & their objects, exporting animations, settings & ui etc added * renamed material library to "split materials" * a ton of related changes
30 lines
1.3 KiB
Python
30 lines
1.3 KiB
Python
|
|
import os
|
|
import json
|
|
import bpy
|
|
from pathlib import Path
|
|
import posixpath
|
|
|
|
def find_blueprints_not_on_disk(blueprints, folder_path, extension):
|
|
not_found_blueprints = []
|
|
for blueprint in blueprints:
|
|
gltf_output_path = os.path.join(folder_path, blueprint.name + extension)
|
|
# print("gltf_output_path", gltf_output_path)
|
|
found = os.path.exists(gltf_output_path) and os.path.isfile(gltf_output_path)
|
|
if not found:
|
|
not_found_blueprints.append(blueprint)
|
|
return not_found_blueprints
|
|
|
|
def check_if_blueprint_on_disk(scene_name, folder_path, extension):
|
|
gltf_output_path = os.path.join(folder_path, scene_name + extension)
|
|
found = os.path.exists(gltf_output_path) and os.path.isfile(gltf_output_path)
|
|
return found
|
|
|
|
def inject_export_path_into_internal_blueprints(internal_blueprints, blueprints_path, gltf_extension, settings):
|
|
for blueprint in internal_blueprints:
|
|
blueprint_exported_path = posixpath.join(blueprints_path, f"{blueprint.name}{gltf_extension}")
|
|
# print("injecting blueprint path", blueprint_exported_path, "for", blueprint.name)
|
|
blueprint.collection["export_path"] = blueprint_exported_path
|
|
"""if split_out_materials:
|
|
blueprint.collection["materials_path"] = materials_exported_path"""
|