From 8375b440e66f81dd929000e49bf53df576a2e3be Mon Sep 17 00:00:00 2001 From: dhsu Date: Mon, 22 Nov 2021 16:43:16 +0100 Subject: [PATCH] import errors occur --- management/input_manager.py | 3 ++- setup/rig/face_rig/align_face_rig.py | 29 +++++++++++++++------------- 2 files changed, 18 insertions(+), 14 deletions(-) diff --git a/management/input_manager.py b/management/input_manager.py index b63f987..b1c91a8 100644 --- a/management/input_manager.py +++ b/management/input_manager.py @@ -56,11 +56,12 @@ def external_compositing(): def generate_face_rig(): rig_name = "base_face_rig" rig = add_face_rig.add(rig_name) - aligned_rig = align_face_rig.FaceAligner(rig.name) if user.get_user().enum_device_type == "Android": + aligned_rig = align_face_rig.FaceAligner(rig.name, is_ios=False) align_bones.align_android(aligned_rig.armature) else: + aligned_rig = align_face_rig.FaceAligner(rig.name, is_ios=True) align_bones.align_ios(aligned_rig.armature) diff --git a/setup/rig/face_rig/align_face_rig.py b/setup/rig/face_rig/align_face_rig.py index 9a5d2d0..0f3ba56 100644 --- a/setup/rig/face_rig/align_face_rig.py +++ b/setup/rig/face_rig/align_face_rig.py @@ -7,7 +7,6 @@ from utils.math import data_format - class ReferenceLocation(object): def __init__(self, name, obj, _type, arm): self.name = name @@ -42,15 +41,16 @@ def is_bone_reference(self, name): class FaceAligner(object): - def __init__(self, armature_name): - self.android_location_references = [ - ["chin", "FaceEmpty_152"], - ["forehead.L", "FaceEmpty_338"], - ["forehead.R", "FaceEmpty_109"], - ["jaw.L", "FaceEmpty_435"], - ["jaw.R", "FaceEmpty_215"] + def __init__(self, armature_name, is_ios): + # bone / android / ios + self.location_references_and_ios = [ + ["chin", "FaceEmpty_152", "FaceEmpty_1047"], + ["forehead.L", "FaceEmpty_338", "FaceEmpty_853"], + ["forehead.R", "FaceEmpty_109", "FaceEmpty_425"], + ["jaw.L", "FaceEmpty_435", "FaceEmpty_1008"], + ["jaw.R", "FaceEmpty_215", "FaceEmpty_939"] ] - + self.is_ios = False self.armature = armature.get_armature(armature_name) self.bones = armature.get_armature_bones(self.armature) self.adjustment_bones = self.get_rig_adjustment_bones() @@ -105,16 +105,19 @@ def set_location(self): def get_rig_adjustment_bones(self): face_bones = {} - for bone_name, empty in self.android_location_references: + for bone_name, droid, ios in self.location_references_and_ios: obj = ReferenceLocation(bone_name, self.bones[bone_name], "bone", self.armature) face_bones[bone_name] = obj return face_bones def get_android_face_adjustment_empties(self): android_empties = {} - for bone_name, empty in self.android_location_references: - # todo: bpy to blend - obj = ReferenceLocation(empty, bpy.data.objects.get(empty), "droid_empty", self.armature) + for bone_name, droid, ios in self.location_references_and_ios: + # todo: make this sweeter (ios / driod change) + if self.is_ios: + obj = ReferenceLocation(ios, bpy.data.objects.get(ios), "droid_empty", self.armature) + else: + obj = ReferenceLocation(droid, bpy.data.objects.get(droid), "droid_empty", self.armature) android_empties[bone_name] = obj return android_empties