首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python改变胶片门的方式

Python改变胶片门的方式
EN

Stack Overflow用户
提问于 2016-06-21 05:35:04
回答 3查看 713关注 0票数 0

换胶片闸门的命令是什么?

然而,在我的例子中,有两个胶片门在相机光圈等方面具有相同的值,但它们具有不同的名称,例如。默认为35 mm,交付为35 mm。

有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2016-06-22 01:59:39

评论太长了,所以这里有另一个答案

如果您查看底部文件,您可以看到

代码语言:javascript
复制
AEcameraFilmbackNew

这就是它填充optionMenu的地方

代码语言:javascript
复制
string $filmbackTable[] = globalFilmbackTable();

whish位于该mel脚本的顶部

whish是一个列表

代码语言:javascript
复制
            //  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"

没有简单的方法来设置预设,它们只是用脚本填充的已保存设置

票数 1
EN

Stack Overflow用户

发布于 2016-06-21 13:29:22

在AE (属性编辑器)中并不是所有东西都是属性,它是ui的一个动态构建部分,允许进行自定义设置

胶片门不是一个属性,只是其他设置的枚举

选择相机并运行此命令,您将不会看到列出的胶片门

代码语言:javascript
复制
for i in sorted(pm.ls(sl=True)[0].listAttr()):
    print i

当您手动更改它时,您会得到以下内容

代码语言:javascript
复制
AEwhichCameraFilmback perspShape2.horizontalFilmAperture  perspShape2.verticalFilmAperture perspShape2.lensSqueezeRatio;
AEcameraFilmbackModified "perspShape2";
AEcameraFilmbackModified "perspShape2";
AEadjustFOV perspShape2.focalLength perspShape2.horizontalFilmAperture;

这就是所有的mel,所以这让你相信它是某种命令

在mel(且仅限mel)中有一个whatIs命令

代码语言:javascript
复制
whatIs AEadjustFOV ;
//Result: Mel procedure found in: C:/Program Files/Autodesk/Maya2014/scripts/AETemplates/AEcameraTemplateCommon.mel

这再次证明了它对AE的习惯,而不是直接属性

如果您破坏了所有这些命令上的内容,它们可能会返回到相同的mel文件

另外,我发现访问这些文件的最快方法是将路径粘贴到web浏览器中,它将弹出并打开

您很可能会找到它构建选项菜单的位置,并找到它在更改上运行的命令

票数 0
EN

Stack Overflow用户

发布于 2016-06-25 05:41:40

所以我找到了一种通过python实现这一功能的方法。

代码语言:javascript
复制
cmds.optionMenu('filmbackMenu', edit = True, value = "<Name of the filmback>")

代码语言:javascript
复制
cmds.optionMenu('filmbackMenu', edit = True, select = "<Filmback index in the Film Gate drop-down list")

请注意,对于索引方法,索引从1而不是从0开始

之后,运行以下代码,以便将更改反映到光圈和镜头挤压上。如果不这样做,它只会更改胶片的名称

代码语言:javascript
复制
mel.eval('AEwhichCameraFilmback <Name of Camera>.horizontalFilmAperture <Name of Camera>.verticalFilmAperture <Name of Camera>.lensSqueezeRatio;')

注意:我注意到它有时是有效的,它不是有保证的。仍在努力找出原因

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37932182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档