Maya动画制作之 对实拍和三维结合在maya里处理的一点想法
白羽 2018-11-28 来源 :网络 阅读 2841 评论 0

摘要:本文将带你了解Maya动画制作之 对实拍和三维结合在maya里处理的一点想法,希望本文对大家学Maya有所帮助。

    本文将带你了解Maya动画制作之 对实拍和三维结合在maya里处理的一点想法,希望本文对大家学Maya有所帮助。



  感觉时间过得飞快,转眼半年已经过去了,已经是下半年的第一个月了,也确实该写点东西了;最近自己报名了一个英语班在学习英语,所以再技术方面没有以前那么投入了,今天就基于最近公司的项目写一个小一点的东西,基本属于抛砖引玉。

  最近公司在做一部实拍和三维结合的电影,这就需要将实拍素材导入到maya里,然后将三维的模型和实拍的素材结合起来,来拍屏或者修改动画看最终的三维和实拍结合的效果。这里就有个小知识点,就是如何将实拍的素材和追踪反求出来的相机在maya完美的贴合,不会出现某一帧错位的问题。在maya里导入视频或者序列帧首推imagePlane,这个工具比创建一个多边形polygon,再赋个材质要好很多,而且也简单方便。 
   
  Image Plane在这:

   
   
  在maya里创建预览的工具有了,现在就需要考虑另一个问题,就是如何将这个imagePlane完美地和相机契合,不论相机怎么动或者imagePlane如何动都不会在相机的视图里有任何的偏移,也是本文分享的第一个知识点。这里就需要对视锥(Frustum)有个了解,当我们在maya显示出来视锥就能看到,一个类似于聚光灯一样的东西,我们调节相机的焦距时,可以看到视锥也在发生宽窄的变化,也就是当我们的imagePlane在移动时,它的宽高都要和相机的视锥完全一致,这样才不会出现偏移的问题。

  视锥如图:

   
   
  获取相机视锥的宽高可以通过下面的方法:

  Maya的command是干不了这种事了,用API了,

import maya.api.OpenMaya as om

def getMObject(name):
    msel = om.MSelectionList()
    msel.add(str(name))
    return msel.getDependNode(0)

def calcuteFrustumSize(camera, depth):
    mobj = getMObject(camera)

    mfncam = om.MFnCamera(mobj)
    width, height = mfncam.getFilmFrustum(depth)[:2]
    return width, height, depth

if __name__ == '__main__':
    calcuteFrustumSize('cameraShape1', 20)12345678910111213141516
   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件之Maya频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-IT技术咨询与就业发展一体化服务 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved