题记:
公司项目要求,做场景时候需要ass的代理,于是需要一个刷树的脚本。
思路:
网上其实有蛮多刷草刷树的工具,我也下载了一个,不过是mel写的。于是决定自己写一个。把这个问题分解开有以下几步:
1,让用户选择一个需要种的树的模型和地面模型。
2,用户在maya的3d视图中点击一下鼠标,复制一颗树。
3,将树移到鼠标点击的地面模型位置。
问题的关键:
1,如何在maya中实现鼠标点击的事件。
2,如何求视图中鼠标点击时候,与视图中的模型的交互位置
解决:
1,鼠标的点击事件。
我先查了maya api,在proxy模块里有MPxContext类,可以创建各种鼠标交互事件,不过很可惜的是,这个类不能在python中导入,如果有大神指导如何在python api中导入这个类,请赐教!
最后我在maya.cmds里找到的鼠标点击事件draggerContext,它支持鼠标点击,鼠标拖拽,鼠标施放以及鼠标点击之前的事件。并且可以获取点击时候鼠标在视窗中的2d位置