当改进镜头取景时,我经常想要将相机移动一定的“百分比”。我意识到当你不确定相机的位置开始时,“百分比”可以是任意的,但对于客户来说,以百分比而不是单位进行交谈更有意义(例如“推入10%”)
在Maya的python库中,我看到了camera
和dolly
命令,但没有内置的方法将相机移动到当前位置的一小部分。最优雅的方式是什么?
答案 0 :(得分:0)
这是我的10%推入的示例解决方案,这绝不是优雅的:
import maya.cmds as cmds
import maya.mel as mm
currentPosition = cmds.camera("MyCameraShape", q=True, coi=True)
desiredPosition = float(currentPosition) - (currentPosition * (float(pushPercent) / 100.0) )
cmds.dolly('MyCameraShape', absolute=True, distance=desiredPosition)
我的理解是我想absolute=True
,因为我想保留我的coi(感兴趣的中心)。
答案 1 :(得分:0)
这适用于您所描述的应用程序。如果你只使用小数,数学就更简单了:
def push_pct (cameraShape, amt):
''' where .1 = in 10%, -.1 = out 10%, etc'''
cmds.dolly(cameraShape, abs = True, d = (1 - amt) * cmds.camera(cameraShape, q=True, coi=True))