Picker工具整合

关于MG-Picker工作室版本控制的建议

  • 为什么需要版本控制 大公司往往有自己的软件包的打包及管理系统,及版本管理系统。他们需要在这些系统里作一些设置,以使用更新的Picker工具,或回卷使用旧的工具版本。

  • 面临的问题 目前在Maya 2017+的版本, MG-Picker工作室使用Maya的workspace control来实现随Maya加载自动加载。问题是,对于workspace control, 它是硬写一个固定的mel路径,加载这个路径的mel并呼叫相应的函数来加载界面。这意味着下次启动Maya,自动加载的工具(如果上次Maya你没有关闭picker窗口),仍是指向旧版本的,如果这时想要打开新版本的工具有可能会出错。

  • 如何解决 从MG-Picker工作室 v1.83开始,你可以设置一个环境: MGPICKER_PROGRAM_FILE_DIR ,将其值设为指向MGPicker_Program的目录,及picker工具的程序目录,这个目录下直接包含了叫MGPicker_WrittenByMiguel.mel的mel文件。MG-Picker工作室使用Maya的workspace control的ui脚本,就包含了这个环境变量的检测,如果环境变量被设置,则会调用环境变量里的mel。下面是设置环境变量的示例python代码(你可以用其它任意方式或语言来设置):

import os
os.environ["MGPICKER_PROGRAM_FILE_DIR"] = '/path/to/MGPicker_Program'

💡 对于Maya 2016或更早版本,这个功能不被支持,只有重新安装工具。

  • 实际用来启动工具的MEL代码:(Python代码类似)

string $mgpicker_programDir = `getenv "MGPICKER_PROGRAM_FILE_DIR"`;
if(`filetest -d $mgpicker_programDir`)
{
   eval ("source \""+$mgpicker_programDir+"/MGPicker_WrittenByMiguel.mel"+"\"");
}
else
{
   // Change the following path to the real path, this is a fallback path!
   eval ("source \"/thePathTo/MGPicker_Program/MGPicker_WrittenByMiguel.mel\"");
}
MG_PickerStudio 1;     // Use MG_PickerStudio 0 to launch in designer mode!

如何设置配置档根目录

从MG-Picker工作室 v1.83开始,你可以设置一个环境: MGPICKER_USER_CONFIG_DIR , 来决定MG-Picker工作室的配置档根目录在哪里。同时你也可以通过MGPicker_Program/ServerConfig/UserConfig_Position.txt这个文本设置文件进行设置,不过通过环境变量直接设置配置档根目录具有更高的优先级。

如何设置浮动授权连接器所在目录

从MG-Picker工作室 v1.83开始,你可以设置一个环境: MGPICKER_FLOAT_LIC_CONNECTOR_DIR , 来决定工具要从哪个目录里寻找MG-LicenceConnector,以便加载浮动授权连接器。