Commit eaa49245a98207241bb770829365c3123e3280de

Authored by Adabriand Furtado
1 parent 37b05e8e
Exists in master

Adicionada a orientação diagonal para o movimento Alisar; e configurados novos p…

…arâmetros para otimizar a renderização
Showing 2 changed files with 50 additions and 8 deletions   Show diff stats
@@ -2,26 +2,59 @@ @@ -2,26 +2,59 @@
2 2
3 import math 3 import math
4 4
5 -def contato(pose, contact_type, orientation, repetition, frameJump = 10, initialFrame = 18, width = 0.5): 5 +def contato(pose, contact_type, orientation, repetition, frameJump = 10, initialFrame = 18, width = 0.25):
6 currentFrame = initialFrame 6 currentFrame = initialFrame
7 if (contact_type == "alisar"): 7 if (contact_type == "alisar"):
8 - currentFrame = alisar(pose, contact_type, orientation, repetition) 8 + currentFrame = alisar(pose, orientation, repetition, frameJump, initialFrame, width)
9 return currentFrame 9 return currentFrame
10 10
11 -def alisar(pose, contact_type, orientation, repetition, frameJump = 10, initialFrame = 18, width = 0.5):  
12 - center = pose.location.x, pose.location.y, pose.location.z 11 +def alisar(pose, orientation, repetition, frameJump = 10, initialFrame = 18, width = 0.25):
13 currentFrame = initialFrame 12 currentFrame = initialFrame
14 - 13 + if (orientation == "perpendicular"):
  14 + currentFrame = alisarXY(pose, 1, repetition, frameJump, initialFrame, width)
  15 + elif (orientation == "paralelo"):
  16 + currentFrame = alisarXY(pose, 0, repetition, frameJump, initialFrame, width)
  17 + elif (orientation == "diagonal-direita"):
  18 + currentFrame = alisar_diagonal(pose, True, repetition, frameJump, initialFrame, width)
  19 + elif (orientation == "diagonal-esquerda"):
  20 + currentFrame = alisar_diagonal(pose, False, repetition, frameJump, initialFrame, width)
  21 +
  22 + return currentFrame
  23 +
  24 +def alisarXY(pose, orientation_index, repetition, frameJump = 10, initialFrame = 18, width = 0.25):
  25 + currentFrame = initialFrame
  26 + center = pose.location.x, pose.location.y, pose.location.z
  27 +
15 for i in range(0, repetition): 28 for i in range(0, repetition):
16 - pose.location.y = center[1] - width 29 + pose.location[orientation_index] = center[orientation_index] - width
17 pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') 30 pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location')
18 currentFrame += frameJump 31 currentFrame += frameJump
19 - pose.location.y = center[1] + width 32 + pose.location[orientation_index] = center[orientation_index] + width
20 pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location') 33 pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location')
21 currentFrame += frameJump 34 currentFrame += frameJump
22 - currentFrame -= frameJump 35 + #currentFrame -= frameJump
  36 +
23 return currentFrame 37 return currentFrame
  38 +
  39 +def alisar_diagonal(pose, to_right, repetition, frameJump = 10, initialFrame = 18, width = 0.25):
  40 + currentFrame = initialFrame
  41 + center = pose.location.x, pose.location.y, pose.location.z
  42 +
  43 + for i in range(0, repetition):
  44 + pose.location[0] = center[0] - width if to_right else center[0] - width
  45 + pose.location[1] = center[1] - width if to_right else center[1] + width
  46 +
  47 + pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location')
  48 + currentFrame += frameJump
  49 +
  50 + pose.location[0] = center[0] + width if to_right else center[0] + width
  51 + pose.location[1] = center[1] + width if to_right else center[1] - width
  52 + pose.keyframe_insert(frame = currentFrame, index = -1, data_path = 'location')
  53 + currentFrame += frameJump
  54 + #currentFrame -= frameJump
24 55
  56 + return currentFrame
  57 +
25 def circular_or_semiCircular(pose, orientation, direction, radius, laps, intensity = 5, initialFrame = 18, turn = None): 58 def circular_or_semiCircular(pose, orientation, direction, radius, laps, intensity = 5, initialFrame = 18, turn = None):
26 center = pose.location.x, pose.location.y, pose.location.z 59 center = pose.location.x, pose.location.y, pose.location.z
27 if(orientation == 'perpendicular'): 60 if(orientation == 'perpendicular'):
@@ -36,6 +36,15 @@ def outconf(): @@ -36,6 +36,15 @@ def outconf():
36 bpy.context.scene.render.ffmpeg.format = 'MPEG4' 36 bpy.context.scene.render.ffmpeg.format = 'MPEG4'
37 bpy.context.scene.render.ffmpeg.codec = 'H264' 37 bpy.context.scene.render.ffmpeg.codec = 'H264'
38 # bpy.context.scene.render.filepath = '/tmp/' 38 # bpy.context.scene.render.filepath = '/tmp/'
  39 +
  40 + # Otimização da renderização
  41 + bpy.context.scene.render.use_shadows = False
  42 + bpy.context.scene.render.use_raytrace = False
  43 + bpy.context.scene.render.use_envmaps = False
  44 + bpy.context.scene.render.use_motion_blur = False
  45 + bpy.context.scene.render.use_shadows = False
  46 + bpy.context.scene.render.tile_x = 320
  47 + bpy.context.scene.render.tile_y = 240
39 48
40 def render_sign(userId, signName, beginFrame, endFrame): 49 def render_sign(userId, signName, beginFrame, endFrame):
41 bpy.context.scene.render.filepath = "//users//" + str(userId)+ "//" + signName + "_" 50 bpy.context.scene.render.filepath = "//users//" + str(userId)+ "//" + signName + "_"