Asset Pipeline v2 #145
@ -115,6 +115,23 @@ def add_suffix_to_hierarchy(collection: bpy.types.Collection, suffix_base: str)
|
||||
pass
|
||||
|
||||
|
||||
# TODO Cleanup prefix doc strings
|
||||
def get_name_with_prefix(name: str, prefix: str) -> str:
|
||||
"""Returns a string with the prefix.
|
||||
|
||||
Args:
|
||||
name (str): Name to add prefix to
|
||||
prefix (str): Prefix to add to name
|
||||
|
||||
Returns:
|
||||
str: Returns name with prefix
|
||||
"""
|
||||
if name.startswith(prefix + "."):
|
||||
return name
|
||||
prefix = prefix + "." if prefix != "" else ""
|
||||
return prefix + name
|
||||
|
||||
|
||||
def get_name_with_asset_prefix(name: str) -> str:
|
||||
"""Returns a string with the prefix if it is not already set.
|
||||
Users can specify a prefix to live on all objects during the
|
||||
@ -127,10 +144,22 @@ def get_name_with_asset_prefix(name: str) -> str:
|
||||
str: Returns name with prefix
|
||||
"""
|
||||
asset_pipe = bpy.context.scene.asset_pipeline
|
||||
if name.startswith(asset_pipe.prefix + "."):
|
||||
return name
|
||||
prefix = asset_pipe.prefix + "." if asset_pipe.prefix != "" else ""
|
||||
return prefix + name
|
||||
return get_name_with_prefix(name, asset_pipe.prefix)
|
||||
|
||||
|
||||
def get_name_with_task_layer_prefix(name: str) -> str:
|
||||
"""Returns a string with the prefix if it is not already set.
|
||||
Users can specify a prefix to live on all objects during the
|
||||
asset creation process. This prefix is stored in the scene.
|
||||
|
||||
Args:
|
||||
name (str): Name to add prefix to
|
||||
|
||||
Returns:
|
||||
str: Returns name with prefix
|
||||
"""
|
||||
asset_pipe = bpy.context.scene.asset_pipeline
|
||||
return get_name_with_prefix(name, asset_pipe.task_layer_name)
|
||||
|
||||
|
||||
def get_task_layer_col_name(task_layer_key) -> str:
|
||||
|
@ -1,6 +1,6 @@
|
||||
import bpy
|
||||
from bpy import context
|
||||
from ..naming import get_basename
|
||||
from ..naming import get_basename, get_name_with_task_layer_prefix
|
||||
from ..drivers import find_drivers, copy_driver
|
||||
from ..visibility import override_obj_visability
|
||||
from .transfer_util import (
|
||||
@ -96,12 +96,20 @@ def modifier_is_missing(transfer_data_item):
|
||||
|
||||
|
||||
def init_modifiers(scene, obj):
|
||||
transfer_data_item_init(
|
||||
scene=scene,
|
||||
obj=obj,
|
||||
data_list=obj.modifiers,
|
||||
td_type_key=constants.MODIFIER_KEY,
|
||||
)
|
||||
td_type_key = constants.MODIFIER_KEY
|
||||
transfer_data = obj.transfer_data_ownership
|
||||
task_layer_key = scene.asset_pipeline.task_layer_name
|
||||
for mod in obj.modifiers:
|
||||
mod.name = get_name_with_task_layer_prefix(mod.name)
|
||||
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
||||
matches = check_transfer_data_entry(transfer_data, mod.name, td_type_key)
|
||||
if len(matches) == 0:
|
||||
scene.asset_pipeline.add_temp_transfer_data(
|
||||
name=mod.name,
|
||||
owner=task_layer_key,
|
||||
type=td_type_key,
|
||||
obj=obj,
|
||||
)
|
||||
|
||||
|
||||
def transfer_modifier(modifier_name, target_obj, source_obj):
|
||||
@ -180,12 +188,20 @@ def constraint_is_missing(transfer_data_item):
|
||||
|
||||
|
||||
def init_constraints(scene, obj):
|
||||
transfer_data_item_init(
|
||||
scene=scene,
|
||||
obj=obj,
|
||||
data_list=obj.constraints,
|
||||
td_type_key=constants.CONSTRAINT_KEY,
|
||||
)
|
||||
td_type_key = constants.CONSTRAINT_KEY
|
||||
transfer_data = obj.transfer_data_ownership
|
||||
task_layer_key = scene.asset_pipeline.task_layer_name
|
||||
for const in obj.constraints:
|
||||
const.name = get_name_with_task_layer_prefix(const.name)
|
||||
# Only add new ownership transfer_data_item if vertex group doesn't have an owner
|
||||
matches = check_transfer_data_entry(transfer_data, const.name, td_type_key)
|
||||
if len(matches) == 0:
|
||||
scene.asset_pipeline.add_temp_transfer_data(
|
||||
name=const.name,
|
||||
owner=task_layer_key,
|
||||
type=td_type_key,
|
||||
obj=obj,
|
||||
)
|
||||
|
||||
|
||||
def transfer_constraint(constraint_name, target_obj, source_obj):
|
||||
|
Loading…
Reference in New Issue
Block a user