download from http://boscripts.blogspot.com/2009/09/notepad-mel-language.html
unzip it
there has three files.
After I tried couple times we only need this file : " userDefineLang.xml"
selecting View->User Define Dialog
press import select " userDefineLang.xml"
reOpen Notepad++
you should find Mel in the very bottom of Language list.
if you want know more about User Defined Languages
go to help contents (Shift+F1)
Languages/User Defined Languages
I have been a 3D animator in game industry for over a decade. I also interested in script and love to solving problems. Now I am learning how to write plugin.
Wednesday, 30 May 2012
Friday, 25 May 2012
Facial stabilization in MoBu(Motionbuilder)
Usually, the face data that I got, has been cleaned and stabilized in vicon blade.
But this time I got a cleaned but not stabilized face data.
I have no idea how to do the cleaned and stabilized job in a proper way.
maybe this http://www.studiodaily.com/2008/12/set-up-a-facial-retarget-in-dcg-facepro/
Finally I figure out a way which works well in MotionBuilder.
Let's see the final result.
The idea is using Rigid Body constrain to get the mainly translation and rotation data to a copy root.
Then clean all the trans info of the root.
Constraints
Rigid BodyRelation
Object
marker data
face bone
stabilized rig(copy from maker data)
mocap system : vicon
software : motionbuilder
Make sure the data is facing Z axis in Mobu.

Pickup the stabilized markers which don't affect by face muscle.
For example: The top of head markers, tip of noes etc...
Drag them onto source of Rigid Body Constrain.
Duplicate marker data. And make them different color, so we could see what's different. (optional : make a new Maker/Null as root for copy one)
Set the "Copy:FaceMocap" as Constrained object.
Drag FaceMocap markers, except stabilize ones, onto relation plan as senders. Drag copy one onto relation plan as receivers.
Now connect marker's translation to copy's. And iterate this step to the last one.
Well.. This is kind boring job but just for the first time setup.
(I wrote a simple python script to handle this boring job. Read and download from Here!)
Okay, we have everything setup.
playback they all move in same motion( of cause we duplicated them and use reation)
click Snap on the Right body. playback again the null start moving but not in the center.
Find a facing straight neutral pose then click Zero button.
Right now the null should in the center of the face marker.
Final step:
Select copy markers and do plot.
Deactivate all constrains
Select copy null and clear it trans info
I've seem a lot people are interested in this article. Sorry for my bad skill of English writing. If you have any questions. Feel free to send me messages.
Saturday, 19 May 2012
Eyeball constrain 眼球運動設定
I made a quick sample to show how eyelid follow eyeball's movement.
Skeleton骨架
Head - EyeBall (0,0,0)
Head -UpperLid_Aim (0,0,0)- UpperLid_Ctrl (0,0,0)-UpperLid_end (0,0,x.x)
Head - BottomLid_Aim (0,0,0)-BottomLid_Ctrl (0,0,0)-BottomLid_end (0,0,x.x)
Head - HeadEnd #This is for ObjectUp of Aim Constrain
1. All bones are Y axis up.
2. Skin my creepy eye model.

3. Setup Controller in maya or mobu.
Controller(Mark) Group( Null)
Eye_GP-Ctrl_Eye- UpperLid_GP- Ctrl_UpperLid
Eye_GP-Ctrl_Eye- BottomLid_GP- Ctrl_BottomLid
4. Add 3 Aim and one Relation constrains

