VR头戴式显示器(HMD)和游戏引擎的组合允许个人容易地佩戴CG角色头像。让我们使用UE4和Oculus成为格雷!(这个项目在GitHub上!)。

1240

当然,你可以做除灰色以外的任何事情!

Unity 提供了大量优秀的付费资产,例如Final IK,这将使用HMD更容易创建虚拟YouTuber(以下简称VTuber)环境。有许多评论使用它们,并且还有一些情况,初学者有很低的障碍开始,似乎如果你第一次使用游戏引擎,你通常会选择Unity。但是,如果您拥有所有设备,也可以使用虚幻引擎4(以下简称UE4)实现。

以下是如何在不购买资产的情况下免费入门。仅使用UE4和Oculus Rift&Touch。我们将解释如何在UE 4上输出用于记录的视频,同时假设记录屏幕上显示内容,编辑字幕等以及发布等的过程(此后编辑和发布的方法将单独进行)请检查)。这次优先考虑移动,并且省略了技术细节和改进,但作为应用,可以完成从捕获视频到使用UE4中的定序器进行调味并导出它的过程。虽然选择了Rift,但即使使用HTC Vive也几乎没有差别,并且如果控制器特性(例如按钮的位置和触摸板的存在或不存在)不同,则没有主要问题。

为了实现,我使用了Rarihoma类型的Gray-chan模型(谢谢你,Rarihoma)。此外,在FaceRig上尝试它会很有趣,因为Jinji Yoshika先生已经发布了 Gray的设置Live2D模型。如果您想要移动的角色模型,我希望您可以在那里替换并继续。如果您使用分布数据以及灰色,请仔细检查条款和条件。我不会在这里讨论如何制作3D模型,所以我想参考其他材料。

系统配置

模型制作:-

输入(头部和身体):Oculus Rift

输入(手):Oculus touch

输入(面部):基于目标

唇同步:OVRLipSync

版本:UE 4.18

步骤1项目设置和加载

如果您使用手边的数据而不是灰色,请使用变形来更改表达式。至少你需要嘴唇变形来进行唇部同步。我们还使它成为一个实时工作的轻量级模型。无论如何,最好先将其导入UE4然后制定策略

1240

让我们创建一个项目并导入它。选择虚拟现实模板

1240

它很容易忘记,但由于Morph Target加载默认关闭,请检查并导入它

步骤2确认帧速率

1240

在执行期间键入“@stat fps”可以显示fps。如果它小于90 fps,消除瓶颈。减少模型和纹理的重量,或者考虑在没有时间的情况下部署高性能GPU

1240

1240

对于UE4中的优化方法,Epic公式的幻灯片变得非常有用。当我尝试使用高模型[图像左侧](我自己只有3D扫描数据)的这个程序时,我能够达到90 fps。此外,您可以通过将STEP 6中使用的Show Capture of Scene Capture 2D缩小到您需要的[图像右侧]来减轻负载。随着工作的进展定期检查fps 

步骤3检查工作流程

为了成为VTuber,如果“唇形同步”,“移动头部和手臂(跟踪)”和“表达的切换”对齐,似乎是好的。其中,“唇形同步”是最耗时的,所以我必须考虑如何从语音输入和语音估计嘴的形状,所以我想先从它开始。在这次使用的UE4.18中,我无法从Blueprint获得麦克风输入。如图所示,UE4.19已正式支持它,但本文不涉及它。第二个“跟踪”具有取决于角色模型的部分,并且设置并不总是容易,但它会调整到稳定状态。第三个“面部表情的切换”实现了眼睛变形切换,但是如果你有其他类型的变形就可以尝试,所以如果你尝试各种各样的话会很有趣。

1240

步骤 4唇形同步

使用Oculus的OVRLipSync进行唇形同步。它最初用于Unity,但它被使用是因为志愿者有一个UE4插件。使用UE 4.18构建的插件已上传到GitHub,因此可以在没有C ++项目的情况下使用它们。Dent先生的以下文章将对OVRLipSync有所帮助,但在这里我们只解释立即使用的程序。首先,项目结束,在/Config/DefaultEngine.ini的底部添加“[Voice] bEnabled = true”。如果你不写这个,每个编辑都会失败

