Posted on Leave a comment

custom mesh controller rig maya C++ plugin

After the response to my recent demo reel, I’m excited to share what’s been going on behind the scenes — and to announce that I’ll be making this plugin publicly available by the end of the month.

The Idea

The concept is inspired by DreamWorks’ Premo rigging system — specifically the way controls sit flush on the character’s surface rather than floating around it as separate curve shapes. I first encountered this during my time at Oriental DreamWorks Shanghai, and it stuck with me. I’ve been working toward bringing that same idea to Maya ever since.

For those who missed the demo reel: instead of traditional curve controls, you interact directly with mesh-based controls that sit on the character’s surface. You hover, select, and manipulate them just like any other Maya control — but they read and feel like part of the character.

What to Expect

  • Works with any mesh geometry as the control shape
  • Live hover highlighting and selection in the Maya viewport
  • Full compatibility with Maya’s move, scale, and rotate manipulators
  • Designed for primary controls — face and other areas where surface-hugging controls make the most difference

Performance

On modern hardware the impact is minimal. The recommendation is to use mesh controls selectively for your main controls rather than replacing everything — and keep in mind that overlapping meshes can make hover selection ambiguous.

Coming Soon

Public release by end of this month. I’ll follow this up with a technical breakdown for anyone interested in the implementation details.

Posted on Leave a comment

maya screenshot pyqt截屏

流程中的截图功能是必不可少的,实现的方法也很多。但是原理都是将一个动态桌面生成静态页面,然后裁剪选择的区域.之前基于pyqt写过一个截图的功能。现在跟大家分享一下,你可以任意更改代码,也可以写个界面把截图功能嵌入进去,当然如果可以请保留作者的信息.请留意博客更新,会不定期分享更多的代码便于大家学习!
由于工作时间没时间更新代码,也没优化,把之前写的代码附上,运行以下代码需要事先安装好pyqt.如果没有安装可以试试从maya2014 以上的PySide里导入QtGui和QtCore,我没测试PySide,不过应该可以。如果有什么问题请留言。 Continue reading maya screenshot pyqt截屏

Posted on Leave a comment

Maya魔方绑定的原理 Rubik’sCube rigging

魔方的实现有很多种方法,但是实现的过程都大同小异。我采用的的表达式让时间帧来控制主程序,或者可以使用scriptJob直观的去控制旋转。魔方分别有右、左、前、后、上、下六个面,创建六个控制器并且标号(也可以用8个控制器,俩个中间的)以6个控制器为例:right - 0/left -1 /front -2 /back - 3/up -4/down - 5

一、控制器如何分别控制所对应区域的方块:所有的方块都被6个控制器父子约束,根据标号跟方块的位置参数做比较

二、如何得到旋转的控制器是哪个方向:

1、探测当前控制器在时间线上的度数,可以得到在旋转的方向的标记号

2、如果旋转度数等于0度或90度或者90度的倍数(包括负数) 返回 0

3、如果旋转度数不等于0度或90度或者90度的倍数(包括负数)返回 1

假如等到标记号是1,$index =1;

获取所有方块的$axis[$index]的位移值,如:block1.tx

核心原理如下: Continue reading Maya魔方绑定的原理 Rubik’sCube rigging