• 基于Python的Maya插件开发


    开发Maya插件,有两种执行脚本的方法:

    (1)直接在 Maya的脚本编辑器,直接写代码或者加载代码并运行,缺点是没有自动提示;

    (2)基于 PyCharm 进行编码,然后通过 MayaCharm 在 Maya 中执行代码;


    第一种方法,直接执行



    第二种方法,借助 MayaCharm 插件

    (1)下载并安装PyCharm

    下载地址:https://www.jetbrains.com/pycharm/download/#section=windows

    文本使用的版本:PyCharm Community Edition 2021.3.2


    (2)为Maya安装devkit

    下载页面:https://www.autodesk.com/developer-network/platform-technologies/maya,网页向下拉,找到自己Maya的版本并下载指定的 DevKit

    文本使用的版本:Maya 2018,对应下载的是 Maya 2018 Update 7 win64 DevKit


    将下载的 zip 文件中的 devkit 目录下的文件,全部复制到 Maya安装路径的 devkit 目录(目录默认为空,上面截图是因为已经复制过文件了)


    (3)为PyCharm安装 MayaCharm 插件

    根据提示,我们找到 Maya 的 userSetup.py 文件,将下面代码复制进去。(本示例中用 Everythins 搜索该文件)

    image

    重新启动 Maya,可以在输出窗口看到上述的打印日志

    image


    (4)配置Python 解释器,添加 Maya 的 devkit 扩展包进去,这个写代码时就能有自动提示了

    image

    image

    image

    (5)编码环境测试

    image image

    在场景中创建10个立方体,按 alt + A 运行代码

    image


    至此,开发环境已经全部搭建完成了,剩下就是按自己实际的需求开发工具了


    本文参考链接:

    (1)Python编写Maya插件,从0到1

    (2)PyCharm关联Maya

    (3)https://help.autodesk.com/view/MAYAUL/2018/CHS/?guid=GUID-55B63946-CDC9-42E5-9B6E-45EE45CFC7FC




    =======================================

    代码是写完了,也调试OK了,如果快速在项目各个美术的电脑上安装好呢?我通过查资料和自己本地模拟测试,最终形成如下思路:

    (1)先创建一个自定义的“工具选项卡”

    假设以 Meteoric 为例,那么对应的就是 shelf_Meteoric.mel 文件,通过 Everythins 可以找到对应的存放路径为:C:\Users\你电脑的用户名\Documents\maya\2018\zh_CN\prefs\shelves


    (2)编写脚本,通过脚本编辑器的“将脚本保存至工具架”

    image

    image

    图标、tips啥的自己可以修改然后更新一下。提供一个“检查更新”的功能,就是请求一个 url 获取版本号,然后对比看有没有最新的,另外一种方法就是由上而下广播通知大家更新插件;


    (3)缩写一个 exe 程序,一键安装插件

    其实就是双击后,可以将包含在exe中的 shelf_Meteoric.mel 资源,复制到用户本地的 shelves 目录(这里测试的路径是 C:\Users\你电脑的用户名\Documents\maya\2018\zh_CN\prefs\shelves)



    双击自动 copy 文件的应用程序,我没有写,只是理论上觉得可行。用什么语言写,我觉得 C++、C#都可以,当然你用其它脚本也是木有问题的。

    查询目录有很多种方法,比如遍历注册表,然后选Maya版本,再找到指定的 shelves 目录


    祝大家都能顺利完成Maya的插件开发 Smile

  • 相关阅读:
    js操作cookies
    努力挣钱只是不希望我的爱情受到别人金钱的考验罢了
    ASP 删除字符串开始或/和末尾处指定字符(串)
    lhgdialog 窗体之间的传值
    vs2010教程开始
    打开某些网页时IE弹出安全警告
    flex 版本问题
    【jQuery插件】用于瀑布式布局(砖块)的插件jquery Masonry
    自动根据动态的intput计算值
    js日期格式“补零”
  • 原文地址:https://www.cnblogs.com/meteoric_cry/p/15905357.html
Copyright © 2020-2023  润新知