本人刚刚学习 有错误的地方 还请大神指出
物体 A 和 物体B 同时点约束物体C。
在Maya中,影响点约束的属性有 translate,rotatePivot,rotatePivotTranslate ,offset 每个影响物体的所占的比重值(W0,W1)。
手动连接的话,需要把这些属性全部连上。就是maya里的约束节点。但为了节省计算量也可以把rotatePivot和rotatePivotTranslate 剔除掉,制作过程中我没有用到过这个属性。
A的世界矩阵 ==>> Aw
B的世界矩阵 ==>> Bw
A的比重值 ==>> Aw0(是数字零,NND 字母O和数字0 一样一样的)
B的比重值 == >> Bw1
offset ==>> Om
C的父亲逆矩阵 ==>> Cpim
C的rotatePivot逆矩阵 ==>> CrpPim
C的rotatePivotTranslate 逆矩阵 ==>> CrptPim
C约束后的矩阵 ==>> C后
因为是点约束,没有旋转。所以矩阵乘的顺序在这个公式里满足交换律
A 和 B 同时点约束物体C。
C后 = {[Aw*(Aw0/(Aw0+Bw1))]+[Bw*( Bw1/(Aw0+Bw1))]}*Cpim*CrpPim *CrptPim*Om
(Aw0/(Aw0+Bw1))+ ( Bw1/(Aw0+Bw1))
= 1
单个物体约束
C后 = [Aw*(0<Aw0≤1))]*Cpim*CrpPim *CrptPim*Om
因为是点约束,没有旋转。矩阵的上三行 是默认的数值。因此上面公式可以转化为 各个的影响数值转化为向量相加然后点左乘C的父亲逆矩阵
{[Aw*(Aw0/(Aw0+Bw1))]+[Bw*( Bw1/(Aw0+Bw1))]} ==>> E (E为左面的公式转换为向量(位移)数值)
CrpPim ==>> Cp (在maya里直接rotatePivot 的数值乘以-1)
CrptPim ==>> Crp (在maya里直接rotatePivotTranslate 的数值乘以-1)
Om ==>> O
C约束后的向量 ==>> CV
公式we
CV = (E+Cp+Crp+O)*Cpim
这其中,红色部分可以去除。
点约束,以我现在的知识量理解,是向量A + 向量B 得到的向量 ,就是物体C的位置。如下图:
但图中,C的位置根据我们的经验来看,明显不对啊 。应该在D的位置啊!!!!
别急!!!还有一张图.
咱不是有 Aw0 和 Bw1 ,在上面的公式中,是向量 A*
(Aw0/(Aw0+Bw1)和 向量B*Bw1/(Aw0+Bw1)
并且有 :(Aw0/(Aw0+Bw1))+ ( Bw1/(Aw0+Bw1))
= 1
咱先设 Aw0和 Bw1 都为 1
则有 A*0.5 = A撇
B*0.5 = B撇
A撇+B撇 = C撇了。