From 31f5810bef0a548547cc08dfe4d7043fb69313c7 Mon Sep 17 00:00:00 2001 From: brothermechanic Date: Thu, 11 Apr 2024 19:16:08 +0300 Subject: [PATCH] RCG: debug fixes --- cg/freecad/utils/freecad_exporters.py | 2 +- rcg_pipeline/README.md | 6 +++--- rcg_pipeline/pyproject.toml | 2 +- rcg_pipeline/rcg_pipeline/export/glb.py | 1 + rcg_pipeline/rcg_pipeline/render_asset.py | 18 +++++++++++------- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/cg/freecad/utils/freecad_exporters.py b/cg/freecad/utils/freecad_exporters.py index 3ef1ad9..7c9ef39 100644 --- a/cg/freecad/utils/freecad_exporters.py +++ b/cg/freecad/utils/freecad_exporters.py @@ -63,7 +63,7 @@ def export_assembly_trees(doc, clones_dic=None) -> list: logger.warning('RootLocator attribute not found for %s LCS! ' 'So %s used as Root Locator!', lcs.Label, lcs.InList[0].Label) - root_locators.append(lcs.InList[0].Label) + root_locators.append(lcs.InList[0]) else: root_locators = [ root for root in doc.Objects diff --git a/rcg_pipeline/README.md b/rcg_pipeline/README.md index f2973e6..e4791f5 100644 --- a/rcg_pipeline/README.md +++ b/rcg_pipeline/README.md @@ -24,9 +24,9 @@ # nixGL /nix/store/gd3shnza1i50zn8zs04fa729ribr88m9-python3-3.11.8/bin/python3 import sys -sys.path.append('/nix/store/ip49yhfl2l8gphylj4i43kdpq5qnq93i-bpy-4.1.0/lib/python3.11/site-packages') -sys.path.append('/media/disk/robossembler/project/collab/150-cg-render-assets/rcg_pipeline') -sys.path.append('/nix/store/x1rqfn240xn6m6p6077gxfqxdxxj1cmc-python3.11-numpy-1.26.4/lib/python3.11/site-packages') +sys.path.append('/nix/store/-bpy-4.1.0/lib/python3.11/site-packages') +sys.path.append('/path/to/rcg_pipeline') +sys.path.append('/nix/store/-python3.11-numpy-1.26.4/lib/python3.11/site-packages') import rcg_pipeline project_dir = '/path/to/' diff --git a/rcg_pipeline/pyproject.toml b/rcg_pipeline/pyproject.toml index 408f737..da13954 100644 --- a/rcg_pipeline/pyproject.toml +++ b/rcg_pipeline/pyproject.toml @@ -14,7 +14,7 @@ license = {file = "LICENSE"} authors = [{name = "Ilia Kurochkin", email = "brothermechanic@yandex.com"}] maintainers = [{name = "Igor Brylyov", email = "movefasta@dezcom.org"}] requires-python = ">= 3.10" -dependencies = ["numpy >= 1.26.4"] +dependencies = ["numpy >= 1.26.4", "bpy >= 4.1.0"] classifiers = [ "Development Status :: 3 - Alpha", "Programming Language :: Python :: 3", diff --git a/rcg_pipeline/rcg_pipeline/export/glb.py b/rcg_pipeline/rcg_pipeline/export/glb.py index 5a525f9..9195d4c 100644 --- a/rcg_pipeline/rcg_pipeline/export/glb.py +++ b/rcg_pipeline/rcg_pipeline/export/glb.py @@ -75,6 +75,7 @@ def export(**kwargs): export_animations=False, # custom export_morph=False, + export_skins=False, export_hierarchy_flatten_bones=False, export_original_specular=False, will_save_settings=False, diff --git a/rcg_pipeline/rcg_pipeline/render_asset.py b/rcg_pipeline/rcg_pipeline/render_asset.py index dc2f0e5..2d5480b 100644 --- a/rcg_pipeline/rcg_pipeline/render_asset.py +++ b/rcg_pipeline/rcg_pipeline/render_asset.py @@ -201,6 +201,14 @@ def build_render_assets(project_dir): with open(trees_path, encoding='utf-8') as data: tree_item_list = json.load(data) + # render assets dir + render_assets_dir = os.path.join(project_dir, 'assets', 'render') + if os.path.exists(render_assets_dir): + shutil.rmtree(render_assets_dir) + os.makedirs(render_assets_dir) + else: + os.makedirs(render_assets_dir) + for tree_item in tree_item_list: # start from stratch bpy.ops.wm.read_homefile() @@ -220,13 +228,9 @@ def build_render_assets(project_dir): # rebuild to LCS hierarchy assembly_rebuilder() - # render assets dir - render_assets_dir = os.path.join(project_dir, 'assets', 'render') - if os.path.exists(render_assets_dir): - shutil.rmtree(render_assets_dir) - os.makedirs(render_assets_dir) - else: - os.makedirs(render_assets_dir) + # mark as asset + render_collection.asset_mark() + # TODO collection thumbnail blend_path = os.path.join(render_assets_dir, tree_item['name'] + '.blend') bpy.ops.wm.save_as_mainfile(filepath=blend_path)