ikfk单骨骼无缝转换教程 - 火星时代社区-全球领先的数字艺术媒体

来源:百度文库 编辑:神马文学网 时间:2024/04/25 19:35:47
ikfk单骨骼无缝转换教程
发表于 2007-03-05 01:21 作者:U2-xxl
ikfk转换一直都是装配的老大的问题,解决方法有很多种,我所知道的,
方法一:最简单的是,一套骨架,通过ik手柄的属性ikblend来直接控制
方法二:通过maya自带的set ikfk key这个命令来转换
方法三:三套骨架,一套是ik控制,一套是fk控制,一套用于蒙皮,然后通过属性控制决定约束到ik骨架还是fk骨架
方法四:也有用复杂脚本实现的,这个我就不深究了。
顺便提一下fbik,这个装配其实是motionbuilder里的,自从被收购后,就嫁接到maya里,可惜不太好使,有的时候控制器会飞掉,动画修改也有点麻烦。没有motionbuilder好使(mb的使用经验我也是写了教程的,有兴趣可以自己找来看看)
下面来讲我个人分析这些方法的优缺点。
方法一:优点是简单,很多时候,一个项目里,简单稳定是最重要的,复杂的绑定也许效果不错,要是出错想修改就很难很难了。缺点是,ikfk互转的时候,骨架会移动,并且动画修改有些麻烦,因为ik有动画的时候fk没有,fk有动画的时候ik没有。
方法二:这个是方法一的升级版,maya那个命令其实就是同时给ikfk打关键帧,优点也是简单,还有就是无缝,切换的时候,骨架是不会移动的。可惜每次都要点那个命令,没有直接按s爽。移动关键帧也是有问题的,不能同时移动ikfk的关键帧,造成麻烦。
方法三:这个似乎是主流,但是我觉得效果和方法一没有太大的区别,你要修改fk动画数据还得找fk骨架,修改ik动画还得去找ik控制器。切换的时候也不是无缝的,骨架也是会动的,也是不能同时移动ikfk关键帧的。还有一个毛病就是复杂。一个角色还好,角色如果太多,复杂的绑定的很多问题就会出来的。
方法四:这些装配一般都会无缝,缺点是复杂,修改也是有问题的。
好了,我费了这么多口水,讲了这么多。其实是,我想隆重推出我自己的一个ikfk解决方案。它简单,只有一套骨架,它无缝,ikfk转换骨架不会移动,它易操作,直接按s就搞定了,它易修改,直接在时间条上移动关键帧就可以了。
ok,等不及要看看怎么做的吧,下面是步骤
步骤一:创建一个骨架,这个是范例,所以,你只需要建立三个关节就可以了,然后个它一个ik手柄,然后再加一个极向量约束,到目前为止没什么新鲜的。

步骤二:给骨架加上控制图标,不能用子父或者子父约束,我们用其他的办法,创建一个多边形立方体,然后选择根骨骼,按p,子化给根骨骼,然后把,立方体的位移和旋转数值归零,你可以发现,立方体移动到了根骨骼那里,旋转也和骨骼一致

缩放立方体,使之形状长度和根骨骼匹配,然后freeze一下

下面是精彩的了,在outline窗口里,菜单display里,确保shape的勾勾在那里,然后选择立方体的形状节点,ctrl加选根骨骼,在命令行里,输入parent -r -s回车(意思是让立方体的形状节点成为根骨骼的子物体,这个和直接子父是不一样的)

ok,我们看看有什么变化,在视图中,你点击那个立方体,你会发现,你结果选择了根骨骼。不用立方体,用曲线也可以的,这个立方体确实看着很扎眼,实体显示的时候,他也显示出来,如果你愿意,你可以接着做,让它在实体显示模式的时候,显示为线框
outline里选择立方体的形状节点(不要在视图中选,你选不到的),然后在hypergraph里展开上下游节点
选择这个形状节点与右边的材质组节点中间的连线,然后按del删除,我们的目的就达到了

按照这个步骤,你可以给其他骨骼加控制物体,还有ik手柄

