2026-02-16
This commit is contained in:
@@ -1,7 +1,24 @@
|
||||
import bpy
|
||||
import os
|
||||
from mathutils import Matrix
|
||||
|
||||
ASSET_BLEND_PATH = r"A:\\1 Amazon_Active_Projects\\1 BlenderAssets\\Amazon\\amazon-asset_Hard-Hat_v1.1.blend"
|
||||
try:
|
||||
from ..utils import get_addon_preferences
|
||||
except (ImportError, ValueError):
|
||||
# Fallback if import fails (e.g., when run as script)
|
||||
def get_addon_preferences():
|
||||
test_names = ["bl_ext.vscode_development.AmazonCharacterTools", "amzncharactertools", "AmazonCharacterTools"]
|
||||
for addon_name in test_names:
|
||||
addon_prefs = bpy.context.preferences.addons.get(addon_name)
|
||||
if addon_prefs and hasattr(addon_prefs, 'preferences') and hasattr(addon_prefs.preferences, 'amzn_bsdf_materials_path'):
|
||||
return addon_prefs.preferences
|
||||
# Search all addons
|
||||
for addon_name in bpy.context.preferences.addons.keys():
|
||||
addon_prefs = bpy.context.preferences.addons.get(addon_name)
|
||||
if addon_prefs and hasattr(addon_prefs, 'preferences') and hasattr(addon_prefs.preferences, 'amzn_bsdf_materials_path'):
|
||||
return addon_prefs.preferences
|
||||
return None
|
||||
|
||||
ASSET_OBJECT_NAME = "hard-hat"
|
||||
GN_MOD_NAME = "hard-hat-transforms"
|
||||
|
||||
@@ -17,7 +34,19 @@ def find_armature_with_head():
|
||||
|
||||
|
||||
def append_hard_hat():
|
||||
with bpy.data.libraries.load(ASSET_BLEND_PATH, link=False, assets_only=True) as (data_from, data_to):
|
||||
# Get path from addon preferences
|
||||
prefs = get_addon_preferences()
|
||||
if not prefs:
|
||||
print("Error: Could not access addon preferences")
|
||||
return None
|
||||
|
||||
asset_blend_path = prefs.amzn_hardhat_asset_path
|
||||
|
||||
if not asset_blend_path or not os.path.exists(asset_blend_path):
|
||||
print(f"Error: Hard hat asset library path not set or file not found: {asset_blend_path}")
|
||||
return None
|
||||
|
||||
with bpy.data.libraries.load(asset_blend_path, link=False, assets_only=True) as (data_from, data_to):
|
||||
if ASSET_OBJECT_NAME in data_from.objects:
|
||||
data_to.objects = [ASSET_OBJECT_NAME]
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user