换胶片闸门的命令是什么?
然而,在我的例子中,有两个胶片门在相机光圈等方面具有相同的值,但它们具有不同的名称,例如。默认为35 mm,交付为35 mm。
有什么想法吗?
发布于 2016-06-22 01:59:39
评论太长了,所以这里有另一个答案
如果您查看底部文件,您可以看到
AEcameraFilmbackNew这就是它填充optionMenu的地方
string $filmbackTable[] = globalFilmbackTable();whish位于该mel脚本的顶部
whish是一个列表
// Name Horiz Vert Squeeze
(uiRes("m_AEcameraFilmbackNew.kTheatrical")), "0.404", "0.295", "1.0",
(uiRes("m_AEcameraFilmbackNew.kSuper")), "0.493", "0.292", "1.0",
(uiRes("m_AEcameraFilmbackNew.kAcademy")), "0.864", "0.630", "1.0",
(uiRes("m_AEcameraFilmbackNew.kProjectionTV")), "0.816", "0.612", "1.0",
(uiRes("m_AEcameraFilmbackNew.kAperture")), "0.980", "0.735", "1.0",
(uiRes("m_AEcameraFilmbackNew.kProjection185")), "0.825", "0.446", "1.0",
(uiRes("m_AEcameraFilmbackNew.kAnamorphic")), "0.864", "0.732", "2.0",
(uiRes("m_AEcameraFilmbackNew.kProjection70")), "2.066", "0.906", "1.0",
(uiRes("m_AEcameraFilmbackNew.kVista")), "1.485", "0.991", "1.0",
(uiRes("m_AEcameraFilmbackNew.kImax")), "2.772", "2.072", "1.0"没有简单的方法来设置预设,它们只是用脚本填充的已保存设置
发布于 2016-06-21 13:29:22
在AE (属性编辑器)中并不是所有东西都是属性,它是ui的一个动态构建部分,允许进行自定义设置
胶片门不是一个属性,只是其他设置的枚举
选择相机并运行此命令,您将不会看到列出的胶片门
for i in sorted(pm.ls(sl=True)[0].listAttr()):
print i当您手动更改它时,您会得到以下内容
AEwhichCameraFilmback perspShape2.horizontalFilmAperture perspShape2.verticalFilmAperture perspShape2.lensSqueezeRatio;
AEcameraFilmbackModified "perspShape2";
AEcameraFilmbackModified "perspShape2";
AEadjustFOV perspShape2.focalLength perspShape2.horizontalFilmAperture;这就是所有的mel,所以这让你相信它是某种命令
在mel(且仅限mel)中有一个whatIs命令
whatIs AEadjustFOV ;
//Result: Mel procedure found in: C:/Program Files/Autodesk/Maya2014/scripts/AETemplates/AEcameraTemplateCommon.mel这再次证明了它对AE的习惯,而不是直接属性
如果您破坏了所有这些命令上的内容,它们可能会返回到相同的mel文件
另外,我发现访问这些文件的最快方法是将路径粘贴到web浏览器中,它将弹出并打开
您很可能会找到它构建选项菜单的位置,并找到它在更改上运行的命令
发布于 2016-06-25 05:41:40
所以我找到了一种通过python实现这一功能的方法。
cmds.optionMenu('filmbackMenu', edit = True, value = "<Name of the filmback>")或
cmds.optionMenu('filmbackMenu', edit = True, select = "<Filmback index in the Film Gate drop-down list")请注意,对于索引方法,索引从1而不是从0开始
之后,运行以下代码,以便将更改反映到光圈和镜头挤压上。如果不这样做,它只会更改胶片的名称
mel.eval('AEwhichCameraFilmback <Name of Camera>.horizontalFilmAperture <Name of Camera>.verticalFilmAperture <Name of Camera>.lensSqueezeRatio;')注意:我注意到它有时是有效的,它不是有保证的。仍在努力找出原因
https://stackoverflow.com/questions/37932182
复制相似问题