LookAt(视线)

LookAt

在VRM中,可以通过计算头部与目标(注视点)之间的相对旋转(偏航角Yaw,俯仰角Pitch),并将这些旋转应用到眼睛上。

LookAt 的类型

有三种方法可以将注视点的 Yaw 和 Pitch角度应用于模型上。请根据您模型的情况选择其中一种。

Bone

靠眼睛骨骼旋转控制眼睛的运动。

BlendShape

靠BlenderShape的顶点移动控制眼睛的运动。

TextureUV

靠眼睛纹理的 UV offset(UV 偏移) 控制眼睛的运动。

 

VRMLookAtHead

VRMLookAtHead.png
该组件计算从模型头部看向目标(target)的方向。

 

Target

这是 Application(应用程序) 的设置,而不是针对 VRM 模型设置的。 

这是模型眼睛要追踪的目标。如果设置为摄像头,模型将始终注视着摄像头。

 

视线计算的基准位置 

在 VRMFirstPerson 的 FirstPersonOffset 中,您可以设置相对于 head 骨骼的基准位置。

firstperson.png


LookAt(Bone)

LookAlt Bone 需要 VRMLookAltHead 和 VRMLookAtBoneApplyer 两个组件组合。

 

骨骼控制的视线:VRMLookAtBoneApplyer

VRMLookAtBoneApplyer.png
将 VRMLookAtHead 计算出的视线方向参数应用到 EyeBone上。


DegreeMapping(角度映射)

如果将相对于目标物的 yaw, pitch 角度直接赋值给眼睛骨骼的旋转角度,眼睛可能会动得过于夸张。

请设置以下4个方向的角度映射:

注意横向设置的不是左右而是内外。 

LookAt(Blendshape)

LookAt Blendshape 需要 VRMLookAtHead 和 VRMLookAtBlendShapeApplyer 这两个组件。在默认设置中,请删除 VRMLookAtBoneApplyer 并在VRM模型的检查器窗口中添加 VRMLookAtBlendShapeApplyer

请在 Inspector(检查器) 面板中点击 Add Component -> VRMLookAtBlendShapeApplyer

dd_vrm_lookat_blendshape.jpg

 

形变控制视线:VRMLookAtBlendShapeApplyer 

blendshape_applye.png


这是用于使用 BlendShape 控制视线的模型的组件。请预先设置好 LookUpLookDownLookLeft 和 LookRight 这四种 BlendShape。

 

DegreeMapping(角度映射)

以下的设置可以让您调整目标物体的相对角度 yaw 和 pitch 的应用程度。

请设置以下三个方向的角度映射:

LookAt(UV)

LookAt UV 需要 VRMLookAtHead 和 VRMLookAtBlendShapeApplyer 这两个组件。在默认设置中,请删除 VRMLookAtBoneApplyer 并在 VRM 模型的检查器窗口中添加 VRMLookAtBlendShapeApplyer

请在 Inspector(检查器) 面板中点击 Add Component -> VRMLookAtBlendShapeApplyer

dd_vrm_lookat_blendshape.jpg


用纹理的UV来控制视线

blendshape_applye.png

这种方式通过上下左右移动 Texture(纹理)来移动模型眼睛。Unity Chan(Unity酱) 就属于这种类型。

译者补充:Unity酱是一个由Unity官方开发的虚拟角色模型,用于展示Unity引擎的功能和潜力。



找到眼睛材质

在项目窗口中搜索眼睛材质,注意显示在检查器窗口中的 Tiling(平铺) 和 Offset(偏移) 设置。

material_tiling_offset.png

这些值应该是 1,1,0,0(如果值不同,说明情况特殊,可以参考以下内容)

现在,您可以尝试更改 Offset X 和 Y 的值。X 值控制眼睛的左右移动,Y 值控制眼睛的上下移动。找到所需的设置以后,将 X 和 Y 值恢复为0,并继续进行下一步。



BlenderShap 的准备

在下面的示例中,我们将基于材质 eye_L1 的 UV 值来设置眼睛的运动(请参考上面的图像)。

LookUp, LookDown, LookLeft, LookRight 用于操作目标材质的颜色材质的UV坐标。在这个例子中,我们使用的是 unlit/transparent cutout 材质。



以 LookLeft 为例
请在 Project窗口 中,进入【文件名】.BlenderShapes 文件夹选择 LookLeft 资源。
lookleft.png
在检查器中切换到 Material List 标签
点击 Serialized Property 一栏右下角的 “+
选择eye_L1(眼睛的贴图) - _MainTex_ST(控制平铺和偏移的效果)
设置Tliling = 1, 1, Offset = 0, 0 

译者补充:
_MainTex_ST_S只控制水平效果,Y轴设置的数值不会产生影响
_MainTex_ST_T只控制垂直效果,X轴设置的数值不会产生影响

tiling_offset.png

look_left.png

© UTJ/UCL
DegreeMapping角度映射

以下的设置可以让您调整目标物体的相对角度 yaw 和 pitch 的应用程度。

请设置以下三个方向的角度映射: