热门帖 精华帖 动画TD (一) --- 创建一个快捷选择控制器的脚本(属于自己的Pick面板)

复制帖子链接

发贴时间:2020-05-23 20:42 

来自版块:共享教程

人气9257 评论28 点赞35
教程语言:
中文(Chinese)
下载方式:
在线阅读


本帖最后由 XrTools 于 20-5-23 20:42 编辑

                 Hi~ 大家好, 之前就一直想写个关于脚本方面的教程,但是刚转游戏一直没有时间(主要还是懒) QQ图片20200523174651.jpg , 现在有点时间了  就随缘更新吧,


  •               首先, 说下我所认知的 《 动画TD 》
  •                          可能拆分开大家都可以看得懂, 动画 : 就是做动画嘛 动画师对吧~   ,TD 就是技术支持 写脚本插件,  一般稍微大点的公司,都会有TD这个职位来做技术支持。
  •                          所以 动画TD 就是 动画师来写脚本插件
  •                          可能这时候大家就有点懵逼了 ,  纳尼? 动画师写脚本插件???  没错~  就是你想的那样, 因为只有动画师才懂得自己需要什么,所以才会针对自己的需求,或者动画团队的需求去编写相应的脚本插件,来提升整体的制作效率,  emmmmm 相当于辅助~   没错 给队友加攻速 加 输出 。但是你还是动画师,所以 你就是既有 攻击 又有 辅助 的主C
  • QQ截图20200523180458.png




  •               这次直接教怎么编写一个快捷选择控制器的脚本, 也就是Pick面板,  大家平常在Maya选择控制器, 一般都要一个个去点,去加选, 就很费时间。 所以就有了pick面板这个东西就非常方便, 点一下就选择或者选择想要的那部分控制器,如下图最常用的这样子:


               


  •                     So~ 这次就教大家  写一个属于自己的这玩意~   QQ图片20200523180810.png



