QQ聊天
摘要: 有些人希望类似同心圆的曲线可以作为一个物体,用这个可以达到效果,周末较忙,具体图示以后再做def GetShapes(inputNode): import maya.cmds as MayaCMD result = MayaCMD.listRelatives(inputNode, type='shape') return resultdef UniqueSelectionTransform(): import maya.cmds as MayaCMD selectionList = MayaCMD.ls(selection = True) selection... 阅读全文
posted @ 2011-08-27 15:04 SITT 阅读(563) 评论(0) 推荐(0) 编辑
摘要: Maya的Python竟然没有Mel中的source函数,就自己写了个。PythonSourceglobal proc PythonSource(string $inputFileName) { $fileId=fopen($inputFileName,"r"); string $fileDetails = ""; string $nextLine = ""; do { $nextLine = `fgetline $fileId`; $fileDetails += $nextLine; }while ( size( $n... 阅读全文
posted @ 2011-08-26 22:21 SITT 阅读(422) 评论(0) 推荐(0) 编辑
摘要: autodesk在Max2012SDK文档中否决了卸载插件这一行为,认为他不够安全,容易导致软件崩溃,确实,如果已经存在依赖关系,然后卸载了这个库,会导致问题。不过这里只是自娱自乐的探索:)。下面的代码是写了一个MaxScript的函数来实现卸载插件以及列出当前插件的文件名。需要说明一下的是14000 是定义在pluginapi.h中的一个宏MAX_RELEASE_R14 的值,也就是Max2012版本的版本号。MaxSDK卸载DLLdef_visible_primitive(UnLoadPlugin, "UnLoadPlugin");#if MAX_RELEASE < 阅读全文
posted @ 2011-08-24 17:34 SITT 阅读(694) 评论(0) 推荐(0) 编辑
摘要: 自max9出现了64位,同时微软舍弃了ActiveX控件,大部分ActiveX控件在64位的max下就没得用了。而微软之外的公司的ActiveX控件,也大多没有64位的,比如Flash,不过好在现在FlashPlayer11的64位版本出现了。于是,又可以在MaxScript里面使用Flash做界面了。64位的Max需要安装64位的FlashPlayerhttp://labs.adobe.com/downloads/flashplayer11.htmlFlash里面使用fscommand可以发送字符串给Max,fscommand有两个参数,会一起发送。这里提供一个范例,将两个文字输入框的内容发 阅读全文
posted @ 2011-08-23 12:24 SITT 阅读(1120) 评论(0) 推荐(0) 编辑
摘要: Max当中使用一些用到了ActiveX的脚本工具时会报错,信息大多为 Cannot create the ActiveX control : MSComctlLib...一般是下图这样的对话框.大部分原因是因为64位的max中一些控件被淘汰,换用32位的max即可。64位max下的脚本需要重写一部分。如果你是用的32位的max,请往下看。================无废话一二三步骤版========================下载http://files.cnblogs.com/sitt/MSCOMCTL.zip解压缩运行解出的regsvrOCX.bat,如果问题没有解决,重启计算机后 阅读全文
posted @ 2011-08-22 10:22 SITT 阅读(1118) 评论(0) 推荐(0) 编辑
摘要: 中午在一个qq群里看到有人问履带的做法,大部分方法都要用表达式之类的,于是就提出了个简单的做法,本来觉得这玩意太挫了,不适合发出来,不过将就一下吧无非是路径变形和表面约束max9文件下载 阅读全文
posted @ 2011-08-19 14:16 SITT 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 需要用到一个NGif的库,是国人编写的,不过到我写这个帖子的时候还不是以dll文件的方式提供,是给出的代码。这里我编译了一个dll.http://files.cnblogs.com/sitt/NGifDll.zip这个dll文件需要和脚本在同目录执行,脚本需要保存下,或者读者自己修改一下DotNet.LoadAssembly简单的生成Gif的MaxScript如下生成GiflocalPath = GetFilenamePath (GetSourceFileName())DotNet.LoadAssembly (localPath + "Ngif.dll")GifEncode 阅读全文
posted @ 2011-08-19 12:33 SITT 阅读(1384) 评论(0) 推荐(0) 编辑
摘要: Maya导出插件的开发一定程度上说比Max的导出要方便,自己可以少做很多事。这里说的是Python写的插件,基本可以适用于C++的。先了解一下maya的环境变量设置在我的文档下面的maya\玛雅版本\Maya.env;例如 C:\Users\SITT\Documents\maya\2011-x64\Maya.env这个文件可以用记事本打开,增加一行MAYA_PLUG_IN_PATH = 你自己的插件路径。例如:MAYA_PLUG_IN_PATH = d:\mayaPlugin\这样Maya就会将该路径加入到插件的目录当中。可以从该目录载入插件。然后很爽的一点是Maya的mel有卸载和载入插件的 阅读全文
posted @ 2011-08-18 03:03 SITT 阅读(1797) 评论(2) 推荐(0) 编辑
摘要: 之所以把这个单独写个帖子,是因为对很多美术、技术美术来说,这个东西还很神秘,OLE全称是“对象链接与嵌入Object Linking Embedded”,是基于COM的,COM的全称是“组件对象模型Component Objiect Module”。名字之类的简单介绍一下,只是方便读者搜索资料。可能接触MaxScript的对这个接触的会比较多,因为MaxScript有个createOLEObject,可以创建一个OLE对象,由此来调用Office、photoshop等软件来进行操作。相关内容可以看我这篇帖子http://www.cnblogs.com/sitt/archive/2011/06/ 阅读全文
posted @ 2011-08-13 01:22 SITT 阅读(966) 评论(0) 推荐(0) 编辑
摘要: MaxSDK中版本定义位于MaxSDK\Max9SDK\include\plugapi.h这个文件中的#define MAX_RELEASE主要用于对不同版本的判断,例如Max9之后的版本里,插件入口函数DllMain里用到的InitCustomControls这个函数就不起作用了,编译时会有警告提示(原因是之后的SDK里这个函数进行的初始化操作已经改为自动进行,无需手动调用了).一直到2012里,2012的SDK已经删掉了这个函数,然后如果依旧调用这个函数就无法完成编译了。为了一份代码可以同时编译数个版本,可以用如下方法。View Code BOOL WINAPI DllMain(HINST 阅读全文
posted @ 2011-07-22 07:04 SITT 阅读(771) 评论(3) 推荐(0) 编辑
QQ聊天