Custom Marking Menu

Most of the time, I use shortcuts / shelf buttons in Maya to speed things up. Today I went through the tutorial CGCircuit – Rigging Productivity Boost by Carlo Sansonetti. The videos are straightforward. One thing I don’t like is that the setup involves too many manual clicks and depends on Maya’s UI.

I found a post in BindPose which suggests a cleaner way: popupMenu. I think the idea is brilliant and credit goes to Vasil Shotarov. Now I have fewer buttons in my shelf and one more simple way to make life easier in Maya !!!


Disassemble and Rebuild

Giant Man, ProRigs.com

There’s always a lot to learn in other’s rigs. The characters by ProRigs are affordable and the models are nice. The arrangement of attributes is clear and the ribbon setup is well designed.

I would subscribe later for further study since my current month’s subscription is about to end. Time to jump back to previously unfinished tutorials for a clearer picture of rigging a complete character.


Python @property

While learning thru advanced tutorials, it’s time to consolidate some basic concepts in Python. The explanation about property at https://www.programiz.com/python-programming/property is very clear. I’m writing an example below to remind myself of the private variable _cm being a convention only. Name like temp_cm works too.

Also cm is no longer a normal instance variable when property decorator is used. The design of adding @property allows backward compatible to keep codes unchanged!

class Unit:
    def __init__(self, cm=0):
        self.cm = cm

    def toInch(self):
        return self.cm * 0.3937

    # @property
    # def cm(self):
    #     return self.temp_cm
    #
    # @cm.setter
    # def cm(self, v):
    #     self.temp_cm = v

unit = Unit(cm=100)
print(unit.__dict__)

# {'cm': 100}        Without getter setter. The old way.
# {'temp_cm': 100}   With getter setter. The code still runs. It's backward compatible !

Time to Un-learn

Regaining my time, there are long-awaited things I’m going to learn.

Having built several applications with python, I still don’t think I know python well. At the moment I would recommend the course Python for Maya: Beginner to Advanced Rigging Automation by Nick Hughes to beginners. I’ve just skimmed through about 40% of the course. The demo was done in Maya and explanation is thorough. The early parts are mostly basic but I start to find sth useful for better coding. In the past I would write

def f(nameList):
    for name in nameList:
        mc.polyCube(n=name)

f(['a','b'])

Now I could skip the for loop with map function

def f(name):
    mc.polyCube(n=name)
    
list(map(f,['a','b']))

Another one I’d like to share is The Gnomon Workshop – Automating Animation & Game-Ready Rigs by Nick Miller. It’s more advanced and I did fasten my seat belt to learn from him. He is undoubtedly an expert and made things “easy”. The videos are done so next is to study his codes and thought in OOP way.


Finally

Catching Covid finally after it’s been prevailing in Hong Kong for that long. Right now I’m quarantined in an interesting government facility and will be released soon hopefully.

At work there are some studies to be done to make use of Metahuman‘s setup somehow. It seems problematic when applying on tiny characters and faces with entirely different proportion. Anyway sharing of similar technologies is truly welcome. More artists could make better work by standing on the shoulder of the giant.


Survive

It has been a challenging time. Mask is becoming part of daily clothing. Performing arts & filming industry are greatly affected worldwide. Everyone’s life matters. I hope you are all well, safe and healthy.

These years Blender and UE4 have larger and larger user base. They are FREE but evolving much faster than the white elephants. So the time for lifelong learning again.

Recently I’ve been spending more time in practising English. Hopefully a breakthrough will come along.

Good luck and hang on !


Another Year

Oooops, it’s been a year since the last post.

I’m still working on facial stuff. Just that it’s involving facial scan and capture this time. Actually my Pinterest is updated quite frequently, as my personal reference source.

https://www.pinterest.com/chiNicky/3d-face/

Time to work again. Happy facial rigging ~


Cloudy Saturday

Oh yes I’m here. It’s been a while not having posts here. Life is like repeating itself when writing various tools for 3ds max. Maxscript has “interesting” design which take me longer to make usable things.

I picked up simple TCL and python for building tools in nuke & nuke studio. TCL is a terrible language to me at the beginning. I wish I was a hard-core programmers then I might get it to work quicker. Inserting and reading custom metadata in DPX is another “old” problem I’m about to tackle finally in the last few weeks.

And it’s embarrassing to tell that I’m learning to use git for my codes recently, before they got messed up too much. http://www.gitlab.com seems like a popular choice.

Sound boring. Hopefully got some visual stuff to share later.


Programming again

Picking up python, qt, maxscript, 3dsmax, and shotgun for the new job. The “Tab” for python is quite annoying to me as a beginner. Seeing lot of new stuff but not much to share yet.

Here is a great link about some nice maya rigs available: http://www.nelsonhurst.com/844/top-character-rigs-for-may-free-and-premium/.


Soft IK and more

Packing up some maya stuff I done in the past few months and learning 3dsMax for the coming new job.

The soft IK feature is one of many rig features I wanna to implement many years ago. It’s like all other features, not super hard and you could get it once you’re willing to dedicate to figure out what the hell the logic is. I wonder that my method may not be the best and there must be some simpler one . . . https://vimeo.com/168185968

Recently I would recommend the 8 classes of Cartoony Facial Setup by Puppeteer Lounge. They show the use of wire deformer effectively which works well for general cartoony face. For very stylized or detailed cartoony face I might stick with the general joint based method.

And I found an informative post about some recent rigging techniques !
http://www.olivier-ladeuix.com/blog/2016/01/03/so-you-want-to-be-a-rigger-huh-version02/