1
Python, skrypty, pluginy i Blender Game Engine / Animacja twarzy na podstawie tutoriala CGMatter - błąd skrytpu
« dnia: 02.07.2021 02:55:39 »
Cześć!
Mam mały problem. Znalazłem bardzo fajny tutorial pokazujący animację twarzy metodą trackowania punktów: Blender Facial motion capture tutorial od CGMatter. Linka niestety nie udało mi się wkleić.
I wszystko fajnie działa za wyjątkiem skryptu z końca filmu który automatyzuje cały żmudny proces podczepiania kości pod ztrackowane punkty. Po odpaleniu skrytpu wyskakuje mi taki błąd:
line 63, in KeyError: ‘bpy_prop_collection: key “Bone.99” not found
problem polega na tym, że zastosowałem więcej trackerów niz pokazane jest to na filmie, a skrypt nie obsługuje takiej ilości. Za radą zamieszczoną w komentarzu pod filmem zmieniłem kod ale dalej nie działa. aktulanie wygląda tak:
for value in range(1,iter):
if value == 1:
bonename = “Bone”
elif value > 1 and value < 11:
bonename = “Bone.00” + str(value-1)
elif value >= 11 and value < 100:
bonename = “Bone.0” + str(value-1)
elif value >= 100:
bonename = “Bone.” + str(value-1)
bone = bpy.data.objects[‘Armature’].data.bones.get(bonename)
bpy.data.objects[‘Armature’].data.bones.name = ‘Bone’ + str(value)
ta częśc skrytpu ma za zadanie zmienić nazwę kości. Gdzie jest błąd? help!
Mam mały problem. Znalazłem bardzo fajny tutorial pokazujący animację twarzy metodą trackowania punktów: Blender Facial motion capture tutorial od CGMatter. Linka niestety nie udało mi się wkleić.
I wszystko fajnie działa za wyjątkiem skryptu z końca filmu który automatyzuje cały żmudny proces podczepiania kości pod ztrackowane punkty. Po odpaleniu skrytpu wyskakuje mi taki błąd:
line 63, in KeyError: ‘bpy_prop_collection: key “Bone.99” not found
problem polega na tym, że zastosowałem więcej trackerów niz pokazane jest to na filmie, a skrypt nie obsługuje takiej ilości. Za radą zamieszczoną w komentarzu pod filmem zmieniłem kod ale dalej nie działa. aktulanie wygląda tak:
for value in range(1,iter):
if value == 1:
bonename = “Bone”
elif value > 1 and value < 11:
bonename = “Bone.00” + str(value-1)
elif value >= 11 and value < 100:
bonename = “Bone.0” + str(value-1)
elif value >= 100:
bonename = “Bone.” + str(value-1)
bone = bpy.data.objects[‘Armature’].data.bones.get(bonename)
bpy.data.objects[‘Armature’].data.bones.name = ‘Bone’ + str(value)
ta częśc skrytpu ma za zadanie zmienić nazwę kości. Gdzie jest błąd? help!