1240

步骤5 MotionControllerPawn设置

1240

首先,在VROrigin下添加SkeletalMesh组件,并添加可以通过添加插件使用的“LipSyncMorphTarget”和“LipSyncMicInput”组件。

1240

更改LipSyncMorphTarget组件的Visemes。在此数组中将数字10到14设为“A”“E”“I”“O”“U”的变形名称

1240

图像是灰色的。可以在双击Skeletal Mesh打开的编辑器中确认该值

1240

将相机调整到模型头位置。在Gray的情况下,我将摄像机位置设置为(0,0,140),将骨架网格旋转设置为(0,0,-90)。放置在Level中时,将MotionControllerPawn的Z值设置为楼层高度,并将Rotation设置为(0,0,0)。如果你不戴HMD,你会感到不适

步骤6 VR中安装镜像

我想测试唇形同步机制是否正常工作,但我不知道自己是否是这样。准备像镜子一样的东西

1240

准备场景捕捉2D和渲染目标,在平面上粘贴渲染目标并放置在灰色前面。这样您就可以在运行时看到自己。我认为你可以在尝试执行时确认嘴巴正在移动

1240

您可以从“渲染目标”设置更改分辨率。但是,要小心,因为如果你贪婪并且提高分辨率,你将与编辑器崩溃

步骤7移动头部和四肢

1240

1240

为Grey创建AnimBP并使用FABRIK调整右手,左手和头部的3个点。现在,您可以通过将控制器的位置从AnimBP发送到MotionControllerPawn来控制手和头

1240

1240

该位置在MotionControllerPawn侧计算(RHand与LHand的内容几乎相同,从轴和角度的第一个Rotator的图形设置为90,因此省略图示)。根据型号,您可能需要调整值。如果您通过EventTick每帧更新计算结果

1240

手和头将扭曲,但它会在运行时毫无问题地移动

步骤8更改表达式

1240

1240

这次我戴HMD,所以我用按钮或棒来控制面部而不是用相机进行面部表情。准备几个表达式的预设,然后切换规格

灰色已经有一个面部表情,所以只需输入参数并连接引脚即可。这是前面步骤中最简单的

1240

我会尝试赢得自动眨眼。它包含在AnimBP的EventGraph中,因为它不涉及输入。

步骤9显示用于记录的屏幕

1240

围绕角色的工作已经完成,但即使按原样录制,HMD看到的图像也会按原样录制,这将是一部非常难以看清的电影。使用“观察者屏幕”功能输出伪镜像中绘制的内容。在这里,很容易添加到Level BP [A]

1240

1240

1240

现在您可以使用UE4的录制功能和外部工具进行捕捉。但是,在这种情况下颜色会有所不同。通过参考下面的URL调整Capture Source [B]和Gamma [C]的两个位置,您应该更接近编辑器中的颜色[D](左:调整前,右:调整后)。我希望Capture Source【B】会有像“Final Color(HDR)”这样的设置。VR空间中的伪镜子会变白,但只要你能确认动作就应该没问题。如果你用这个录制播放屏幕,你可以将它用作视频资料,所以让我们享受编辑和发布。好工作的欢呼声中为

摘要

有了这样的内容,我认为你可以理解你可以让VTuber体验相对容易。当然,因为它在功能上是最小的,所以可以进行IK,缩放调整,减少唇形同步延迟和提高精度,如何表达和表达情感,切换到另一台相机等。有很多。当然,使用Ikinema Orion等中间件可以实现更准确的跟踪。根据项目的预算和规模考虑引入是很好的。

现在超过1,000个VTubers。有许多先驱者这一事实也意味着有许多技术可供参考。从工程师的角度来看,有许多部分可以享受,例如面部表情的丰富性和Shinonome女士的绘画制作,以及跟踪Asmarim的稳定底盘等。声称使用UE4的VTuber先生还没有找到,所以他现在可能成为先锋吗?该项目在GitHub上发布。我希望你能利用它。

想了解更多关于游戏模型设计的内容吗?

建模教程网(www.xizixue.com)看看吧