在我2015年刚加入PIXOMONDO
北京的时候,那时候PXO
还是3ds Max
的流程, 里面有很多很棒的工具
其中就有个Carlos Anguiano
用Maxscript
写的SuperShelves
吸引到了我, 去年我机缘巧合加入了网易游戏这边大多以3ds Max
为主,想到未来需要帮美术们快速部署工具就索性花了几个小时借鉴了SuperShelves
的逻辑写了一个纯python
的版本出来,今天在这里就是向大家分享这个小工具,
如果你是TA/TD
需要在3ds Max
中快速部署你的小工具小脚本分享给项目组中的人使用这个十分方便了
3dsmax_shelves-0.3.0.mzp
然后拖拽mzp
文件到3dsmax
即可
拖拽安装
当前工具架支持maxscript
和python
这俩种工具的执行
每个工具的搜索规则是通过模糊查找$MAX_SHELVES_PATH\*\*\tool.json
文件去注册工具的
下面是一个tool.json
的示例
icon
是当前工具的图标, 可以支持相对路径和绝对路径
main
是当前工具需要执行的代码,可以支持相对路径和绝对路径
{
"icon": "icon.png",
"main": "main.ms",
"name": "maxscript tool"
}
{
"icon": "icon.jpg",
"main": "tool.py",
"name": "python tool"
}
工具架在启动的时候是会通过通过环境变量去搜索工具的。
个人用户可以在自己电脑中添加环境变量MAX_SHELVES_PATH
然后把你自己的工具路径指定到这个环境变量中
对于团队用户,如果你们有自己的3ds Max
启动器中动态添加MAX_SHELVES_PATH
然后把工具放到网络路径中这样就能方便美术们在通过你们自己的启动器启动3ds Max
的时候都可以读取到这些工具
最佳实践
比如我在网易游戏的时候,我给我们项目组部署的这个工具架的思路是通过Rez
包的方式去管理,然后把跟这个项目相关的工具全部做成一个Rez
的中心化包,这样的好处是可以根据不同的项目或者不同的部门去管理这些工具了
类似于下面
# package.py
name = "3dsmax_shelf_tools"
def commands():
env.MAX_SHELVES_PATH.append("{this.root}/scripts")
Rez
是的好东西,未来有时间我也可以向大家分享一些Rez的使用相关经验
Carlos Anguiano
的Facebook
和YouTube
欢迎大家去关注
https://www.facebook.com/carlos.anguiano.1614
https://www.youtube.com/channel/UCZVoe-HsWCEv6tZikacD9LA
Maxscript
的Facebook学习小组,是我在5-6年前创建的(我自己都差点忘了我原来还有一个这样的小组)现在已经自我发展到有2863
名成员了, 欢迎大家加入学习交流
https://www.facebook.com/groups/1562722000630457
3ds Max免费插件下载
https://www.maxplugins.de/