maya,mel,eval,stringarray】的更多相关文章

mel里,当要eval("client()"),并且要传递stirngarray参数给函数client()时,正确的写法应该是: global proc intermediator_good(string $array[]) { print(">intermediator(): ["+stringArrayToString($array, ",")+"], size="+size($array)+"\n&quo…
Maya mel maya档出现未知插件解决方法 以下 mel 代码,拷贝到 maya 的脚本编辑器的 mel 中,最好运行两次 string $unknownNodes[] = `ls -type "unknown"`; for($node in $unknownNodes) { print( "Deleting " + $node + "\n" ); lockNode -lock 0 $node; delete $node;} string…
转自:http://schiho.com/?p=179 Hi, this is a little script which returns a 0 or 1 if the searched text is in a string. Compared with the match function in mel, this one returns 1 or 0, which is more convenient for my opinion. Furthermore somtimes i get…
maya 在 pymel 中运行 mel 前言 maya mel 自身定义了很多有用的方法,当我们用 pymel 开发的时候,不想重新写一遍 mel 已经有的功能,那么就可以在 pymel 中运行 mel import maya.mel as mel melCmdStr = 'changeSelectMode -component;' mel.eval(melCmdStr)…
是不是有时候盔甲很多很碎头很大,用代理一个个拷贝很麻烦吧 用下面代码直接运行进行一对多或者一对一拷贝 第一个先选择参考物体,加选其他一堆有的没的有权重或没权重的物体执行一键拷贝,就可以啦 以下是源码送上,带走吧 ------------------------ #! -*- coding:utf -8 -*- #author:liubingdong #date:20190427import  maya.cmds  as  mcimport  maya.mel  as  mel#一对多拷贝权重al…
import maya.OpenMaya as OpenMaya import maya.OpenMayaMPx as OpenMayaMPx sl = OpenMaya.MSelectionList() OpenMaya.MGlobal.getActiveSelectionList(sl) itersl = OpenMaya.MItSelectionList(sl, OpenMaya.MFn.kDagNode) dagPath = OpenMaya.MDagPath() dagFn = Ope…
Maya中mentalray灯光渲染终极训练视频教程 http://www.cgtsj.com/cg/f/vx3627/index.html Maya无人机建模制作训练视频教程第一季 http://www.cgtsj.com/cg/f/vx3626/index.html Maya动作捕捉关键帧技术视频教程 http://www.cgtsj.com/cg/f/vx3625/index.html Maya与PS材质绘制技巧视频教程 http://www.cgtsj.com/cg/f/vx3561/i…
一.Maya API编程简介 Autodesk® Maya® is an open product. This means that anyone outside of Autodesk can change Maya's existing features or add entirely new features. There are several ways you can modify Maya: · MEL™-(Maya Embedded Language) is a powerful…
你是否在做项目的时候经常会遇见一个物体带权重需要拷贝给其他物体,这时候其他物体多的数不胜数 你怎么办呢? 举例:假如一头狮子 身体你已经做好了,但是模型师把半个身体都做满了垂落的实体模型毛发,你是否感到头疼?,一个个点击拷贝是否会手疼, 别慌,下面的脚本帮你,这是我们在生产中常遇到的问题,这种家常小脚本随手而来,别客气,拿走,不谢 #----------------------------------------------------------------------------------…
Gesture Drawing with Alex Woo Gesture Drawing with Alex Woo and Louis Gonzales http://eisneim.com/?page_id=1271 ------------------------------Animation------------------------------Basics Animation 03 Drawing for Animation (基础动画03绘图动画电子书)http://www.9…
Maya C++ API Programming Tips source : http://wanochoi.com/?page_id=1588 How to handle the multiple outputs of a DG node ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 MStatus MyNode::initialize() {    MFnNumericAttribute n…
maya动力学有以下几套系统: 1.刚体.柔体系统 刚体系统的典型节点连接方法如下: 物体的变换节点.形状节点连接rigidBody节点,刚体节点输出力到解算器节点,解算器输出新的变换到变换节点 值得注意的是柔体系统实际上是用粒子实现的,通过给每个网格顶点赋予一个粒子,再让粒子反过来操纵网格,实现网格的变形. 通过在粒子之间创建大量弹簧,实现粒子之间的相互影响,于是物体看上去就像发生了弹性变形一样. 弹簧的节点连接方法如下: 2.普通粒子系统 普通粒子系统可以同网格物体发生碰撞.典型节点连接方法…
1. MAYA API支持不同类型的plugin (1)Command Plugin——扩充MEL命令 (2)Tool Commands——通过鼠标输出 (3)DG plugin——对场景添加新的操作 (4)Device Plugin——让其他的device链接到maya 2. register 命令:MFnPlugin 例子: #include <stdio.h> #include <maya/MString.h> #include <maya/MArgList.h>…
#include <maya/MSimple.h> #include <maya/MIOStream.h> DeclareSimpleCommand( hello, "); MStatus hello::doIt( const MArgList& args ) { cout << ).asChar() << endl; return MS::kSuccess; } MArgList接受来自MEL command输入的命令参数. 一个创建NU…
用mel编写自定义节点的属性编辑器界面比较麻烦,而且网上例子又少,下面给出一个范例,说明基本的格式 // 初始化节点时调用 global proc initControl(string $attrName) { // 传进来的参数是节点属性名,使用这个方法获得节点名称 string $nodeName = `plugNode $attrName`; setUITemplate -pst "attributeEditorTemplate"; button -label "Com…
今天改进了Hessian各块的计算代码,减少了一些内存操作.下一步准备把模拟平台与Maya结合,这样就可以利用Maya丰富的变形算法了. 这一步需要考虑以下问题: 1.把场景设置为某一帧.这一点可以用Mel脚本实现,命令是 currentTime  帧号 2.把表面网格转成体网格.这一点比较难做,因为表面网格不一定封闭. 有两种思路:  根据一堆点生成体网格,同时原来的点作为体网格的部分顶点 原来的输入点"泡"在体网格中,但是可以直接通过这些点反求体网格的一部分顶点. 第一种思路似乎比…
这几天把物理模拟框架移植到maya之中了. maya编程有一点比较关键,就是要让自己的程序逻辑适应maya的节点求值机制.在物理模拟中,往往需要进行时间积分,对此我的解决办法是,写一个节点rigSimulator,存放模拟的状态数据(例如: 位置.速度.加速度.过去模拟的结果),再写一个mel命令rigSimulate,让指定的节点进行求值.模拟的主循环是一个mel 脚本,伪代码如下 int $t = 0; for ($t = $begTime; $t < $begTime + $length;…
1.maya主要用于建模,动画, 视觉特效,游戏, 和模拟 一般分为以下几类: l  建模: ploygons, nurbs, subdivision surfaces   这是不同的建模方法. polygons 是创建模型表面通过建立和reshapeing一些简单的面. nurbs则是方便你创建平滑的弯曲的表面通过一些高级的控制 subdivision surfaces 则允许你编辑所有表面的一个子集,如果表面是由polygon构成的话. l  character rigging,角色绑定.大…
1.下载对应的openCollada插件内容 https://github.com/KhronosGroup/OpenCOLLADA/wiki/OpenCOLLADA-Tools 该页面目前提供Mac OS maya2010-2014版本的直接安装包,以及Windows 2010-2013版本的直接安装包,所以对于高版本的maya,需要下载手动配置插件. 以maya 2015为例,它的openCollada插件请点击如下图所示的地方寻找. 这里边提供了非常多的版本,找到对应的x86/x64版本下…
第64招 置换新意 Displacement(置换)和Bump(凹凸)效果类似,但运行方式不同.将一个File结点用中间拖动到材质上有的shading Group属性中的置换属性上,这个时候可以看到outAlpha和Displacement Mat连接起来了,然后可以执行Modify|Convert|Displacement to polygons,进行预览.但是在最后渲染的时候一定要把它删除. 对于Displacement,我们可以选择应用置换的物体,然后在属性编辑窗里打开Displaceme…
第41招 捕捉和旋转 从MAYA5开始,双击工具箱中的移动缩放旋转工具,马上就可以调出工具属性栏.以旋转为例,将Snap Rotate勾选,并设置Step Size数值,就可以旋转特定的数值了 第42招 解决Far Clip Plane惹的祸 一般我们做比较大的场景的时候,场景中的很多部分看不到,表现在最近和最远距离有局限,这个时候我们可以调出摄像机的属性,减小和加大最近和最远的数值就可以了 第43招 自制MEL图标 这是为42招的一个扩展的MEL命令为例,是对四个视图同时增加了最远值,具体方式…
第21招 将Outliner分成两个 在该视图中如果元素很多的时候,会觉得Outliner不够用,这个时候拖动下侧的底框,就可以分成两栏,这样选择就省事多了. 第22招 运用选择区域,快速选择物体 在渲染工具按钮后有个选择框,输入相应名称和统配符*可以迅速找到匹配的物体.例如ikHandle* 第23招 在Outliner中快速选择物体 方法同上,区别仅仅是在该列表框中而已 第24招 userPrefs.mel与MAYA运行速度 MAYA软件应该是很稳定的,如果出现速度很慢,无故退出,交互很慢等…
第一招 自制MAYA启动界面 在安装目录下的BIN文件夹中的MayaRes.dll文件,用Resource Hacker打开.在软件的目录树中找到“位图”下的MAYASTARTUPIMAGE.XPM并保存.图片分辨率要一致,然后选择替换位图,把自己修改的图片替换保存,即可 第二招 控制热盒的显示 MAYA中的热盒可以按着空格键不放,就可以显示出来.并且按下鼠标左键选择Hotbox Style中的Zones Only可以不让热盒弹出.如果选择Center Zone Only可以连AW的字样也不会出…
随身携带自己的maya习惯我们在一台电脑上设置好自己的使用习惯,包括自己定义的快捷键.标记菜单.界面颜色.工具架等信息,当换到另一个工作环境时再进行设置十分不便利,将自己的习惯随身带走有利于我们更快捷的投入到新的工作环境当中.在:C:\Documents and Settings\administrator\My Documents\Maya\prefs下有一些文件,这些文件包含了我们习惯的工作设定信息.把它们拷贝下来吧. 定制鼠标单击的有效区域有时候我们会发现在Maya 中选择很细小的物体或者…
绘制曲线时的点的控制 当我们在使用CV Curve Tool或者EP Curve Tool创建NURBS曲线的过程中,按下"Insert"键,配合键盘上的上.下箭头方向键,可以自由穿梭于各个EP或者CV之间,并任意地调整各个EP或者CV的位置.当再次按下"Insert"键,可以继续CV Curve Tool或者EP Curve Tool的操作,或者闭合曲线创建.很快捷的编辑你所创建的曲线. 用shift画直线 在maya中创建水平或者竖直线段时,除了使用网格捕捉并将…
Maya 常用环境变量详解 前言: Maya 的环境变量让用户可以很方便的自定义 Maya 的功能. 在 Maya 的 Help 帮助文档中有专门的一个章节< Environment Variables >描述 Maya 的各种环境变量,在这里只记录和讲解常用的变量. 讲解的设置都是基于 windows7 - 10 系统. 注意:maya 的很多环境变量是需要在启动 maya 前就设置好的,所以如果你想在 userSetup.py 中设置,可能会不生效 Mel 中获取 getenv 和设置 p…
Maya中输出alembic文件是有现成api调用的,与maya中大部分api一样,这个功能参数的传入是非常类似mel的,本质上讲都是kwargs类型的参数,所以我们传入的参数就需要整理成类似于mel的命令行形式. 首先我们来看mel中如何导出ablembic文件,mel命令格式为: AbcExport -j "-frameRange 1001 1148 -uvWrite -worldSpace -root |trk_track|trk_mesh|trk_ground -file D:/abc.…
该脚本用于将图1中的命名变更为图2中的,把maya中使用相同名称的物体都重命名为不同的名称. 重命名的规则是:组名_原名称_序号 查阅了maya的官方手册:http://download.autodesk.com/global/docs/maya2012/zh_cn/index.html 可以用下述方式在脚本编辑器里查看命令的使用方法: help ls; 用maya自带的脚本编辑器编辑mel脚本,贴上脚本代码: string $ls_names[] = `ls -tr`; //得到大纲视图下的物…
操作流程: 1. VS运行代码,生成插件 2. 打开Maya绘制曲线,加载插件 3. 选中绘制的曲线,运行插件 Posts1.0 代码: #include <maya/MSimple.h> #include <maya/MGlobal.h> #include <maya/MFnPlugin.h> #include <maya/MPxCommand.h> #include <maya/MSelectionList.h> #include <m…
Maya2018 + VS2017 环境搭建见 博客 1. 项目: VS 新建了一个 MEL Command类型的项目(MayaProject) 2. HelloWorld代码 #include<maya/MSimple.h> // Use helper macro to register a command with Maya. It creates and // registers a command that does not support undo or redo. The // c…