步骤三:选择两块骨骼,ik手柄,还有极向量约束物体,然后创建一个角色,名字为ikB,还是选择刚才的物体,除了ikblend属性,创建子角色,名字是ik,这样做的目的是你可以按s就可以打关键帧了,分成两个,下面会说。
步骤四:让ik手柄的ikblend属性驱动这些控制物体的显示,当ikblend=1的时候,是这个样子

ikblend=0的时候,是这个样子

这样做会自动切换控制的显示
步骤五:创建脚本,切换到FK的脚本如下
setKeyframe -v 0 -ott "step" "ikB.ikHandle1_ikBlend";
setAttr "ikHandle1.ikFkManipulation" 1;
hide ikHandle1;
showHidden pCubeShape3 pCubeShape2;
setAttr "ikB.ikHandle1_ikBlend" 0;
切换到IK的脚本如下
select -r ikHandle1 ;
MoveIKtoFK;
select -r locator1 ikHandle1;
setKeyframe -shape 0;
setKeyframe -v 1 -ott "step" "ikB.ikHandle1_ikBlend";
setAttr "ikHandle1.ikFkManipulation" 0;
hide pCubeShape3 pCubeShape2;
showHidden ikHandle1;
setAttr "ikB.ikHandle1_ikBlend" 1;
里边的名字根据情况要更改,对于这个例子就不必了。
至此,这个装配就完成了,操作方法是,在这里选择ik,

然后选择模式执行脚本(即使你现在在ik模式下,还是要先执行一下ik那个脚本)移动控制,需要打关键帧就按s,如果你需要切换模式,比如你现在是在fk方式下,那就执行切换到ik的脚本(你可以做成按钮或者图标),然后接着打关键帧就可以了,没有问题的,修改曲线的话,选择控制器,然后在曲线编辑器里修改,没有问题,如果需要移动关键帧,这个时候,请在这里选择ikB

然后在时间线上移动缩放关键帧就可以了,切换的地方也会顺利移动的。
我这个装配也有自己的问题,比如,切换的时候要执行脚本,做成按钮只需要点一下,还有个小问题,就是控制归位,这些控制都不能归零的,如果想归位,可以做个脚本,到时候点一下就可以了。希望我这个东西对大家有帮助。
这个是我的场景文件
文件
ikfk单骨骼无缝转换教程 - 火星时代社区-全球领先的数字艺术媒体 三维立体电影制作流程 - 火星时代社区-全球领先的数字艺术媒体 热点讨论 三峡工程带来的气象和地质危害 - 火星时代社区-全球领先的数字艺术媒体 摄影教程:五个专业摄影布光技巧分享 | CG教程 火星时代网 - 全球领先的数字艺术媒体 复古风流行:古装绝色美女制作过程全解 | CG教程 火星时代网-中国数字艺术第一门户 房价持续飞涨,穷人怎么办?住积木里吧 - CG信息 | 火星时代网-全球领先的中文CG网络... 牛仔裤用量计算方法:完整版! - 服装跟单 - 穿针引线服装论坛 全球领先的服装主题社区、... 全球领先的中国 完美动力讨论社区 - 人体骨骼快速设定教程 中国国际时装周【引线官方报道】-34场秀-清晰大图持续更新中!! - 〖北京分会〗 - 穿针引线服装论坛 全球领先的服装主题社区、互动媒体、服装论坛 中国国际时装周【引线官方报道】-34场秀-清晰大图持续更新中!! - 〖北京分会〗 - 穿针引线服装论坛 全球领先的服装主题社区、互动媒体、服装论坛 (一)全球领先的中国 ★原★创教程基础篇--1.3人物的肌肉与骨骼 一份自己用的选股股单 - 何党生 - 职业日志 - 价值中国网:中国领先的财经商业新媒体(... ★原★创教程基础篇--1.3人物的肌肉与骨骼------郜毛德推荐 完美的体育数字艺术 完美的体育数字艺术 超级摄影教程-看的艺术 超级摄影教程-看的艺术- 超级摄影教程-看的艺术- 社区媒体的种类 读览天下 - 中国领先的数字阅读平台 震撼全球的艺术 转换成高清的GIF图片软件/教程