Maya Python:如何计算给定面对镜头的反射角/矢量?

时间:2015-07-16 18:53:00

标签: python maya

我正在尝试计算与pov相关的多面选择的(平均)反射角。很难描述...... 我想放置相机,然后我想要在一个物体上选择一些面孔。接下来我得到一条代表反射光线的线条。通过在该光线上排列光线,我可以准确地将光线反射到我之前选择的多面体上。 希望这是可以理解的。

提前致谢

顺便说一句:我发现了一个正在做我正在寻找的Mel脚本。

http://forums.cgsociety.org/showpost.php?p=7524771&postcount=5

但我无法将其转换为python因为我不知道向量。一周前开始python ...

2 个答案:

答案 0 :(得分:1)

你可以在pymel中获得载体:

from pymel.core.datatypes import Vector
test = Vector(1.0,0.0,0.0)
test2= Vector(0.0,1.0,0.0)
test.dot(test2)
# Result: 0.0
test.cross(test2)
# Result: dt.Vector([0.0, 0.0, 1.0]) # 

通常反射看起来像这样:

ray = Vector(-2, -3, 1)
nrm = Vector(0,1, 0).normal()

reflection = ray - (2 * (ray.dot(nrm))* nrm)
print reflection
# [-2.0, 3.0, 1.0]

其中ray是从视点到地面的光线,nrm是交点处的(标准化)曲面法线。

答案 1 :(得分:0)

如果您不想在Python中进行转换,则可以执行

import maya.mel as mel

# put your MEL code in a string
s = ''
mel.eval(s)