Showing posts with label 绑定. Show all posts
Showing posts with label 绑定. Show all posts
2009-04-06
Update Facial System 2.1
Facial System 2.1 UI was finished, inside code is soon to finish. This update redesigning button position and function, it's more suitable to rig cartoon character. The icon drawn by myself :)
2009-03-06
Victor 的来信 :-)
Victor 相信做绑定的朋友都知道,是很多朋友的目标,而且也是我的偶像。今天是发出我的演示的第三天,惊喜地收到了 Victor 的来信,而且对我的 riggin 技术给以肯定,着实让我激动了半天。从我学绑定没多长时间就看到了 Victor 的那套经典的绑定演示,这一直是我努力的方向和动力,那套演示不知道看了多少遍,为了能来回的实时反复看,我还给他转换成了mov格式,仔细推敲每一个细节,如果细心的朋友也会注意到,我原来做的那个足球穿的球鞋就是照着 Victor 演示最后面的足球球鞋做的,一模一样哦(山寨版地)哈。总之从 Victor 的作品里面学到了很多东西,从绑定和动画都分不开,到今天得到了本人的赞许,我都不知道该说什么好了,必须发帖子留个纪念。
路漫漫其修远兮,吾将上下而求索,继续努力吧!!!
路漫漫其修远兮,吾将上下而求索,继续努力吧!!!
2009-03-03
My latest rigging demo reel 2009
Kevin Zheng Character Rigging Demo from Animator.K on Vimeo.
这是我刚刚完成的绑定演示,距离上一个足球的演示差不多一年的时间了,这个演示基本上从我学绑定开始就在做了,期间改了无数次,从形象到绑定方法,技术上也比足球要成熟很多(所以把足球踩在脚下,哈)简单说一下这套绑定里面的特点吧:
1. Character GUI(角色控制面板)
2. fk/ik seamless switch(无缝 fk/ik 切换),匹配不同长度并且自动关键帧
3. fk/ik seamless follow (无缝 fk/ik 跟随),也叫做空间切换,手可以跟随不同控制器来移动
4. limb auto flex (四肢自动圆滑),可以把手臂或者腿部调节成圆滑的形状,很适合表现卡通的形象
5. limb ribbon (四肢ribbon),四肢的高级控制
6. heel control (脚跟控制),一个控制器控制脚部所有效果
7. finger control (手指控制),简便的手指驱动圆环,能调节手指的常用动作
8. connection with poseLib(与 poseLib 链接),能够调用 poseLib 制作的手部 pose
9. auto rig (自动绑定系统),这东西花了我最多时间,1万多行代码有时候看得我自己都晕,这套系统建立的绑定,都是跟 character GUI 想对应的,可以控制场景中的多个角色。
10. facial system mel(表情系统),这是我原来做的一套脚本,后来完善了一下,都集成到 auto rig 里面了
主要特点就这些了,具体的效果大家就看视频吧,希望大家喜欢!国内访问 vimeo 如果太慢的话就去 youtube 吧
2009-02-27
给学绑定 (rigging) 的同仁推荐几套教程
经常有朋友问我应该怎么学绑定,绑定这东西技术性很强,如果闭门造车的话几乎不太可能研究出好的效果,如果没有条件去大的培训机构,那就只能牺牲时间来自学(这也是我的方法,但我不觉得是最好的方法),如果选择了自学的话,那么好教程则是必备的,下面就给大家推荐几套我感觉不错的教程,这些都是我学过的,而且基本上都是组字组句的一步一步看的,这两年用到的技术方法基本都是这几套教程里面的,下面就开始推荐:
作者 Jason Schleifer ,参与过指环王和很多大项目的制作,制作经验极其丰富(他还是个热心人,我也有幸得到过他的帮助),这套教程也是maya官方网站推荐的 rigging 教程。教程由浅入深的详细讲解了绑定的流程、规则以及各种非常有用的绑定方法,可以说如果把这套教程吃透的话,绑定的骨骼部分你已经是高手了。
作者 Aaron Holly,他参与过鲨鱼黑帮、木乃伊、黑客帝国等影片,这套教程讲的是 Feature Animation (长篇动画)动画的绑定方法,电影级的绑定。操作方法和流程都非常正规,而且是step by step (一步一步)的方式讲解,给我们展示了高级绑定的制作方法,这套教程也是我正式开始学绑定的启蒙教程,从中学到了太多的东西,虽然里面有一些小错误,讲解的也不够全面(回头看的话),但是这绝对是一部经典教程,里面讲的蒙皮、变形的处理方法,很多一直用到现在。如果你想把自己的绑定提高到一个新的高度,这个教程值研究。
这套教程也很经典,里面讲了很多绑定的高级技术,还有非常多实用的工具脚本(非常非常实用哦),不过呢,缺点是并没有一步一步的从头到尾绑定一个角色,只是把一些重要的技术点拿出来了,但也都是前人的宝贵经验。你要想提高自己的绑定效率的话,这套是非看不可的。
这套也是官方推出的一个系列教程,作者是工作在 sony 和disney动画部的两位大师。和上一个一样,这里给我们带来了很多超级有用的工具脚本和流程概念,都是一线大制作公司的好东西。缺点呢也和上一个一样,讲的并不细致,不过相信如果能把钱两套教程研究透彻,弄明白这个不在话下。
这个不是视频教程啦,是一本书,不过呢也不能不说。作者是为资深的动画制作人,这本书可以说是表情制作超经典教科书。里面从人物头部模型的制作、到表情绑定、表情动画都很详细的讲解了。如果你想在表情上面有所建树的话,这本书一定要烂熟于心。我做表情的主体思路就是按照这本书里面讲的,可惜现在还没有中文版,鹰玩的不好的朋友就只能看图了(就是只看图也很爽地)
功夫熊猫有个 Furious Five,以上这五套教程就称作 Rigging Five 吧哈。这些教程说起来就这么几句就过去了,要真是想吃透学通,绝非一朝一夕。一般都要重复做几遍才能领悟到作者的用意,很多细节也才能注意到。原来跟朋友开玩笑说,看老外的教程就要像对 girl 一样,要细细的品才能领悟其中的奥妙哈哈。还有就是希望别让英文成为我们的门槛,这东西也不用学成多好,能看懂意思,能听懂个大概其就行。芦柴棒说过一句话,用一年时间来学英语要比用一年时间学技术对将来提高更有用,这点我也是深有体会,当初 maya就是看着帮助学的,起初费劲无比,但我就是不看中文书,硬是把他啃下来了,之后的这些英文资料、教程、国外的论坛就都不在话下了。费劲一时,受用一世。
希望这些东西对大家有用!
2009-02-21
Victor 的 non roll 设置场景

