荷兰学生演示如何用反向运动学构建VR环境手指交互

VR
2019
03/15
20:52
映维网
分享
评论

日前,一位荷兰学生Tom Kemna通过Unreal引擎为手指应用了基本的反向运动学,并分享介绍了自己的开发历程。以下是映维网的具体整理:

Tom Kemna实现的效果

1. 背景

简单的背景介绍,如果没有兴趣你可以跳过这一段。我是一名学生,而我们正在用HTC Vive Pro开发一款VR恐怖游戏。我希望获得更多与VR交互相关的经验,因此我争取到了玩家角色实现这一职责。在开发过程中,我看到一个视频关于将反向运动学用于上楼梯时双脚,于是我就问自己:嘿,我是否也能这样做呢?

2. 介绍

首先,如果你不知道什么是反向运动学,我推荐你看这个视频:

简单来说,这是为骨骼网格制作动画的方法。在Unreal引擎中,你可以在动画蓝图中采用名为“Two Boned IK”节点的选项来实现这一点。你提供两个位置:一个“效应器”和一个“关节”,而它们将允许允许你操纵骨骼。

2. 实现

我已经开发了一个简单的系统:当你抓住对象时,系统将允许你用手指包裹它们。有很多方法可以实现反向运动学,下面我将介绍问题是什么,而我又是如何进行解决。然后,我将简要说明为什么会选择这个解决方案。

2.1 问题

对于沉浸感,我们需要双手的操作尽可能逼真。为此,我们需要用手指包裹对象并与之交互,这样我们就不会出现截断或非常静态的双手。

这是一个问题,我们需要为一堆手指检测碰撞,然后它们需要停留在遇到的第一个对象上。

2.2 解决方案

最后,我选择了一个采用常规蓝图逻辑和动画蓝图逻辑组合的系统。

要实现反向运动学,你需要准备一定的工具:1.正确rigged的骨架网格;2.rig的动画蓝图。3.利用骨架网格的蓝图。

首先,我们需要找到手指所在的位置。我决定创建隐藏在游戏中的UE4箭头组件,并根据每个箭头的变换计算线条轨迹。

下面是采用默认Unreal 4手部网格的蓝图视图:

第三则与反向运动学有关。Unreal引擎允许用户设置Two-Boned反向运动学。如果采用动画蓝图,你可以将每个手指设置为通过两个位置将反向运动应用于两个骨骼。

最大的障碍是设置效应器位置和关节目标位置。效应器位置是IK尝试放置骨骼的位置,而关节目标位置则是说明骨骼应如何旋转。关节目标位置实际上是一个误导性的名称,因为它位于你希望骨骼旋转的位置的对面,我花费了一定的时间才弄明白这一点。

我们使用一个关节来旋转骨骼,并通过一个目标来定向骨骼。我们使用常规蓝图中的函数设置值来正确设置所有的值。我在示例项目中创建了三个函数,按以下顺序调用。

SetAllFingerIK:一个调用SetSingleFingerIK()五次的函数(每个手指一次)。这意味着将代码组合成一个大函数。SetSingleFingerIK:每个手指最后都需要调用3个跟踪,所以这是一个line trace 集合。这将计算和设置动画蓝图中的变量。LineTraceAlongArrow:根据箭头的变换返回line trace的击中结果。

下图是食指的效果:

3. 选择这一解决方案的原因

除了单独为所有一切制作动画外,我找不到任何替代方案。当然,单独为所有一切制作动画是一项非常耗时的任务。动态地为手指制作动画是唯一可选的替代性解决方案,而反向运动学可以做到这一点。

这很难做到这一点的原因是,关于这个具体问题的信息很少,这意味着我必须自己解决这个问题。最后,我自己开发了这样一个系统。如果你想在Unreal引擎中看看具体的实现,这里是一个示例项目。

原文链接:https://yivian.com/news/55926.html

来源:映维网

THE END
广告、内容合作请点击这里 寻求合作
VR
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表环球360的观点和立场。

相关热点

根据美国专利商标局公布的最新专利,除了VR游戏和其他形式的娱乐,苹果的工程团队认为混合现实头显可以结合VR键盘和文字处理器结合使用,而这帮助我们睹见了未来的头显用例...
VR
微软日前宣布,他们将把可变速率着色(Variable Rate Shading;VRS)带到DirectX 12。这家公司表示,开发者可以利用VRS来提升应用程序的性能,增加图形质量,并降低系统要求。...
VR
英伟达的3D眼镜即将成为历史。随着VR和AR头显的兴起,用于游戏的“3D Vision”立体3D眼镜逐渐淡出了人们的视野。英伟达最初开发这款设备的目的是,为游戏体验带来三维元素...
VR
OptiTrack的追踪技术正广泛用于全球各地的的VR线下娱乐中心,而这家公司于GDC 2019大会展示了他们最新的技术。...
VR
Ramirent现在以其新的数字平台Ramirent TwinsiteTM进入VR领域。一个全面运作的虚拟建筑工地,将VR技术用于培训和通信,以提高安全性、可持续性和效率。...
VR

相关推荐

1
3