initial commit
This commit is contained in:
87
emotalk_own/render.py
Normal file
87
emotalk_own/render.py
Normal file
@@ -0,0 +1,87 @@
|
||||
import bpy
|
||||
import os
|
||||
import numpy as np
|
||||
import sys
|
||||
|
||||
filename = str(sys.argv[-1])
|
||||
root_dir = str(sys.argv[-2])
|
||||
|
||||
model_bsList = ["browDownLeft",
|
||||
"browDownRight",
|
||||
"browInnerUp",
|
||||
"browOuterUpLeft",
|
||||
"browOuterUpRight",
|
||||
"cheekPuff",
|
||||
"cheekSquintLeft",
|
||||
"cheekSquintRight",
|
||||
"eyeBlinkLeft",
|
||||
"eyeBlinkRight",
|
||||
"eyeLookDownLeft",
|
||||
"eyeLookDownRight",
|
||||
"eyeLookInLeft",
|
||||
"eyeLookInRight",
|
||||
"eyeLookOutLeft",
|
||||
"eyeLookOutRight",
|
||||
"eyeLookUpLeft",
|
||||
"eyeLookUpRight",
|
||||
"eyeSquintLeft",
|
||||
"eyeSquintRight",
|
||||
"eyeWideLeft",
|
||||
"eyeWideRight",
|
||||
"jawForward",
|
||||
"jawLeft",
|
||||
"jawOpen",
|
||||
"jawRight",
|
||||
"mouthClose",
|
||||
"mouthDimpleLeft",
|
||||
"mouthDimpleRight",
|
||||
"mouthFrownLeft",
|
||||
"mouthFrownRight",
|
||||
"mouthFunnel",
|
||||
"mouthLeft",
|
||||
"mouthLowerDownLeft",
|
||||
"mouthLowerDownRight",
|
||||
"mouthPressLeft",
|
||||
"mouthPressRight",
|
||||
"mouthPucker",
|
||||
"mouthRight",
|
||||
"mouthRollLower",
|
||||
"mouthRollUpper",
|
||||
"mouthShrugLower",
|
||||
"mouthShrugUpper",
|
||||
"mouthSmileLeft",
|
||||
"mouthSmileRight",
|
||||
"mouthStretchLeft",
|
||||
"mouthStretchRight",
|
||||
"mouthUpperUpLeft",
|
||||
"mouthUpperUpRight",
|
||||
"noseSneerLeft",
|
||||
"noseSneerRight",
|
||||
"tongueOut"]
|
||||
|
||||
obj = bpy.data.objects["face"]
|
||||
|
||||
bpy.context.scene.render.engine = 'BLENDER_WORKBENCH'
|
||||
bpy.context.scene.display.shading.light = 'MATCAP'
|
||||
bpy.context.scene.display.render_aa = 'FXAA'
|
||||
bpy.context.scene.render.resolution_x = int(512)
|
||||
bpy.context.scene.render.resolution_y = int(768)
|
||||
bpy.context.scene.render.fps = 30
|
||||
bpy.context.scene.render.image_settings.file_format = 'PNG'
|
||||
|
||||
cam = bpy.data.objects['Camera']
|
||||
cam.scale = [2, 2, 2]
|
||||
bpy.context.scene.camera = cam
|
||||
|
||||
output_dir = root_dir + filename
|
||||
blendshape_path = root_dir + filename + '.npy'
|
||||
|
||||
result = []
|
||||
bs = np.load(blendshape_path)
|
||||
|
||||
for i in range(bs.shape[0]):
|
||||
curr_bs = bs[i]
|
||||
for j in range(52):
|
||||
obj.data.shape_keys.key_blocks[model_bsList[j]].value = curr_bs[j]
|
||||
bpy.context.scene.render.filepath = os.path.join(output_dir, '{}.png'.format(i))
|
||||
bpy.ops.render.render(write_still=True)
|
||||
Reference in New Issue
Block a user