feat: support empty id_root in actions
This commit is contained in:
parent
66e55a7eec
commit
664f7635cc
@ -44,7 +44,7 @@ from . import environment
|
|||||||
|
|
||||||
|
|
||||||
DEPENDENCIES = {
|
DEPENDENCIES = {
|
||||||
("replication", '0.1.6'),
|
("replication", '0.1.7'),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ KEYFRAME = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
def dump_fcurve(fcurve: bpy.types.FCurve, use_numpy:bool =True) -> dict:
|
def dump_fcurve(fcurve: bpy.types.FCurve, use_numpy: bool = True) -> dict:
|
||||||
""" Dump a sigle curve to a dict
|
""" Dump a sigle curve to a dict
|
||||||
|
|
||||||
:arg fcurve: fcurve to dump
|
:arg fcurve: fcurve to dump
|
||||||
@ -59,7 +59,7 @@ def dump_fcurve(fcurve: bpy.types.FCurve, use_numpy:bool =True) -> dict:
|
|||||||
|
|
||||||
if use_numpy:
|
if use_numpy:
|
||||||
points = fcurve.keyframe_points
|
points = fcurve.keyframe_points
|
||||||
fcurve_data['keyframes_count'] = len(fcurve.keyframe_points)
|
fcurve_data['keyframes_count'] = len(fcurve.keyframe_points)
|
||||||
fcurve_data['keyframe_points'] = np_dump_collection(points, KEYFRAME)
|
fcurve_data['keyframe_points'] = np_dump_collection(points, KEYFRAME)
|
||||||
|
|
||||||
else: # Legacy method
|
else: # Legacy method
|
||||||
@ -92,7 +92,8 @@ def load_fcurve(fcurve_data, fcurve):
|
|||||||
|
|
||||||
if use_numpy:
|
if use_numpy:
|
||||||
keyframe_points.add(fcurve_data['keyframes_count'])
|
keyframe_points.add(fcurve_data['keyframes_count'])
|
||||||
np_load_collection(fcurve_data["keyframe_points"], keyframe_points, KEYFRAME)
|
np_load_collection(
|
||||||
|
fcurve_data["keyframe_points"], keyframe_points, KEYFRAME)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# paste dumped keyframes
|
# paste dumped keyframes
|
||||||
@ -153,7 +154,11 @@ class BlAction(BlDatablock):
|
|||||||
dumped_data_path, index=dumped_array_index)
|
dumped_data_path, index=dumped_array_index)
|
||||||
|
|
||||||
load_fcurve(dumped_fcurve, fcurve)
|
load_fcurve(dumped_fcurve, fcurve)
|
||||||
target.id_root = data['id_root']
|
|
||||||
|
id_root = data.get('id_root')
|
||||||
|
|
||||||
|
if id_root:
|
||||||
|
target.id_root = id_root
|
||||||
|
|
||||||
def _dump_implementation(self, data, instance=None):
|
def _dump_implementation(self, data, instance=None):
|
||||||
dumper = Dumper()
|
dumper = Dumper()
|
||||||
|
@ -172,12 +172,7 @@ class BlMesh(BlDatablock):
|
|||||||
data['vertex_colors'][color_map.name]['data'] = np_dump_collection_primitive(color_map.data, 'color')
|
data['vertex_colors'][color_map.name]['data'] = np_dump_collection_primitive(color_map.data, 'color')
|
||||||
|
|
||||||
# Fix material index
|
# Fix material index
|
||||||
m_list = []
|
data['material_list'] = [(m.uuid, m.name) for m in instance.materials if m]
|
||||||
for material in instance.materials:
|
|
||||||
if material:
|
|
||||||
m_list.append((material.uuid,material.name))
|
|
||||||
|
|
||||||
data['material_list'] = m_list
|
|
||||||
|
|
||||||
return data
|
return data
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user