有时候需要将max的动画信息提取出来导到引擎里,就需要编写脚本单独提取关键帧。
在max里知道一个物体有没有动画信息可以通过isAnimated获取:
print $Box002.height.isAnimated
对于有动画信息的物体,拿到controller.keys可以得到所有关键帧:
keys = $Box002.height.controller.keys
for k in keys do
(
format “tm:%:val:%\n”k.time k.value
)
将关键帧输出,整合写到str里,然后写入剪切板:
str = “”
for k in keys do
(
str += ” tm:”+ (k.time) as string + ” val: ” + (k.value) as string;
)
print str
setclipboardText str
还有一个例子,取相机fov数据单独导出:
for cam in cameras do
(
curCam = cam
if classof curCam == Physical_Camera then
(
keys = curCam.focal_length_mm.controller.keys
keysStr = ""
for k in keys do
(
keysStr += "|t:"+(k.time) as string + ";val: "+(k.value) as string
)
print keysStr
setclipboardText keysStr
)
)