谷歌实验室分享:如何为Blocks 3D模型添加动画
文章相关引用及参考:google
Blocks是一款让大家在虚拟现实中创建精美3D对象的工具
(映维网 2017年08月08日)Blocks是一款让大家在虚拟现实中创建精美3D对象的工具,你甚至不需要任何建模经验即可进行创作。你可以为一系列VR应用或增强现实体验创建对象或角色。大家可以访问查看社区的优秀作品,一直以来社区的创意和作品质量都给我们留下了深刻的印象。
在探索所有这些创作的时候,我们便很好奇如果赋予模型生命那将会是怎样一番情景呢。现在,即便是最好的创作也仍然是静态,而谷歌的Daydream Labs希望可以将其列为挑战,为模型带来生命。所以,在一周的黑客松中,谷歌尝试了一系列为Blocks场景带来动态生命力的方法。下面是他们的创意:
在虚拟现实或增强现实中为3D模型添加动画需要三个步骤。首先,你需要设置模型让它可以移动。然后,你需要想出如何控制的方法。最后,你需要一种记录运动的方法。
第一步:准备模型
在Blocks中为角色添加动画之前,我们需要进行一定的准备。谷歌研究人员探索了两种方式:逆向运动和形状匹配。
逆向运动是一种为游戏角色添加动画的常见技术,逆向运动甚至被应用于其他的领域,比方说机器人。在超级高的级别上,角色可以根据你意愿自动定位身体。所以如果你要角色的手举到头的高度上,手肘和关节会逼真地进行定位,这是得益于逆向运动的精确计算。你只需移动一只手或一只脚即可,无需定位角色的每一部分,余下的角色身体位置会自动进行调整适配。
这使得逆向运动非常适合僵化的“骨架”,比如人类、动物和机器人。形状匹配是一种面向体形没那么明确定义的新技术,比如说布偶。当你摇动角色的脚时,其腿部会像橡胶那样摆动。
你可以访问这里并查看谷歌使用的形状匹配算法。谷歌当前的原型需要你花费一定的时间设置对象,但这个过程最终可以实现自动化。然后,你无需额外的操作即可让创作尽情地摇摆。
第二步:控制模型
一旦准备好,VR可以通过三种方法帮助你移动模型:直接控制;抓点;摆姿势;
你可以把头显和控制器连接至角色的手部和头部,这样就能直接控制角色。这种方法跟其他VR创意应用类似,比如Mindshow。
你还可以把Vive Tracker绑在脚上,然后再控制角色的腿部。
另外,你还可以通过抓取并移动特定的瞄点来控制模型,有点像在办过家家酒时抓住泰迪熊的双手并假装它会移动。在下面这张动图中,谷歌研究人员正在使劲地摇晃大嘴怪的嘴唇。
在测试中,这种方法甚至支持多用户操作。你和你的朋友可以在同一个空间中摇晃角色。这是一种控制角色的好方法,几乎就像是小时候玩玩具一样。
对于人形角色,你可以直接为角色摆姿势,就像是摆动活动人偶或模特假人那样。在VR中,空间感知和控制可允许骨架更直观地定型。这十分适合需要精准控制3D模型所有部分的用户,比如为关键帧动画设定姿势。
每一种控制机制都存在自己的优点。有人喜欢在直接控制中“成为”一个对象,就像是在玩真实的角色扮演游戏一样。在需要更多的精确度时,逆向运动定型是一种优秀的方案,而应用于VR比传统桌面环境可以更加直观。我们发现形状匹配效果尤为有趣。伸展和摇动使得这种方法不够骨架定型那般精准,但却更为有趣。
第三步:录制运动
最后,谷歌实验了两种录制和播放运动的方法:Pose to Pose和实时循环。
Pose to Pose动画跟现在的3D动画方法类似,支持复杂的运动,比如跳上一张椅子。你摆好一个姿势,截图,然后重复这个步骤并创建出一系列的姿势。当你播放的时候,角色便会按照姿势进行运动。VR使得这个过程更加直观,用户无需学习复杂的动画软件即可创建出更具表达力的动画。
对于更简单的动画,实时循环可让你录制对象的运动,然后以一种重复循环的方式播放运动。按下录制按钮,移动,再次按下按钮,这样就成了,动画开始循环了。只需一分钟即可让两个角色不停地跳舞。
实时循环很简单,而且非常适合快速创建粗略的动画;Pose to Pose则更适用于更精准或复杂的运动。
为Blocks中的创作添加运动十分神奇,而且可行。即便没有任何动画经验,你也可以轻松赋予自己的3D模型生命。心有多大,舞台就有多大。