一:   创建窗口UI

  •               首先 打开Maya自带的代码编辑器,   你的Maya右下角 肯定都有个这个图标 单击打开它  如下图:
  • QQ截图20200523181354.png
  • QQ截图20200523181718.png
  •               上面是显示代码的区域    你在Maya里所有的操作 都会在这里以代码的形式显示出来。
  •               下面是编写代码的区域    后面编写代码都会在这里进行编写。
  •               咱们可以在这里先把窗口创建出来, 代码如下:
    1. window -t "Hello Xr" -wh 400 400 Xr_win;
    2. showWindow Xr_win;
    复制代码
    QQ截图20200523182421.png
  •               复制进去 然后按小键盘 就是数字键盘那里的回车键, 这样你就创建了一个 400 x 400 的窗口  窗口的标题为 Hello Xr
  •               window               窗口的意思 就是创建窗口的命令
  •               -t "Hello Xr"         -t  是个简写  全写是 -title 就是标题的英文   就是告诉Maya 这个窗口的标题 叫做 Hello Xr
  •               -wh 400 400        -wh 也是简写  全写是 -wide  -high  就是 宽 和 高 的意思   所以也很简单 就是告诉窗口  宽 和 高 是400 400
  •               Xr_win;               这个是给这个窗口起个名字  让Maya知道这个窗口叫啥 方便后面使用  最好养成习惯规范一点~   “ ; ”  这个分号一定不要忘掉 是告诉Maya这行代码结束了 要用分号。
  •               第二行 showWindow Xr_win;      showWindow 就是显示窗口的英文  前面只创建了 但是还要显示的,  但是显示谁呢? 所以 显示叫 Xr_win 的窗口 。  




  •               现在窗口有了  但是窗口里面什么都没有, 就像刚拿到手的毛坯房,啥玩意都没有简陋的很,  所以咱们还要给 “它” 装修一下。
    1. window -title "Hello Xr" -wh 400 400 Xr_win;
    2. columnLayout;
    3. showWindow Xr_win;
    复制代码

  •               在中间加一个 columnLayout;     布局 就是房子的格局 QQ图片20200523184506.png 你想要什么户型。就是改这个数值参数 有很多布局 里面还有参数 具体可以看下Maya帮助文档,这里我就用这个竖着排列的布局了。(在帮助文档搜索 Layout 前面几个都是布局命令 可以翻译看下 是不同的效果  帮助文档网站: https://download.autodesk.com/us/maya/2011help/Commands/
  •               然后布局有了, 咱们再给它添置些东西, 咱们要做选择面板 肯定要有按钮~ 所以咱们先给它添加3个按钮。
    1. window -title "Hello Xr" -wh 400 400 Xr_win;

    2. columnLayout;

    3. button -w 90 -h 30 -l "我是按钮1" -c "" Xr_Bt1;
    4. button -w 90 -h 30 -l "我是按钮2" -c "" Xr_Bt2;
    5. button -w 90 -h 30 -l "我是按钮3" -c "" Xr_Bt3;

    6. showWindow Xr_win;
    复制代码

  • QQ截图20200523190443.png
  •                button               就是创建按钮的命令  按钮的英文
  •                 -w 90 -h 30      上面有讲到 就是宽 和 高的意思   创建一个 宽为 90  高为 30 大小的按钮。
  •                 -l "我是按钮1"  全写为 -label "我是按钮1"  ,  告诉Maya这个按钮显示的文字是 我是按钮1
  •                 -c ""                全写为 -command ""  告诉按钮点击了 运行什么 具体运行什么后面在写~
  •                 Xr_Bt1;            跟窗口一样 给它起个名字 方便后面找它 QQ图片20200523190747.jpg


  •                 咱们既然要做pick面板 就给它稍微加一点点细节  这样可以看着清晰明了 QQ图片20200523192703.jpg
    1. if(`window -q -ex Xr_win`)
    2. {
    3. deleteUI Xr_win;
    4. };

    5. window -title "Xr Pick面板" Xr_win;

    6. columnLayout;

    7. button -w 250 -h 50 -l "头部"   -c "Xr_Tou"       Xr_Tou_Bt;
    8. button -w 250 -h 50 -l "身体"   -c "Xr_Shenti"    Xr_Shenti_Bt;
    9. button -w 250 -h 50 -l "左手臂" -c "Xr_Zuoshoubi" Xr_Zuoshoubi_Bt;
    10. button -w 250 -h 50 -l "右手臂" -c "Xr_Youshoubi" Xr_Youshoubi_Bt;
    11. button -w 250 -h 50 -l "左腿"   -c "Xr_Zuotui"    Xr_Zuotui_Bt;
    12. button -w 250 -h 50 -l "右腿"   -c "Xr_Youtui"    Xr_Youtui_Bt;

    13. showWindow Xr_win;
    14. window -e -wh 250 300 Xr_win;
    复制代码
    QQ截图20200523192730.png
  •                 这里小伙伴们可能发现多了一些和少了一些东西~  待我一一道来~

    1. if(`window -q -ex Xr_win`)        // 这里在前面加了个判断  主要是判断当前是不是已经打开了这个名字的窗口   如果打开了 就删掉这个窗口 然后运行后面在创建窗口
    2. {                                            // 不然在Maya里 会 报个错误 告诉你这个窗口不是一个  就是已经有了一个这个名字的窗口了  所以要关掉它 然后再打开
    3. deleteUI Xr_win;                     // window -q -ex Xr_win 这个就是获取当前窗口存不存在  存在会返回 1  不存在会返回 0
    4. };
    复制代码

  •                 然后 最后多了一行 和 创建窗口的那一行少了 宽和高
    1. window -e -wh 250 300 Xr_win;  // 这个主要是在结尾的时候告诉窗口 你的宽和高是多少,  不然会出现 你明明更改了宽和高, 但是显示的窗口还是以前的,
    复制代码

  •                 这样一来前期的窗口界面就编写完成了 ,大家可以根据自己来更改名称什么的。可以把窗口名称改成自己的。 QQ图片20200523193910.gif

二: 添加选择功能代码

  •                 前面写的只是界面,就是空架子,里面还没东西呢,按下按钮啥都没有,所以这次咱们就把想要的加进去,实现按一下按钮 就选择相应的控制器。
  •                 -c ""                全写为 -command ""  告诉按钮点击了 运行什么 具体运行什么后面在写~  小伙伴们还记得前面我说的这句话嘛~   现在就要用到了 ~  来 看图:
  • QQ截图20200523194406.png
    1. global proc Xr_Tou()                   // 这句话的意思 就是创建一个 全局的流程  这个流程的名字 Xr_Tou  就是 按钮头部 要运行的流程
    2. {                                              //  如果你界面写的是 button -w 250 -h 50 -l "头部"   -c "<font color="#ff0000">Xr_1</font>"       Xr_Tou_Bt;   那么 这里就要写 global proc <font color="#ff0000">Xr_1</font>()   懂了吧~
    3.    
    4. }
    复制代码

  •                 然后下面我们依次为这几个按钮创建一个全局流程:
  • QQ截图20200523195034.png
  •                 全局流程写完了 但是里面还是空的 所以下面就要在里面加入相应的选择代码了。
  •                 拿头部的按钮为例子:
    1. global proc Xr_Tou()
    2. {
    3.     //我是头部按钮 要运行的代码
    4.     select -r jill_ac_cn_head ;
    5. }
    复制代码
    QQ图片20200523195300.png
  •                 还记得我之前有说过 上面是显示代码的区域    你在Maya里所有的操作 都会在这里以代码的形式显示出来。这句话嘛~  
  •                 只要你手动去选择头部的控制器 上面就会出现选择的代码 , 所以 很简单啦~  直接复制进头部的流程就可以啦~
  •                 不过有一点要注意 Maya里面 选择第一个控制器的代码 中间是 -r  但是想要加选多个控制器 就要在后面的代码 改成 -tgl
  •                 (我一般都用 -add  具体区别 自己看下选择命令的文档: https://help.autodesk.com/cloudhelp/2019/ENU/Maya-Tech-Docs/Commands/select.html)
  •                 具体如下图:
  • QQ截图20200523200317.png
  •                 具体选择的代码 会有两种   框选的 和 按Shift加选的 , 个人推荐 加选的 看着整洁 后期如果修改控制器名称 方便。
  •                 不管选择哪种 都复制到下面头部的流程里 就好了 。然后小键盘回车运行。
  • Unbenannt.gif
  •                 具体添加哪些根据自己的Rig来 这样头部就完成了 ~  其他部位 都是一样的 依次添加 就可以了 。
  • Unbenannt1.gif
  •                 这样最简单的一个 Pick面板 就完成了 ~ 看下图保存成Mel   下次直接拖进Maya就可以使用了 ~
  • QQ截图20200523202223.png




                     OK   教程到此结束   自己可以增加更多的按钮, 比如:单个手指 全选所有手指这种, 然后就分享给小伙伴, 装个X~ QQ图片20200523203547.gif


                    至于下次啥时候更新, 不一定~  看啥时候在有空吧 。  下次应该会在这个基础美化界面,就像上面的pick那种,是人形的按钮还有背景图, 再加一些位移归零,旋转归零, 全部归零, 通用不同角色,这种实用的功能吧~   有啥不懂得 下面回复把 ~




QQ图片20200523174810.jpg

QQ图片20200523175626.gif

QQ截图20200523181619.png

QQ截图20200523195855.png

QQ截图20200523201912.png

QQ图片20200523202329.gif

QQ图片20200523202711.gif
达克打赏了 8 微豆 76 活力值 并说:厉害了,我的哥!
复制以下链接分享到 QQ群 QQ空间 贴吧 或其他CG网站上,每进来一个人你将获得: 2微豆
B Color Smilies

全部评论28

12下一页

楼主热帖

更多帖子


客服
快速回复 返回顶部 返回列表