
MAYA API
文章平均质量分 69
lulongfei172006
为自己每一个脚印、每一滴汗水刻碑
展开
-
贝塞尔(Bezier)曲线节点
在网上看到一个bezier曲线的公式,那就用Maya的节点来实现下,看看效果,具体公式如下图:这个是二维的,三维的花再加个z轴向就行,import maya.OpenMayaMPx as OpenMayaMPximport maya.OpenMaya as OpenMayaclass BezierCubic(OpenMayaMPx.MPxNode): kPluginNode...原创 2020-03-14 16:26:30 · 1027 阅读 · 0 评论 -
Voxelization——体素化模型
上周部门内部进行分享知识讲座时讲到一个词Voxelization,也就是体素化,也就是用某些东西充满一个物体的内部,如下面这两张图,用小方块充满圆环和锥体。其主要算法也有多种,我这里采用的是用boundingbox来切割物体的方法,如下图:就是先求出一个模型的boundingbox,然后以一定的step对boundingbox的长宽高进行切割,然后从这些黄色的交点,按照某一方向,向模型打...原创 2019-05-02 20:06:00 · 6502 阅读 · 3 评论 -
Maya编译QT插件——以helixQtCmd为例
当想通过调用QT库来写个Maya插件时,发现远比自己想象的复杂的多,这里就记录一点,如何编译调用QT库的插件;主要的难点就是当你的代码用了signal和slot的时候,就不可避免的要用到Q_OBJECT这个东西,一旦有了这个东西,那么再编译的时候就变得和以前不太一样了,下面详细叙述下。 以Maya自带的helixQtCmd为例,等自己的插件完工,有朝一日再叙。 一、将devkit都下载好,...原创 2018-05-20 12:23:13 · 1519 阅读 · 0 评论 -
Frustum Culling 在Maya里根据相机视锥来过滤物体
今天分享个在Maya里根据视锥来过滤掉相机视锥以外物体的算法,这种方法可以用来减轻动画文件的重量,因为有时候Layout打镜头的时候,是好几个镜头一连串打得,到动画阶段,如果是近景或特写那么有好多地方根本看不到,这时可以用这种方法来隐藏那些看不到的物体;还有个应用的地方是当出缓存的时候可以计算出角色和道具什么时间段在相机视图里,这样再出缓存的时候就会即节省时间又节省硬盘空间,尤其是在大量角色出缓存或翻译 2018-04-01 22:10:06 · 895 阅读 · 0 评论 -
检查模型点是否重合
今天弄了个检查模型点是否有重合的command,好久不用API都陌生了;带有一个flag——shreshold,简写sr,设置需要检查两点之间的最小距离,在小于这个距离就算是重合的点了,command会将这两个点同时返回。源代码如下:checkOverlapPoint.h#define _CHECK_OVERLAP_POINT#include <maya/MSelectionList.h>#in原创 2017-11-28 19:40:40 · 1435 阅读 · 1 评论 -
渲染管线-顶点变换
这次给大家分享一个同事的一篇文章,忘大家有所收获。https://www.zybuluo.com/zen-wu/note/700242转载 2017-10-26 09:52:36 · 851 阅读 · 0 评论 -
对实拍和三维结合在maya里处理的一点想法
感觉时间过得飞快,转眼半年已经过去了,已经是下半年的第一个月了,也确实该写点东西了;最近自己报名了一个英语班在学习英语,所以再技术方面没有以前那么投入了,今天就基于最近公司的项目写一个小一点的东西,基本属于抛砖引玉。 最近公司在做一部实拍和三维结合的电影,这就需要将实拍素材导入到maya里,然后将三维的模型和实拍的素材结合起来,来拍屏或者修改动画看最终的三维和实拍结合的效果。这里就有个小知识点,就原创 2017-07-12 20:37:16 · 1413 阅读 · 1 评论 -
用maya API获取DAG节点的path和matrix信息
公司来了位在autodesk工作十年的大神,最近给我们培训maya API这块儿的东西,感觉学到不少东西,这是第二节课,她给我们布置的作业是写个带flat的command,具体说就是用api获取选择物体的dagpath,并且添加个flag——verbos,如果有这个flag的话,那么就打出这个物体的inclusiveMatrix和exclusiveMatrix,自己用python API写了一下,又原创 2016-12-25 18:16:03 · 3199 阅读 · 1 评论 -
mel、pyton、c++ maya一个noise效果的实现的时间比较
看一本书,里面讲到脚本和api的执行效率,并举了个例子,是给一个20*20的polygon球体做noise运算,作者也奉献了python和mel的脚本,自己又用C++编译了一个command,分别测试了下,三者的运行效率很了然。mel/* Apply noise to the supplied geometry object using the supplied max displacem原创 2016-09-29 17:11:43 · 1566 阅读 · 0 评论 -
用六种算法实现maya动画曲线光滑
在使用动补数据的时候,经常会有手脚等部位的抖动,特意写了个command,直接将动画曲线平滑一下,不用动画师大量的进行手调,下面是代码:smoothAnimationCurveCmd.h #ifndef _smoothAnimationCurve_#define _smoothAnimationCurve_#include <maya/MPxCommand.h>#...原创 2016-05-24 20:29:40 · 9330 阅读 · 30 评论 -
用maya API删除动画曲线多余的关键帧——掐头去尾删帧
由于公司项目的需要,一个文件里有上万条动画曲线,要删除某一帧前面的帧,也要删掉某一帧后面的帧,相当于是掐头去尾,但从功能上来说这个mel完全可以胜任,但是执行起来效率就特别的低了,于是就想到了用maya API来写个cmd,这样可以提高执行效率,最后的结果也不出所料,一个6G的含有上万条动画曲线的文件,而且每根曲线都是从-2000多帧开始到3000多帧,都是动补的数据,实际镜头只需要大约100原创 2016-05-11 14:10:14 · 5885 阅读 · 1 评论 -
maya简单的双倍位移节点的创建
主要学习了maya里节点的工作原理,maya的节点就像一个黑箱子,里面做什么操作不用过问,只需要给它输入值和然后给你计算出输出值,里面具体的算我我们自己按照需要来实现,其中最重要的两个,一个是MDataBlock,一个是MDataHandle,我们的输入,输出,属性值都是通过datablock来计算的,那么要想访问datablock内部的数据,我们的需要datahandle来实现,具体实现大概有五原创 2016-04-30 10:51:54 · 2911 阅读 · 3 评论 -
visual studio 2012 Maya plugin wizard scirpt error 加载maya插件报错
下载安装好,visual studio 2012后,准备开始学习maya API,当准备创建project时,发现报错,于是google了下,终于解决了。报错如图:原文地址:https://forums.autodesk.com/t5/forums/forumtopicprintpage/board-id/area-b50/message-id/4194/print原创 2016-03-03 13:53:24 · 1727 阅读 · 0 评论 -
沿曲线创建圆柱体 mayaAPI
这是自己在看《maya 5 编程全攻略》,按照里面的例子,自己讲mayaAPI插件流程走了一遍,也有一些自己的感想,还是先学C语言,再学C++,这样有更好的后期发展。附上代码, 里面包含了redo, undo,help等功能:#include #include #include #include #include #include #include #include #incl原创 2015-12-12 20:36:50 · 5102 阅读 · 0 评论 -
maya2016 API插件开发visual studio 2012的环境配置
自己也是刚开始研究maya API,所有有好多东西都是陌生的,先从配置环境开始说起,给自己做点笔记。首先安装visual studio 2012,也就是visual studio 11.0,这两个在版本上市一回事,自己是先从你2005使用,到2010,期间都有各种问题,让我很无奈,最终选择2012这个版本,不过确实比以前的好用多了,现在分享下。首相将maya安装目录下的devkit文件夹下原创 2015-11-29 22:12:11 · 5541 阅读 · 0 评论