• fang ma

VR 人物学习笔记(更新中)

已更新:2021年10月13日


.

1. 【VR全身动捕】Make VR Full Body

  • 学习资源 Tutorial √

  • 动捕硬件设备

  • Unity插件

  • 驱动人物关节的方法:关于IK(Inverse Kinematics)的概念和使用


2. 【VR脸部动捕】Facial Tracking with VR headset

  • 学习资源 Tutorial

  • 动捕硬件设备

  • Unity插件和SDK

  • 3D人物面部动画及表情制作


3. 学习过程记录

  • Unity测试 √

  • Unreal测试 √


 

1. 【VR全身动捕】Make VR Full Body


最基本的是头戴+两个控制器,然后脚是假tracking,还有一点vive tracker的部分可以真的tracking脚的,加上屁股的六点tracking。除了这个方法,还看到有用摄像头进行全身追踪,也有用手机作为tracker的方法。如果有时间再写吧,一个能研究明白就不错了。Vive 人脸的部分回头分开一个笔记写好了。

  • 学习资源 Tutorial

1 )Valem的How to make a Body in VR系列,一共三期,第一期是用rigging animation的来做了手和头的三点追踪。第二期是加上了脚的procedual animation,第三期是进一步把走路的动画做了。Patreon上有更全的手上的动画,有空可以看一下。

https://www.youtube.com/watch?v=tBYl-aSxUe0&ab_channel=Valem


2 )Tevfik DEMİRBAŞ做了用Final IK插件的VR full body avatar,非常省事儿简单。他还做了一个多玩家的小系列。

https://www.youtube.com/watch?v=VxcX_x5cyho&t=950s&ab_channel=TevfikDEM%C4%B0RBA%C5%9E


3 )Solid Earth VR 是正经的全身追踪,用了6个vive tracker去做的,但因为也用了Final IK所以算是一个Tevfik的进阶版。

https://www.youtube.com/watch?v=jTMa1pgmVC4&ab_channel=SolidEarthVr


  • 动捕硬件设备

待更新


  • Unity插件

待更新






3. 学习过程记录

  • Unity测试

This is my first testing project in Unity with full body tracking and facial trakcing with Vive Trackers and Headset. The model is done by Character Creator 3, Full body tracking is tried to use both Rigging Animation and FinalIK.

The dress is Qipao which was done by Marvelous Desinger. I upgrade the facial blendshape, which is blend the CC3's arkit standard 52 blendshapes in Maya. Try to make it with more details, I know it is still quite creepy T . T

  • Unreal测试

Test in Unreal:

我完全不会Unreal, 只是进来随便试试Metahuman,找到一个全身动捕的插件,非常好用。Github链接点这里






#全身追踪 #VRAvatar #Unity




31 次查看0 則留言

相關文章

查看全部

Unity_HeadboxVive_0308 //========= Copyright 2019, HTC Corporation. All rights reserved. ===========using System.Collections.Generic; using UnityEngine; namespace ViveSR { namespace anipal { nam

public class BlendshapeCount : MonoBehaviour { public SkinnedMeshRenderer head; void Start() { Mesh m = head.sharedMesh; for (int i = 0; i < m.blendShapeCount; i++) {