签到

07月14日
尚未签到

共有回帖数 0

    马子

    等级:
    刚体角色动力学脚本(CES)

    9.1 刚体动力学的扩充2007年之后,Next Limit公司发布了一款免费的Python脚本。Realflow中使用这个脚本,可以导入BVH格式文件,并能直接传递运动数据到插件的娃娃(ragdoll)系统上。在RealFlow中这种获得动画数据的方法,要比从骨骼或角色动画的方法更好。这个插件特别之处在于:导入进来的角色动画,可以流体,刚体和柔体交互(这里说的"交互",意思是,导入进来的角色动作可以被流体等影响。而不是像SD动画这样,导入进来就无法改变了)。RealFlow把娃娃系统当作刚体对像来处理。自动计算出运动数据,然后保存为新的BVH数据,用于导出。Character-Environment Scripts(角色环境脚本)是由Next Limit刚体开发领导人Carlos Pegar开发的。在本系列的第二节有过对他的一些简介。这个脚本另一个优点是它们完全免费使用。(译者注:很抱歉的是,这只有RealFlow4版本的。所以你要体验这个脚本,必须要安装一个RealFlow4。我们从第八节学习到从RealFlow4之后版本,RF的刚体动力学系统就完全变了,变成 了MultiJoints.NextLimit并没有推出这个插件新的版本。如果你感兴趣,仔细研究一下,是可以写出相同功能的脚本来的。我也在计划这件事,并搜集了一点点资料,需要的话可以发邮件交流qqww2334@163.com)9.2安装脚本软件需要至少RealFlow 4.3.8版本。如果不是,软件会无法安装。强烈建议进行更新,不光为了此脚本。最新的版本解决了很多bug并有一些常用的新功能。http://www.nextlimit.com/realflow/n_character.htm (链接已经失效)如果你需要一些示例场景,有一些资源提供了免费的BVH文件。可以在后面看到相关链接。(译者注:本链接已经失效。需要此脚本可以发邮件给我)安装步骤真的很简单:只要点击Installer(OS X)或直接拖动文件夹到RealFlow安装的目录下(Windows和Linux)。然后打开RealFlow就会看到一个工具栏,主窗口下。你会看到一些新图标,有四个新的脚本:

    animation2simulation

    Export bvh

    Import bvh  


    Create Ragdoll9.3创建Ragdoll需要执行的第一步。点击

    CreateRagdoll图标。RealFlow打开一个新的对话框。这里,你可以特定创建哪种T position(手臂分开)还是不创建。因为这个脚本允许我们创建任意你想要的数量,我们可以为将创建角色输入ID。ID将会是节点名称的一部分(如ragdoo_0)可以用来标明特定的ragdoll.点击OK后,脚本会自动生成完成ragdoll与所有必要的Constraints和joints(关节).甚至组和名字也设置好了。在原始的REalFlow的视图,你可以看到ragdoll,等待输入。

    图44.两种不同的Ragdoll类型9.4 导入BVH动画数据在这步,我们会让我们娃娃活动。导入动画数据到Limb Constraints。程序完全是自动的,我们只要选择合适的BVH文件。顺便提一下:BVH标准是Biovision Hierarchical Data(..层级数据)。文件自身是标准的ASCII文件,可以用任意文本编辑器读取。(这就说明,可以从任意动画文件导出成这种格式动画数据)如果你想预览动画数据,导入到RealFlow之前,Windows和Linus用户可以下载免费的BVH查看器从soureforge.net(大部分3D软件也支持BVH格式):http://bioviewer.sourceforge.net/https://sourceforge.net/projects/bioviewer使用Import bvh 按钮导入好后,打开文件选择对话框。请注意所有文件得要是.bvh拓展名,其它版本像.BVh,.BVH不会被接受。在这个例子,重命名文件或编辑脚本添加更多拓展。选择文件后,RealFlow询问几个参数,你可以在下面图片看到。第一个值是关键帧缩放(keys scale)。有时,文件没有包含缩放信息。就不会有结果。尽管导入器会自动计算合适的缩放,有时还是需要调节keys scale值。在0.8和1.2范围间会更有利于工作。ragdoll index告诉RealFlow,是把数据应用到哪个ragdoll上。我们只使用相同值,我们这就完成了整个ragdoll创建过程。默认的这个值是Zero.最后一个设置,use reference(用户参考)总是设置为Yes.这表明运动数据实际是转移到ragdoll上了。如果我们改变设置为No.数据会直接显示在视图上。但如提到过的,你可以使用文本编辑器打开BVH文件,来查看数据。

    编辑BVH文件有时也是必要的,因为Bvh文件中的关节需要匹配到ragdoll的关节上。没有的部分ragdoll会忽略。有时,这真是一个问题,因为我们得要手动编辑BVH数据甚至选择另一个数据文件。手动改变BVH文件需要数据层级知识。如果你决定改变文件,建议做一个备份,保存一下老版本。现在我们选择有效的文件,导入脚本分析数据并应用到ragdoll,匹配到特定ID。特别是长文件,这需要花一些时间。脚本会表扬BVH文件长度自动调节时间栏。在成功导入后,我们可以点击Play或点击空格键,看一下角色的动画。如果你不满意现在的结果,你可以选择一个新的BVH文件,覆盖老的。这是很方便的,因为不需要每次创建新的ragdoll来应用动画数据。如果你看到典型的Pose在Ragdoll的胳膊拉长在半空。(图45),你可能得到一个错误的Pose设置。大部分免费的BVH文件没有默认的T-Pose.在这个例子,创建一个新的ragdoll,把T pose设置成No,重新应用动画数据。现在胳膊看起来就自然了。

    图45:不要杀我,我投降!

    图:导入BVH数据后,动起来的样子。我踢!!!另一个重要的资源,是Messages窗口。有RealFlow导入时的信息。这里,你可以找到忽略的关节,实际的缩放数值,和别的有用数据。

    图46:RealFlow信息窗口显示的详细信息RealFlow Simulation Option窗口包含另一个非常重要的信息Frame rate(帧速率)。大部分动画捕捉文件使用的是30帧每秒,但有一些文件不是这样,使用50,60或75帧每秒。这取决于你最终动画。当动画数据导入后,ragdoll就key上帧了。换句话说:就是不要再重置了Ragdoll了,在BVH数据应用后。对这个Ragdoll任何位置的改变都要在数据应用之前调整。如要整体的Position,Scale和rotation的改变,可以调整到总的控制组!这个组可以在Node面板找到:Nodes  nulldoll_0  master_null_0如果你设置了不同的序号(index,)这里0就会被替代成别的序号,如6:Node  nulldoll_6  master_null_69.5 创建模拟现在,我们"仅仅"是转换动画数据到ragdoll.现在它可以与其它刚体交互了,但这只是刚体受到影响,而Ragdoll娃娃本身不会受刚体影响。尽管,这已经能满足大部分情况(但这,SD文件也可以达到,根本不是这个脚本的最大特色)。第一个测试,我们让角色跑到摞在一起的箱子那。这个场景使用"runner.bvh"文件,这在Next Limit网站能下到这个BVH文件。不要让箱子质量(mass)太小,防止它们被撞的太远。这个简单的场景包括地面,和一个重力场。记住,ragdoll关键帧和所有动态已经在之前计算好并固定下来了。褐色的约束器标志了关键帧状态,如下面图47所示。

    图47:基本场景设置与未激活的约束器(棕色)实际上,我们已经准备好开始第一次模拟了。当角色撞击到盒子时,它们会被撞开。

    图48:角色只跑过盒子这个情况描述的只是这个场景的一个算法。另一个可能是角色撞击箱子。角色可能会绊倒。使用animation2simulation 按钮,可以做到这个效果。你可以指定特定帧,告诉RealFlow激活所有约束器。从这一刻,娃娃将受解算器控制。要找到正确的时间,只要拖一下时间栏,找到合适的帧。这帧会在脚本窗口出现。使用这个值,我们要特别指定娃娃的ID。如果不满意这个结果,你可以改变使用新的帧。再执行一次脚本。程序会替代成需要的,直到调节到合适的帧。在这建议你使用质量轻一点盒子。否则,ragdoll角色会像撞到一堵倒塌的墙。现在我们再次模拟,将会看到完全不一样的动态。图48,你会看到这个方法制作的效果。使用新的设置,娃娃在30帧时没有受关键帧控制。除了了新的动画路径,约束器变成蓝绿色也说明小人没有受关键帧控制。

    小人跌倒完全是靠RealFlow的刚体解算器。不幸的是,有时会产生不必要的扭曲移动,因为角度制约,导入的BHV文件没有与RealFlow的Limb Constraint设置兼容。激活后,需要更细致的调节。小人自身动态像任何其它刚体可以与Emitter,Soft Body和RealWave交互。你可以创建"跳跃障碍"效果图片。9.6 保存模拟数据在RealFlow模拟小人动态后,原始关键帧数据会被覆盖。要使用模拟,它必须要导出整个数据到新的BVH文件。点击Export bvh图标,打开新的窗口,可以指定合适文件名和路径。要完全导致,要更多信息,像frame range,ragdoll index和scale

    确认设置OK,现在动画开始播放,记录运动,输出到新的BVH文件。这个文件可以使用到任意支持BVH格式的3D软件中。

    在有些3D软件,可能要调节开始点和初始旋转。如果发现与RealFlow运动有很大不同,建议再模拟一次。与任何其它模拟一样,不可能创建一次就模拟成功的。想要自然的动态,需要大量测试和尝试。无论怎样,Character-Enviroment Scripts有助于减少动画的工作。9.7 一些拓展Character-Environment Scripts是RealFlow刚体不错的拓展应用。使用动画角色完全与动力学交互的想法,是非常独特的。使用其它模拟方法达到同样结果,一定需要更多工作。这个脚本肯定有一些限制和不足,但脚本很容易手动处理,在软件中进行解决。 本脚本也是Python脚本学习的一个极好的例子。像一些复杂的计算如矩阵变换,都可以使用python计算。此脚本可以作为一个基础范例,把它的一些功能块应用到自己的脚本中,如执行类似导入和导出功能。 9.7.1 免费BVH文件下面网域你可以找到我收集的免费BVH文件。有些需要简单一下注册一下。使用它们在你自己计算机上出现问题,本书概不负责。有些文件可能与RealFlow的BVH数据格式不兼容。http://www.organicmotion.com/support/datasampleshttp://vipbase.net/bvhviewer/http://www.turbosquid.com/FullPreview/Index.cfm/ID/384829http://www.bvhfiles.com/bvhLibrary_login.phphttp://truebones.com/freedemo/FreeBones.zip还有一个叫Poser的软件.这个角色动画软件可以导入和导出BVH文件。本插件与大名鼎鼎的人体工程力学模拟动画软件Endorphin相比,CE插件的运作原理与之有相似之处,但却又逊色许多。可是不管怎样,相比较极其昂贵的Endorphin来说,CE插件目前是免费使用,并且操作起来也比较简单,如果不追求刻意绝对真实细腻的效果,满足一般要求足矣。(完全可以利用MultiJoints再来重现这个脚本。这是一个很好的学习脚本,案例。会加深动画理解,与动力学,Joints等。如果你有这方面兴趣,一定要发邮件交流。)角色动力学软件Endorphin一些资料简介:http://www.souvr.com/Shop/201003/1115.html BVH(Biovision Hierarchy)文件格式:BVH文件包含角色的骨骼和肢体关节旋转数据。BVH 是一种通用的人体特征动画文件格式,,广泛地被当今流行的各种动画制作软件支持。通常可从记录人类行为运动的运动捕获硬件获得。通常BVH是BioVision等设备对人体运动进行捕获后产生文件格式的文件扩展名。维基百科,BVH格式简单:http://en.wikipedia.org/wiki/Biovision_Hierarchy百度百科BVH格式简介:http://baike.baidu.com.cn/view/8020811.htm维基百科,BVH基本原理介绍:http://en.wikipedia.org/wiki/Bounding_volume_hierarchyEndorphin是三维生产领域第一个自动运动综合软件 9.7.2 附录:Endorphin简介

    Endorphin 2.5 是英国 Natural Motion 公司所最新研发的角色动态生成软件,里面拥有英国牛津大学实验室独步全球的 Dynamic Motion Synthesis 生物动力学技术,经过适当的调整让每一个数字生物拥有自己的动作行为,自动演算反应出真实复杂、符合开发者想象的动画。Endorphin 软件运行原理,是根据英国牛津大学长期在人工智能、人体生物力学的研究基础下,赋予虚拟角色最真实的生物动作模拟。传统上,要做出动画中人物走路的画面,通常都需要仔细描述每个路径走法、或是透过 Motion Capture 演员撷取输入动作数据,然而这种方式不仅太繁琐也需要高昂的开发成本。endorphin 首创运用基因算法,把重力和人物的肌肉结构都设定好关连之后,透过类神经网络来控制肌肉的运动,教导人物角色自动演算出逼真的动作反应。广受好评的 endorphin 是一套自动化的 3D 角色动态生成软件, 不同于一般动画数据库,endorphin 的行为模块是在人工智能、生物动力学、基因演算的根基下,赋予角色拟真的动作及互动模拟, 依循设计者的想象,创造出自然、灵活的动画呈现。此外,其实时而聪敏的动态仿真效果、友善而便利的图形开发接口,以及视频背景投影、摄影资料导入等 … 诸多特色,都能让动画师在直觉式工作环境下,比传统动画技巧少得多的时间内,实时的创建真实、复杂的角色动画,并直接修改调整参数、预览动画效果。endorphin 亦巧妙的整合档案数据汇入及输出,无须改变角色的骨架系统设定,有效的延伸、扩充动画应用,显着的降低生产开发时程。

    转载自豆芽兵博客

    楼主 2015-06-09 18:19 回复

共有回帖数 0
  • 回 帖
  • 表情 图片 视频
  • 发表

登录直线网账号

Copyright © 2010~2015 直线网 版权所有,All Rights Reserved.沪ICP备10039589号 意见反馈 | 关于直线 | 版权声明 | 会员须知