EyeLip follow Eye movement Setting眼皮跟著眼球運動
Constrains
Aim_EyeBall [EyeBall / Ctrl_Eye] Object up #控制眼球Aim_UpperLid [UpperLid _Aim/ Ctrl_Eye ] weight 50~30 ; Object up#跟隨眼球
Aim_BottomLid [BottomLid_Aim / Ctrl_Eye ] weight 50~30 ; Object up#跟隨眼球
ObjectUp[HeadEnd]
Relation_EyeLid # 控制眼皮上下左右
[Ctrl_UpperLid:ty / UpperLid_Ctrl :rx]
[Ctrl_UpperLid:rz / UpperLid_Ctrl :rz]
[Ctrl_BottomLid:ty / BottomLid_Ctrl:rx]
[Ctrl_BottomLid:rz / BottomLid_Ctrl:rz]
#important that the nodes should in local mode, and the Number for Multiply is depend on the envirment size.
Thursday, 3 May 2012
mobuBoneCreator mel script
The basic function of creating joints base on MotionBuilder order is completed.
How to use??
maybe I should record a demo video, if I have time.
How to use??
First :
source "oOmobuBoneCreator.mel";
source "oOmobuBoneCreator.mel";
run oOmobuBoneCreator() without select any object, it will creat temp locators named for MotionBuilder.
place locators to fit your model.
For the locators of finger, please using duplicate 3 times. then parent them.
Notice1: Once you add new locators please add a prefix name "P_". and re-parent it.
Second:
To create all joint by selecting all the roots of locator and run the script again.
it will automatically create joint base on locator and do mirror.
if you just want create a row then just select one root of locator.
Notice1: Right now this script only support a straight hierarchy or single joint. it is not support a hierarchy has branch.
maybe I should record a demo video, if I have time.
Download "oOmobuBoneCreator.mel."
Thursday, 12 April 2012
FPS第一人稱設影機
前幾週終於有機會"間接"參予使用Virtual cam的專案,又看到另一個同事拿著Iphone控制UDK裡的攝影機,再加上另一個實驗中的專案,也看到有人寫出用Iphone控制MotionBuilder裡的攝影機,實在覺得太酷了。上網查找了一些資料,有個App可以控制Maya裡的攝影機。
http://the3dninja.com/blog/?page_id=1235
自己也想過用Mobur的constrians與Device來達到控制攝機移動,不過能力未及,達到的效果不是很理想。但有另外查到一篇文章
http://gware.blogspot.com/2010/03/fps-camera-in-motion-builder-using.html
裡頭也提及了“pull”解決數值無法累計的問題。但在mobu的Samples\01_MBTools\02_RelationConstraints\Relation_Pong.fbx裡,是有用另一種簡單的方式達成
目前已能利用鍵盤控制攝影機的左右前後跟上下移動,用滑鼠控制目標點,接下來是軸向問題,可是程度不足,還看不懂別人的文章,也還沒想到自己的解決方式。
Devices中還有個SpaceBall,也許也能拿來控制攝影機,但手上沒硬體。
http://the3dninja.com/blog/?page_id=1235
自己也想過用Mobur的constrians與Device來達到控制攝機移動,不過能力未及,達到的效果不是很理想。但有另外查到一篇文章
http://gware.blogspot.com/2010/03/fps-camera-in-motion-builder-using.html
裡頭也提及了“pull”解決數值無法累計的問題。但在mobu的Samples\01_MBTools\02_RelationConstraints\Relation_Pong.fbx裡,是有用另一種簡單的方式達成
目前已能利用鍵盤控制攝影機的左右前後跟上下移動,用滑鼠控制目標點,接下來是軸向問題,可是程度不足,還看不懂別人的文章,也還沒想到自己的解決方式。
Devices中還有個SpaceBall,也許也能拿來控制攝影機,但手上沒硬體。
Friday, 6 April 2012
Class 5: Character Performance
Term 5The class is getting hard! But I can make it!
This time student need to find out an audio clip for assignment.
Teacher gave us three links below:
www.dailywav.com
www.wavcentral.com
www.wavsource.com
The timing of the audio needs between 10~15s
I found those might work.
==========Here comes more audios after I saw the female model===========
"Unfortunately, no one can be told what the Matrix is. You have to see it for yourself." [Laurence Fishburne (Morpheus) from Matrix, The]
http://www.dailywav.com/0102/cantbetold.wav
"Don't you ever use that tone of voice with me, missy. Who do you think you're talking to?" [Faye Dunaway (Joan Crawford) from Mommie Dearest]
http://www.dailywav.com/0304/thattone.wav
"You must choose, but choose wisely. Whereas the true Grail will bring you life, the false Grail will take it from you." [Robert Eddison (Grail Knight) from Indiana Jones and the Last Crusade]
http://www.dailywav.com/0804/youmustchoose1.wav
"Honey, everyone has bad dreams. It's the times we live in, it's hard to be happy. It's hard to feel safe." [Adrienne Barbeau (Ruthie) from Carnivàle]
http://www.dailywav.com/0105/baddreams.wav
"I sit in the subway sometimes, on buses, or the movies, and I look at the people next to me and I think… 'What would you say if I told you I was a witch?'" [Elsa Lanchester (Aunt Queenie Holroyd) from Bell Book And Candle]
http://www.dailywav.com/1006/whatwouldUwitch.wav
This time student need to find out an audio clip for assignment.
Teacher gave us three links below:
www.dailywav.com
www.wavcentral.com
www.wavsource.com
The timing of the audio needs between 10~15s
I found those might work.
"What have you done? Nothing! Nothing except read comic books! You also lose our jobs on account of comic books! You keep me awake every night with your bad dreams on account of comic books!" [Dean Martin (Rick Todd) from Artists And Models]
"Why are we all forced to go to work at the same time? Who arbitrarily decided that 8:00 a.m. was a good time for everyone to go to work?"[Daniel Stern (Dilbert) from Dilbert]
"Badges? We ain't got no badges. We don't need no badges. I don't have to show you any stinkin' badges!" [Alfonso Bedoya from Treasure of the Sierra Madre]
"I deal with the god-damned customers so the engineers don't have to! I have people skills! I am good at dealing with people! Can't you understand that? What the hell is wrong with you people?" [Richard Riehle (Tom Smykowski) from Office Space]
==========Here comes more audios after I saw the female model===========
"Unfortunately, no one can be told what the Matrix is. You have to see it for yourself." [Laurence Fishburne (Morpheus) from Matrix, The]
http://www.dailywav.com/0102/cantbetold.wav
"Don't you ever use that tone of voice with me, missy. Who do you think you're talking to?" [Faye Dunaway (Joan Crawford) from Mommie Dearest]
http://www.dailywav.com/0304/thattone.wav
"You must choose, but choose wisely. Whereas the true Grail will bring you life, the false Grail will take it from you." [Robert Eddison (Grail Knight) from Indiana Jones and the Last Crusade]
http://www.dailywav.com/0804/youmustchoose1.wav
"Honey, everyone has bad dreams. It's the times we live in, it's hard to be happy. It's hard to feel safe." [Adrienne Barbeau (Ruthie) from Carnivàle]
http://www.dailywav.com/0105/baddreams.wav
"I sit in the subway sometimes, on buses, or the movies, and I look at the people next to me and I think… 'What would you say if I told you I was a witch?'" [Elsa Lanchester (Aunt Queenie Holroyd) from Bell Book And Candle]
http://www.dailywav.com/1006/whatwouldUwitch.wav
Subscribe to:
Posts (Atom)





