摘要: 我们知道,Maya 的Python API主要是对于C++的API上的用SWIG来做的一层封装,那么,其API的本质和参数基本上都是和C++的一致的。很多Maya的API方法中都还有一个指针或者应用参数,返回值也是如此,那么对应到Python API中,我们该怎么来处理呢?我们知道在Python中,class 类型是通过应用来传值的,但是一些简单类型,比如 int, float 等是直接传值的。这样就使得一些C++方法中参数如果含有简单类型的指针或者引用就比较复杂。我也碰到过一些案例关于这个的误操作,让我们来看一下下面的一个示例:问题:有一个用户想调用如下方法对应的的Python方法,MSta 阅读全文
posted @ 2013-07-04 17:12 如梦令 阅读(1157) 评论(0) 推荐(0) 编辑
摘要: 来回花了差不多三个小时的路程,从松江到上海音乐学院,不过感觉还是值得的,又更多的了解了一些产品和渠道客户:)先说下下午的主要议题:主要内容:●舞台交互设计与楼体投影设计-客户案例视频赏析●数字媒体艺术专业毕业生作品秀●微电影 Fix in the Post制作流程解析-Autodesk Smoke剪辑与特效的完美结合●Autodesk 3ds Max 2014 新功能解析 Nitrous:场景浏览以及动画性能大大提升 Search Commands:快速搜索命令 Perspective Match:快速匹配CG原始到实拍场景里 Populate :快速给你的场景里添加真实的人物群组动画... 阅读全文
posted @ 2013-06-30 22:56 如梦令 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 我们知道 Maya Viewport 2.0 的性能相比原来的Viewport 有了很大的提升,并且 Maya 2014 的 Viewport 2.0 开始正式支持微软的 Direct X 11.这个对于很多游戏厂商来说是个很好的消息,因为很多游戏引擎都是基于 Direct X,这样他们可以在Maya中得到和实际运行时相一致的效果,不用担心Maya中OpenGL的显示结果,到最后游戏中Direct X显示相差很大。另外他们的很多HLSL着色器也可以直接集成到Maya中来。并且如果用户用HLSL写的着色器也可以直接集成到3ds Max中,并且效果一样。不过大家要注意的是,Maya Viewpor 阅读全文
posted @ 2013-06-30 22:40 如梦令 阅读(1331) 评论(0) 推荐(0) 编辑
摘要: 为时三天的欧特克开发者训练营顺利结束了,也暂时可以稍微轻松一些。关于这次Dev Camp,对于我个人而言,也是一个非常好的机会,一个是能了解到部门其他同事都在做什么,AutoCAD 组已经在移动,云和消费级产品上面下了不少功夫,并且也已经有了不少积累,很多应用对于我们传媒娱乐部门也有不少借鉴,也开阔了视野。另外一方面也直接面对面的接触了传媒娱乐行业的客户,更好的深入行业本身,了解他们的现状和问题,真的对我帮助也非常大。对于我们传媒娱乐行业而言,我们也非常希望能把国际上一些先进的开发技术和成功经验能带给大家,本次训练营中来了有差不多25个成员,并且有不少都已经开始了基于Maya,3ds Max 阅读全文
posted @ 2013-06-30 22:09 如梦令 阅读(266) 评论(0) 推荐(0) 编辑
摘要: Autodesk今年6月将在北京举行首届开发者夏令营。Autodesk 的ADN团队每年都会举行一些培训,比如网上的产品和API新功能培训,教室培训以及一些DevTV讲座。 但是大家还是不满足我们于这些讲座。热切期望有一些更深入性的专题性讲座。把一些功能的API用法讲的更加深入透彻。基于这些需求,Autodesk今年在北京举行开发者夏令营,在那里讲授分享开发专题技巧课程。本次开发者夏令营特邀的开发主题讲座的讲员来自于Autodesk中国研发中心(Autodesk China Research & Development, 简称ACRD)资深软件研发程序员,Autodesk开发技术支持部 阅读全文
posted @ 2013-04-08 20:02 如梦令 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 最近有看到一个case,用户用Python自定义了一个节点,然后在自定义节点的构造函数 __init__ 中注册了一个事件回调函数,并且在相应的析构函数__del__ 中把对应的事件删除掉。代码看起来似乎没有什么问题,但是当用户执行的时候,发现该事件总是无法被删除掉。无论是重新建一个场景,或者是删除这个节点,甚至是卸载这个插件,该事件一直存在,没有被删除掉。import sysimport maya.OpenMaya as OpenMayaimport maya.OpenMayaMPx as OpenMayaMPxnodeName = "TestNode"nodeId = 阅读全文
posted @ 2013-02-26 22:31 如梦令 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 在Maya中,Dependency Graph是Maya的核心,由许多DG节点互联组成。其中包含了两种我们常见的节点,一种是普通的DG节点,一种是DAG(directed acyclic graph)节点。DAG节点在本质上也是一种DG节点。当我们需要操作DG节点的时候,我们知道,用户是不能直接访问Maya核心的,Maya在其核心之上提供了一系列严格定义的接口,使用户能够通过这些API来操作Maya内部数据。当我们需要对DG节点进行操作时,我们可以使用MFnDependencyNode函数集来进行操作,MFnDependencyNode需要设定一个DG节点MObject对象作为操作数据,具体如 阅读全文
posted @ 2013-02-26 21:57 如梦令 阅读(2627) 评论(0) 推荐(0) 编辑
摘要: 首先,我们知道所有Shape节点都必须有一个Transform父节点。如果一个Shape节点是他的父Transform节点的最后一个子节点,那么,当我们使用MDagModifier来删除这个Shape节点的时候,他的父节点也会被同时删除掉。这是Maya的一个正常行为,Maya通过这种方式来使场景中避免了出现一些孤立的Transform节点。同样,当使用MDagModifier::createNode() 函数来创建一个新的Dag节点的时候,如果没有指定父节点并且是Shape节点的话,Maya也会同时创建一个新的Transform父节点给他,这和删除节点是一致的。然而,需要注意的是,MDagMo 阅读全文
posted @ 2013-02-21 14:10 如梦令 阅读(1282) 评论(0) 推荐(0) 编辑
摘要: 在最近的工作中,发现用户自定义的MPxFileTranslator 存在这样一个问题,让我们来看一下问题的具体描述:1. 首先,我们按照正常的步骤去自定义一个MPxFileTranslator,详细步骤可以参考http://docs.autodesk.com/MAYAUL/2013/ENU/Maya-API-Documentation/index.html?url=files/W_File_Trans_Implementing_a_File_Translator.htm,topicNumber=d30e177332. 当你需要导出/保存自定义的文件类型时,你需要重载如下两个函数,haveWri 阅读全文
posted @ 2013-02-21 11:23 如梦令 阅读(389) 评论(0) 推荐(0) 编辑
摘要: 1. 本博文章的观点不代表博主所在公司Autodesk的观点2. 采用本博文章提供的解决方案,风险读者自担。所造成的损失,如程序,文件,数据造成损失和混坏,博主不承担责任。3. 转载本博文章须在文章明显处注明原文的链接和作者信息。便于读者找到原文的更新版。吴忠John Wu 阅读全文
posted @ 2013-02-03 09:17 如梦令 阅读(204) 评论(0) 推荐(0) 编辑