XSIforum.com
Foros 3D => Autodesk Softimage => Animación => Mensaje iniciado por: siru en 06 Agosto 2009, 10:29:16
-
Hola, sabeis si hay alguna preferencia oa algo para poner los keys siempre en frames enteros no con decimales?
Me explico: a veces al escalar un animacion, los keys intermedios quedan en frames con decimales y me resulta muy incomodo a la hora de editarlos despues.
-
Con scripting es relativamente fácil de hacer, selecciona los objetos con las curvas "no normalizadas" y ejecuta esto:
import math
def NormalizeCurve(FCurves):
for eachFCurve in FCurves:
for eachKey in eachFCurve.Keys:
if (eachKey.Time - int(eachKey.Time)) < 0.5:
eachKey.Time = math.floor(eachKey.Time)
else:
eachKey.Time = math.ceil(eachKey.Time)
def GetFCurves(obj):
holder = [i for i in obj.Properties if ClassName(i)=="CustomProperty"]
holder.append(obj)
return [o.Source for i in holder for o in i.Parameters if ClassName(o.Source)=="FCurve"]
for each in Application.Selection:
NormalizeCurve(GetFCurves(each))
Python rulez 8)
-
Perdón por mi ignorancia, pero no es lo mismo que el Animation Editor > Edit > AutoSnap to Keys (Discrete Time)?
-
gracias a los 2, aunque las 2 opciones pueden valer me quedo con la de Sumatra ya que todo lo que sea scripting prefiero evitarlo, sobre todo si ya hay una opcion dentro del programa.
-
Perdón por mi ignorancia, pero no es lo mismo que el Animation Editor > Edit > AutoSnap to Keys (Discrete Time)?
Lo mio "repara" curvas que ya vienen dañadas, si lo quieres "prevenir" en lugar de "curar" es mejor usar la opción de XSI :)