这个是经典的victor的那套绑定,好多朋友都是后来才看到这个作品的,里面有个亮点就是肩部的 non-roll 设置,手臂可以任意的旋转而不会影响到肩部短袖,抬起来手臂的时候短袖还会跟着走,很有意思的设置。刚发贴的时候就有n多朋友想知道这个是怎么做的,victor就发到网上了,好象是后来时间长了就不能下了(还好我先下了),现在还有很多朋友对这个感兴趣想研究一下,我在这放上来,这可是victor发的原始场景哦,喜欢的朋友不要错过!
2009-01-17
auto rig 系统
眨眼又是半个月了,就是一个快,最近写的 一个 auto rig 系统,就是一个骨骼的自动建立系统,可以把角色的骨骼,控制器,以及其他的很多功能都建立好,放两张图片来show一下。
过些天做个视频展示,这个展示可以一波三折,托了太久就了 :(
初始化角色骨骼部分

建好之后的样子,比手工rig快很多
2008-11-30
两年的绑定学习过程日志
这个是这两年来学绑定的日志,现在发出来算是个年终总结吧。日志是从去年10月份开始的,不过学习绑定早就开始了,只不过开始没有这个习惯呢。目的很明确,自己记性不好,有些原来解决过的问题后以后再遇到就忘了,写了这个就OK了,嘿嘿。回头看看也比较有成就感,每走一步的记录在案,看看自己的学习进程,从最开始不知道绑定动画应该是分开的专人负责(其实我原本是想学动画地
),到现在写自动绑定系统、表情系统,速度非常慢,进步也很慢,困难无奇数,但从来没动摇,市场不好我等,工资不高我认,我只相信实力,我用实力说话,或许我现在的能力还不够高,或许我的经验还不够多,只要坚持就有希望,只要不放弃就有机会,继续蛰伏,蓄势待发。我此生注定为动画而生,此生注定为动画而狂,不管前面是康庄大道还是荆棘密布,我要一如既往的继续走我的动画梦之路,谱写我的动画人生!
),到现在写自动绑定系统、表情系统,速度非常慢,进步也很慢,困难无奇数,但从来没动摇,市场不好我等,工资不高我认,我只相信实力,我用实力说话,或许我现在的能力还不够高,或许我的经验还不够多,只要坚持就有希望,只要不放弃就有机会,继续蛰伏,蓄势待发。我此生注定为动画而生,此生注定为动画而狂,不管前面是康庄大道还是荆棘密布,我要一如既往的继续走我的动画梦之路,谱写我的动画人生!
OOO*** 要先做水平的骨骼然后直接添加ik,才能保证添加ik的时候骨骼不旋转,然后再调整骨骼的位置和旋转
2007.10.3
可開關的拉伸彈性手臂ik完成
用两个condition和一个multiply节点完成对骨骼的缩放控制
??? IK/FK切換有問題,不能跟隨ik進行延長
@@@ 需要在drv的x scale上面添加condition控制他的縮放屬性,跟隨ik的時候由ik控制,跟隨fk的時候由fk控制縮放
@@@ 需要在drv的x scale上面添加condition控制他的縮放屬性,跟隨ik的時候由ik控制,跟隨fk的時候由fk控制縮放
jEdit調試好了,嘿嘿
2007.10.4
@@@ 右側手臂控制器可以實現跟骨胳一樣的對稱旋轉,身體其它部分的控制器都需要重新做,右腳ik control
@@@ 右側手臂控制器可以實現跟骨胳一樣的對稱旋轉,身體其它部分的控制器都需要重新做,右腳ik control
@@@ Arm's ik/fk switch and stretchy are finish.
@@@ Arm ik/fk mel switch finish,互相隱藏其他類型的控制器
2007.10.5
@@@ make spine ribbon skeleton
2007.10.6
@@@ finish ik fk spine. first add parent constrain, and then createNode md, make new group x and z axis is negative
@@@ make spine ribbon skeleton
2007.10.6
@@@ finish ik fk spine. first add parent constrain, and then createNode md, make new group x and z axis is negative
2007.10.7
@@@ 優化了mySelectMM.mel,只是用一個快捷鍵就可以完成兩個MM,使用鼠標左右鍵來切換同一個物體的不同MM
2007.10.9
OOO make foot skeleton
OOO drv scaleX follow ik/fk
OOO make foot skeleton
OOO drv scaleX follow ik/fk
2007.10.10
OOO inverse foot skeleton
OOO inverse foot skeleton
OOO start make leg ik/fk switch and stretchy
2007.10.11
2007.10.11
===========================
*** Mirror Control:
1) 複製控制器的所在組,然後繼續成組,把新組的X軸設置為-1
2) Unparent new group,here original group scale Z is -1, and then Freeze it, change to positive 1.
3) X axis rotate 原来的值 + 180 degree,Y axis is negative of original.
4) and then adjust curve control CVs,relative scale x = -1 y = -1.
===========================
*** Mirror Control:
1) 複製控制器的所在組,然後繼續成組,把新組的X軸設置為-1
2) Unparent new group,here original group scale Z is -1, and then Freeze it, change to positive 1.
3) X axis rotate 原来的值 + 180 degree,Y axis is negative of original.
4) and then adjust curve control CVs,relative scale x = -1 y = -1.
===========================
OOO set up right leg drv's bone scale follow ik or fk.
OOO finish leg ribbon setup
@@@ 在設置腳部旋轉的時候,要跟隨fk/ik旋轉,複製兩個inverseFoot_con
成爲fk/ik控制器的子物體,用這兩個骨骼來orient inverseFoot_con
OOO finish leg ribbon setup
@@@ 在設置腳部旋轉的時候,要跟隨fk/ik旋轉,複製兩個inverseFoot_con
成爲fk/ik控制器的子物體,用這兩個骨骼來orient inverseFoot_con
OOO hands and foots fk/ik orient finish
SSS setup foot control.
SSS setup foot control.
2007.10.13
??? 反轉腳于腳部的ik控制器有衝突
@@@ 腳部bone全部完成,並完成foot 與ik/fk變換跟隨
??? 反轉腳于腳部的ik控制器有衝突
@@@ 腳部bone全部完成,並完成foot 與ik/fk變換跟隨
2007.10.14
@@@ 開始設置ik/fk自動捕捉匹配
OOO objExists 可以判斷場景中是否存在某個物體的名稱
2007.10.15
OOO 解決ik switch to fk問題 使用一個locator成爲l_arm01_fk的子物體,然後
l_armPoleVec01_ctl捕捉到上面就可以了
2007.10.16
@@@ 繼續完善fk/ik auto snap mel
OOO 基本完成L arm fk/ik auto snap 還差ik scale有點問題
??? iK拉長以後,再切換回fk還有點問題
OOO 全部完成左右手臂的 arm fk/ik auto snap 歐也!!!
OOO 解決ik switch to fk問題 使用一個locator成爲l_arm01_fk的子物體,然後
l_armPoleVec01_ctl捕捉到上面就可以了
2007.10.16
@@@ 繼續完善fk/ik auto snap mel
OOO 基本完成L arm fk/ik auto snap 還差ik scale有點問題
??? iK拉長以後,再切換回fk還有點問題
OOO 全部完成左右手臂的 arm fk/ik auto snap 歐也!!!
2007.10.17
OOO 繼續完成其他部位的 ik/fk auto snap
OOO 繼續完成其他部位的 ik/fk auto snap
2007.10.18
OOO 右侧手臂骨骼的 transformX 為負數, fk to ik mode 要注意,把長度數值變爲負數
OOO 左右手臂的fk/ik auto snap全部完成 歐也!
OOo 右臂drv skeleton ScaleX Ik mode 要跟每段的fk/ik骨骼相匹配
OOO 右侧手臂骨骼的 transformX 為負數, fk to ik mode 要注意,把長度數值變爲負數
OOO 左右手臂的fk/ik auto snap全部完成 歐也!
OOo 右臂drv skeleton ScaleX Ik mode 要跟每段的fk/ik骨骼相匹配
2007.10.19
??? they are not orient match of foot ik control and fk control
*** Leg drv skeleton 每一個scaleX都要用單獨的cnd運算連接
OOO 完成左腿的ik/fk auto snap
??? they are not orient match of foot ik control and fk control
*** Leg drv skeleton 每一個scaleX都要用單獨的cnd運算連接
OOO 完成左腿的ik/fk auto snap
2007.10.20
OOO 全部完成四肢的 ik/fk auto snap操作,帶縮放可控制的 :)
*** 做雙關節骨骼兩個要素,才能保證ik變化時候2和3的角度一致
(1) 1根3段的骨骼長度要一致
(2) 2根3段骨骼默認的Joint Orient要一致
(感謝manitou的靈感)
2007.10.21
@@@ 開始製作腳部控制器
2007.10.22
OOO 修改腳設計,把反轉腳改稱層級控制,簡化腳部骨骼,用CSik來控制骨骼
2007.10.23
??? 發現了一條骨骼鏈的ik fk seamless switch 測試一下
2007.10.24
@@@ 重新製作limb骨骼系統,使用單獨一套骨骼,重新優化mel,繼續使用雙關節骨骼
按照雙關節要素來做
*** 夢工場那人的mel使用了下面這種命名方式,可以使用IkFk_switch( "giant01", "_l_", "arm" );這種調用方式,場景中的任意角色都可以使用通一段mel來實現ikfk_switch
global proc IkFk_switch( string $nameSpace, string $side, string $limb )
而不用不同的角色使用不同的mel,而且還大大的簡化了mel數量,牛逼阿
不愧是greamwork的
2007.10.25
OOo 完成左臂的新獨立骨骼ik/fk轉換
??? 左臂還有問題,切換到fk的時候,ik控制器位置不變,身體移動,長度發生變化,影響骨骼長度,需要在切換fk的時候就把骨骼的長度修改,縮放值恢復到1,然後關閉縮放功能即可
OOO 左右臂的ikfk切换全部完成,注意控制其和骨骼的Rotate Order is xzy, not xyz
??? 發現了一條骨骼鏈的ik fk seamless switch 測試一下
2007.10.24
@@@ 重新製作limb骨骼系統,使用單獨一套骨骼,重新優化mel,繼續使用雙關節骨骼
按照雙關節要素來做
*** 夢工場那人的mel使用了下面這種命名方式,可以使用IkFk_switch( "giant01", "_l_", "arm" );這種調用方式,場景中的任意角色都可以使用通一段mel來實現ikfk_switch
global proc IkFk_switch( string $nameSpace, string $side, string $limb )
而不用不同的角色使用不同的mel,而且還大大的簡化了mel數量,牛逼阿
不愧是greamwork的
2007.10.25
OOo 完成左臂的新獨立骨骼ik/fk轉換
??? 左臂還有問題,切換到fk的時候,ik控制器位置不變,身體移動,長度發生變化,影響骨骼長度,需要在切換fk的時候就把骨骼的長度修改,縮放值恢復到1,然後關閉縮放功能即可
OOO 左右臂的ikfk切换全部完成,注意控制其和骨骼的Rotate Order is xzy, not xyz
2007.10.26
OOO 完成左右手的跟隨設置,復制兩個手部根部con骨骼,分別命名為ori,然后設置orient約束到手部,并且指定給ik fk子物體
OOO 完成左右手的跟隨設置,復制兩個手部根部con骨骼,分別命名為ori,然后設置orient約束到手部,并且指定給ik fk子物體
@@@ start modify leg skeleton
OOo left leg finish
OOO 四肢的新的独立骨骼的ik/fk切换完成,同一段mel,實現左右自動切換
OOo left leg finish
OOO 四肢的新的独立骨骼的ik/fk切换完成,同一段mel,實現左右自動切換
2007.11.2
arclen -ch 1 這個節點返回曲線的長度值
pow 2 6;的意思是2的6次冪 (乘方,冪power)
sqrt 是平方根 square root
pow 2 6;的意思是2的6次冪 (乘方,冪power)
sqrt 是平方根 square root
*** 做stretchy ik 用expression 比節點連接要方便許多***不愧是牛人
1) Stretchy the spine chain
2) Twisting the spine chain
4) Enhancing the Stretch
1) Stretchy the spine chain
2) Twisting the spine chain
4) Enhancing the Stretch
2007.11.3
OOO frameCache的用法:
stream給定一個動畫曲線,然后通過vary time來返回一個數值。
for example, stream是一段1-6幀的弧形曲線,當vary time為1的時候,返回就是曲線第一幀的數值,當vary time為3的時候,返回的就是曲線在第三幀時候的數值,以此類推,可以通過動畫曲線來控制一個幾個物體屬性的變化值。又弄明白一個節點
2007.11.4
OOO 按住ctrl鍵可以在outliner里面添加ik
OOO frameCache的用法:
stream給定一個動畫曲線,然后通過vary time來返回一個數值。
for example, stream是一段1-6幀的弧形曲線,當vary time為1的時候,返回就是曲線第一幀的數值,當vary time為3的時候,返回的就是曲線在第三幀時候的數值,以此類推,可以通過動畫曲線來控制一個幾個物體屬性的變化值。又弄明白一個節點
2007.11.4
OOO 按住ctrl鍵可以在outliner里面添加ik
2007.11.8
2007.11.9
@@@ 繼續制作右腳rigging
優化mel,規范制作流程,命令規則,把制作量減小到最少,代碼盡量能夠少修改,重復使用
@@@ 繼續制作右腳rigging
優化mel,規范制作流程,命令規則,把制作量減小到最少,代碼盡量能夠少修改,重復使用
OOO 右腳rigging完成,使用層級控制方法
沒有必要保持transform為0的物體就不用加group
2007.11.11
*** ribbon原始場景有嚴重重名,所有物體包括組都不要重名,否則experssion會有問題
2007.11.12
OOO orient 各骨骼鏈條
2007.11.13
@@@ 繼續orient bone chain
OOO 設置fk根部控制器Follow
*** 設置關節鏈跟隨的時候,把復制的兩個組的屬性全部 hide and lock,然后再進行約束,和parent
OOO 四肢 Follow設置完成
沒有必要保持transform為0的物體就不用加group
2007.11.11
*** ribbon原始場景有嚴重重名,所有物體包括組都不要重名,否則experssion會有問題
2007.11.12
OOO orient 各骨骼鏈條
2007.11.13
@@@ 繼續orient bone chain
OOO 設置fk根部控制器Follow
*** 設置關節鏈跟隨的時候,把復制的兩個組的屬性全部 hide and lock,然后再進行約束,和parent
OOO 四肢 Follow設置完成
2007.11.14
OOO head ik/fk ok
OOO head fk/ik switch finish(include mel)
*** mel里面設置約束的時候,需要先設置關鍵幀再刪除約束,這樣位置才不會有變化
OOo 基本完成骨骼設置
@@@ 開始skin
??? 新問題,膝關節大腿部骨骼有反轉現象
OOO 把大腿下端的segRibbon方向約束到leg01_drv上,使其方向與上面一致
2007.11.17
@@@ 開始制作character Selection GUI (感謝夢工廠的牛人)
OOO Giant01 GUI v0.1界面完成
@@@ GUI 0.2 鏈接代碼生成 內部命名規范化
OOO head ik/fk ok
OOO head fk/ik switch finish(include mel)
*** mel里面設置約束的時候,需要先設置關鍵幀再刪除約束,這樣位置才不會有變化
OOo 基本完成骨骼設置
@@@ 開始skin
??? 新問題,膝關節大腿部骨骼有反轉現象
OOO 把大腿下端的segRibbon方向約束到leg01_drv上,使其方向與上面一致
2007.11.17
@@@ 開始制作character Selection GUI (感謝夢工廠的牛人)
OOO Giant01 GUI v0.1界面完成
@@@ GUI 0.2 鏈接代碼生成 內部命名規范化
2007.11.18
OOO \为mel的转义符(escape character),在后面可以添加一些特殊的符號,如"
OOO \为mel的转义符(escape character),在后面可以添加一些特殊的符號,如"
2007.11.19
OOO 腿部反轉問題解決,修改頭部控制器歸零,然后完成右手控制器,開始skin
OOO 腿部反轉問題解決,修改頭部控制器歸零,然后完成右手控制器,開始skin
*** sdk = set driven key
2007.11.26
??? 大問題啊,切換ik/fk做動畫的時候,互相的動作不能顯示,調ik的時候,fk的動畫就沒有了,fk的時候ik的動畫也沒有了,弄了一大天,弄出來一個垃圾rigging,呵呵
2007.11.29
@@@ 開始解決骨骼問題,關鍵幀和ik手臂旋轉問題
*** mel里刪除臨時約束的時候要先key幀,然后再刪除,不然控制器會跳回上一個關鍵幀的位置
找到問題了,物體的visibility屬性也要打關鍵幀,然后kz_ikFkSwitch里面,armIk01_con的orient約束沒有setKey,愚蠢的錯誤
OOO OK,mel問題解決了
??? finger bone scale is not assign
OOO GUI里面加了Head IK/FK Switch控制v0.23 :)
2007.11.30
OOO GUI的mel基本上調節完畢了(還應該改成四根手指和五根手指可調的效果,以后再弄)
OOO clavicle_con用移動方式來控制 clavicle bone旋轉,更直觀
2007.11.30
OOO GUI的mel基本上調節完畢了(還應該改成四根手指和五根手指可調的效果,以后再弄)
OOO clavicle_con用移動方式來控制 clavicle bone旋轉,更直觀
2007.12.1
OOO 修改GUI mel,設置了Reset Selection效果,很實用,人家設計的牛逼啊
OOO 修改GUI mel,設置了Reset Selection效果,很實用,人家設計的牛逼啊
2007.12.2
OOO Create autoClavicle feature.
*** Create autoClavicle attribute on shoulder control.
OOO MirrorBlendShape update mel
2007.12.3
OOO 優化了GUI,設置了四根手指的界面
OOO 手指的骨骼上級再添加一個joint, 就可以作為驅動幀來使用了,不用在制作額外的控制器
擴展名用 _sdk means set driven key
*** zero group must clear attributes to preserve position and rotate state.
OOO all button 的作用是用來選擇所有控制器然后歸零的
2007.12.8
OOO 弄好了卡通眼球材質
2007.12.10
_arm ribbon rotate must set rotate decay,跟随arm01_drv骨骼就可以,像前臂一样
2007.12.15
OOO enum控制兩個約束的開關更方便,blendcolor來控制三套骨骼比約束更方便
2007.12.16
OOO hide object visibility attribute will be hide all child objects, but hide object shape visibility attribute to only hide himself.
OOO it is very cool that use expression to control objects visibility.
OOO Create autoClavicle feature.
*** Create autoClavicle attribute on shoulder control.
OOO MirrorBlendShape update mel
2007.12.3
OOO 優化了GUI,設置了四根手指的界面
OOO 手指的骨骼上級再添加一個joint, 就可以作為驅動幀來使用了,不用在制作額外的控制器
擴展名用 _sdk means set driven key
*** zero group must clear attributes to preserve position and rotate state.
OOO all button 的作用是用來選擇所有控制器然后歸零的
2007.12.8
OOO 弄好了卡通眼球材質
2007.12.10
_arm ribbon rotate must set rotate decay,跟随arm01_drv骨骼就可以,像前臂一样
2007.12.15
OOO enum控制兩個約束的開關更方便,blendcolor來控制三套骨骼比約束更方便
2007.12.16
OOO hide object visibility attribute will be hide all child objects, but hide object shape visibility attribute to only hide himself.
OOO it is very cool that use expression to control objects visibility.
OOO fk/ik切換,只要把切換屬性設置關鍵幀就好,其他fk/ik控制器顯示屬性不用打關鍵幀
OOO 手指不用特殊的控制器,把selection handle打開就好了,有干凈有方便
OOO 手指不用特殊的控制器,把selection handle打開就好了,有干凈有方便
2007.12.20
*** emnu屬性,fk始終為零,也就是第一個屬性,ik為1
2007.12.23
@@@ hand setup
2008.1.1
@@@ 第二次重新rig,用新方法做fk/ik,重寫mel
2008.1.2
*** 制作好骨骼以后一定要調整 local rotation axis,使其與上級控制器一致
2008.1.4
OOO 修改了segRibbon模板,可以squash stretch,globalScale也沒問題了
2008.1.5
OOO 模型又改了,手部修改一下
2008.1.8
OOO 手部rig完成
??? 發現segRibbon的旋轉有問題,超過90度上部關節后兩個jnt會有反轉問題
XXX 使segRibbon里面的nurbs Surface法線朝向骨骼的旋轉方向即可解決,旋轉根部組即可
2007.12.23
@@@ hand setup
2008.1.1
@@@ 第二次重新rig,用新方法做fk/ik,重寫mel
2008.1.2
*** 制作好骨骼以后一定要調整 local rotation axis,使其與上級控制器一致
2008.1.4
OOO 修改了segRibbon模板,可以squash stretch,globalScale也沒問題了
2008.1.5
OOO 模型又改了,手部修改一下
2008.1.8
OOO 手部rig完成
??? 發現segRibbon的旋轉有問題,超過90度上部關節后兩個jnt會有反轉問題
XXX 使segRibbon里面的nurbs Surface法線朝向骨骼的旋轉方向即可解決,旋轉根部組即可
2008.1.9
OOO 優化了segRibbon模板,解決了旋轉的時候反轉問題,為segPos01_geo制作四個cluster
然后兩個兩個分組,在重新給他們約束,用parent約束,但是要只選擇幾個旋轉軸可以達到
理想的過度旋轉效果
2008.1.10
@@@ 應該做l_leg 方向約束了
2008.3.1
*** min为最小值返回命令,返回后面给定的两个数值中最小的数值;
2008.3.2
*** linstep(0, 10, 5) // Result: 0.5 //
linstep 1 3 2.5; // Result: 0.75 //
linstep返回一个浮点数值 =(第三变量 - 第一变量)/(第二变量 - 第一变量)
第一个变量为最小值,第二个变量为最大值,如果第三个变量小于第一个变量,则返回0,如果第三个变量大于第二个变量则返回1.
l_ball_loc.rotateX = (linstep(0,$toeLift,$roll)) * (1-(linstep( $toeLift,$toeStraight,$roll))) * $roll;
这行可以让ball关节的度数这样变化,随着roll的在0到45的时候,ball也从0到45,也就做到了脚跟抬起脚掌不动
在roll从45到90的时候,ball会从45返回到0,也就做到了向前走步的时候,脚掌抬起,但脚变成了直的了
OOO 優化了segRibbon模板,解決了旋轉的時候反轉問題,為segPos01_geo制作四個cluster
然后兩個兩個分組,在重新給他們約束,用parent約束,但是要只選擇幾個旋轉軸可以達到
理想的過度旋轉效果
2008.1.10
@@@ 應該做l_leg 方向約束了
2008.3.1
*** min为最小值返回命令,返回后面给定的两个数值中最小的数值;
2008.3.2
*** linstep(0, 10, 5) // Result: 0.5 //
linstep 1 3 2.5; // Result: 0.75 //
linstep返回一个浮点数值 =(第三变量 - 第一变量)/(第二变量 - 第一变量)
第一个变量为最小值,第二个变量为最大值,如果第三个变量小于第一个变量,则返回0,如果第三个变量大于第二个变量则返回1.
l_ball_loc.rotateX = (linstep(0,$toeLift,$roll)) * (1-(linstep( $toeLift,$toeStraight,$roll))) * $roll;
这行可以让ball关节的度数这样变化,随着roll的在0到45的时候,ball也从0到45,也就做到了脚跟抬起脚掌不动
在roll从45到90的时候,ball会从45返回到0,也就做到了向前走步的时候,脚掌抬起,但脚变成了直的了
@@@ 腿部的绑定分为fk、ik驱动drv骨骼,
ik由noFlip和poleVector互相驱动,noFlip也是RP Solver,只不过把vector控制器放到了旁边,这样就能实现环绕无翻转了,然后通过knee spin属性来控制膝盖的方向。
pv骨骼就是正常的RP Solver来控制,添加一个Pole Vector控制器来控制膝盖方向。
ik由noFlip和poleVector互相驱动,noFlip也是RP Solver,只不过把vector控制器放到了旁边,这样就能实现环绕无翻转了,然后通过knee spin属性来控制膝盖的方向。
pv骨骼就是正常的RP Solver来控制,添加一个Pole Vector控制器来控制膝盖方向。
这种方法更加灵活,提供了多样的控制方式,动画师可以根据自己的喜好进行选择;牛人,怎么想出来的呢,佩服啊
2008.3.4
OOO 解决blendshape in-between 模型问题,使用animToBlend脚本命令直接产生,把目标删除就好了
OOO 解决blendshape in-between 模型问题,使用animToBlend脚本命令直接产生,把目标删除就好了
2008.3.27
hand controls name:
curl thumb_curl scrunch thumb_scrunch relax cup spread mid_spread thumb_spread twist lean
finger controls
curl scrunch spread twist lean bend_1 bend_2 bend_3 bend_4 length
thumb controls
curl scrunch spread orbit twist bend_1 bend_2 bend_3 length
2008.3.29
OOO 足球形象二次修改,比较满意,继续rig四肢
OOO 足球形象二次修改,比较满意,继续rig四肢
2008.3.30
@@@ start football rig leg
2008.3.31
use low res model hen split segment.
2008.4.28
l_arm01_drv and l_arm02_drv的scale也要跟fk和ik_drv blend上,这样在fk 切换到ik的时候才能匹配长度
在l_armIk01_drv和02_drv上要加上length,默认长度的时候等于1,以此倍增。
2008.4.29
fk ik切换调试完成,fk拉伸,ik拉伸相互切换,之后reset都没有问题了
fk ik切换调试完成,fk拉伸,ik拉伸相互切换,之后reset都没有问题了
###开始做 switching spaces
2008.5.3
Char GUI优化基本完毕,fk/ik switch mel分离出来了 v0.91a
添加一些新功能:
只有选择了控制器才能允许弹出界面,不选择物体的话会出现提示按钮。
优化了mel里面的命名方式,全部以变量的名称进行命名,方便修改。
优化resetSelection,不会出现找不到物体的错误提示了
添加了手部 r01AllBttn l01AllBttn 按钮,可以选择全部三个手指的后三节骨骼
手部只做一个控制器就好,不用添加太多的手指形状控制,对手指控制用控制器倒不太方便,可以后面用poseLib来做
Char GUI优化基本完毕,fk/ik switch mel分离出来了 v0.91a
添加一些新功能:
只有选择了控制器才能允许弹出界面,不选择物体的话会出现提示按钮。
优化了mel里面的命名方式,全部以变量的名称进行命名,方便修改。
优化resetSelection,不会出现找不到物体的错误提示了
添加了手部 r01AllBttn l01AllBttn 按钮,可以选择全部三个手指的后三节骨骼
手部只做一个控制器就好,不用添加太多的手指形状控制,对手指控制用控制器倒不太方便,可以后面用poseLib来做
2008.5.4
Character GUI v0.91a
Features
01 根据选择不同角色的控制器来确定角色名称,里面的各项功能也都会针对相应的角色
conform character name according as selected control
02 低分辨率和高分辨率模型切换显示
03 镜像选择控制器
04 恢复选择的控制器到默认数值状态
05 可控制身体各部分的显示状态(如头、身体、左臂。。。)
06 可在面板直接选择角色各个部位的控制器
07 Fk手臂的方向无缝转换跟随
08 手臂和腿部Ik的方向位置无缝转换跟随
09 可拉伸的四肢Fk Ik.
10 手臂和腿部的Fk Ik 无缝转换,并且可以匹配各种模式下的不同的长度
11 各个手指每个方向快速选择(如食指的三个关节,或者食指中指小拇指的第一个关节)
01 根据选择不同角色的控制器来确定角色名称,里面的各项功能也都会针对相应的角色
conform character name according as selected control
02 低分辨率和高分辨率模型切换显示
03 镜像选择控制器
04 恢复选择的控制器到默认数值状态
05 可控制身体各部分的显示状态(如头、身体、左臂。。。)
06 可在面板直接选择角色各个部位的控制器
07 Fk手臂的方向无缝转换跟随
08 手臂和腿部Ik的方向位置无缝转换跟随
09 可拉伸的四肢Fk Ik.
10 手臂和腿部的Fk Ik 无缝转换,并且可以匹配各种模式下的不同的长度
11 各个手指每个方向快速选择(如食指的三个关节,或者食指中指小拇指的第一个关节)
2008.5.6
写了kz_createIkLenMdn.mel, 可以直接根据选择的节点来添加Ik骨骼的length参数和IkLen_mdn节点
2008.5.7
下午左臂完成绑定,比较顺利了
下午左臂完成绑定,比较顺利了
2008.5.8
??? ribbon出现新问题,global scale有问题了
OOO 在expression里面修改下面这行就可以,把golbalScale连接到##01_all_ctl上面就行了
$scale = segRibbon2008_seg_curveInfo.normalizedScale/giant01_all_con.golbalScale
??? ribbon出现新问题,global scale有问题了
OOO 在expression里面修改下面这行就可以,把golbalScale连接到##01_all_ctl上面就行了
$scale = segRibbon2008_seg_curveInfo.normalizedScale/giant01_all_con.golbalScale
修改了ribbon模板,在拉长的时候正常收缩,保持体积,在弯曲的时候不进行缩放了
优化了gui mel,在切换fk follow的时候在反馈行可以显示出跟随的不同部位,比较满意 :)
2008.5.14
优化了gui mel的reset功能
腿部的rig流程制作完成,
腿部的rig流程制作完成,
2008.5.15
镜像流程制作完成。
应该在镜像物体之后再清理场景,锁定和隐藏控制器属性,要不然不能镜像骨骼
应该在镜像物体之后再清理场景,锁定和隐藏控制器属性,要不然不能镜像骨骼
2008.5.16
*** 在镜像完成以后,再统一设置控制器的可见性。
Fk腿部也可以暂不设置跟随
Fk腿部也可以暂不设置跟随
2008.5.17
2008.10.18
前些天写了面部表情建立系统,可以复制头部需要的表情目标,建立blendshape,建立表情控制器面板,链接控制器到blendshape。
眼皮跟随的上下效果不用单独制作blendshape目标,使用闭眼的目标即可,在控制器操作上需要特殊设置一下,控制眼球的控制器也来调节闭眼的blendshape目标
2008.10.22
优化了表情系统,现在可以随便的添加bs中间过度目标,全部可以自动加到bs里面了1.0诞生了,哈
下面是自动绑定系统的一些更新日志,直接写道mel里面了 :)
Ver 0.1 Update: Nov 12, 2008
可以建立左臂骨骼,fk ik链接完成,并自动建立设置组,显示控制组
Ver 0.2 Update: Nov 14, 2008
建立简单界面
Ver 0.3 Update: Nov 15, 2008
整合表情系统,建立界面基础分类功能
Ver 0.5 Update: Nov 18, 2008
rig leg and foot
Ver 0.51 Update: Nov 19, 2008
left foot rig finished.
Ver 0.52 Update: Nov 23, 2008
symmetrize function finished, hand guide bone.
Ver 0.53 Update: Nov 26, 2008
rigging fingers
Ver 0.54 Update: Nov 28, 2008
rigging torso
2008-11-18
2008-11-10
2008-10-29
Facial System 表情系统 mel
清晰版下载:
这些天写了一套表情建立系统,其实原本只是想写一个可以按照命名规则来复制头部物体的脚本,这样可以免去每次重新命名的麻烦 (将近一百个目标物体的命名真的很烦人),但是写着写着又跳出好多新想法,也就一起加了进去,重新改名叫 Facial System,功能更新了一下,重发个帖子。
功能如下:
1、选择分离的头部.
2、自然是先复制出需要的目标物体,作为blendshape的目标使用,(都是命名好的哦)
3、手动调节目标形状,可以制作出动画序列目标,保证圆滑的过度效果(例如闭眼的眼皮或张开的下巴)
4、选择已经制作好的左侧目标组,里面是序列或者单个目标都可以,就可以复制出右侧的序列,并且是镜像好的。
5、为头部建立 Blendshape ,自然是把已经调节好形状的目标全部自动添加进来了,也是单个的目标和序列的目标都全部能添加进来。
6、建立用来调节表情的控制器面板,一个按钮就搞定啦
7、链接每个控制器到Blendshape参数上面,也就实现了使用控制器来控制表情
2008-10-18
表情建立系统
这几天写了一套表情建立系统 其实原本只是想写一个可以按照命名规则来复制头部物体的脚本,这样可以免去每次重新命名的麻烦
(将近一百个目标物体的命名真的很烦人),但是写着写着又跳出好多新想法,也就一起加了进去,重新改名叫 Create Facial System
功能如下:
1、选择分离的头部,第一项自然是先复制出需要的目标物体,作为blendshape的目标使用,(都是命名好的哦)
2、为头部建立 Blendshape ,自然是把已经调节好形状的目标全部自动添加进来了
3、建立用来调节表情的控制器面板,一个按钮就搞定啦
4、链接每个控制器到Blendshape参数上面,也就实现了使用控制器来控制表情
Subscribe to:
Posts (Atom)








