首页 > 解决方案 > 如何在 Maya 的 MEL 中获取拖放文件的路径

问题描述

将 Maya MEL 文件拖放到 Maya 中,然后执行 MEL 文件的内容。拖放时有没有办法获取文件的绝对路径?

标签: mayamel

解决方案


希望这可以让你开始

测试.mel

global proc FindMe() {}

print("whatIs result -> " + `whatIs "FindMe"`);

将文件拖放到 Maya 中会产生以下输出:

> source "C:/Users/itypewithmyhands/Desktop/test.mel";
> whatIs result -> Mel procedure found in: C:/Users/itypewithmyhands/Desktop/test.mel

需要注意的有趣点:

  1. 拖放似乎只是产生一个source <file>语句,这意味着你必须做一些我不知道的内部魔法才能知道文件是否真的被删除了,或者只是来源
  2. 您搜索的proc必须标记为全局

您需要对whatIs命令的结果进行正则表达式(或类似的)以获得您所追求的路径。类似的东西.*found in: (.+?\.mel)似乎工作得很好。例子


推荐阅读