mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-05-13 22:09:53 -05:00
rename and add comment
This commit is contained in:
parent
02aae32acb
commit
95ef1b839f
|
|
@ -140,12 +140,12 @@ namespace UniVRM10
|
|||
}
|
||||
|
||||
Handles.color = new Color(1, 1, 1, 0.6f);
|
||||
Handles.DrawDottedLine(runtime.EyeTransform.position, lookAtTarget.position, 4.0f);
|
||||
Handles.DrawDottedLine(runtime.LookAtOriginTransform.position, lookAtTarget.position, 4.0f);
|
||||
}
|
||||
|
||||
var yaw = runtime.Yaw;
|
||||
var pitch = runtime.Pitch;
|
||||
var lookAtOriginMatrix = runtime.EyeTransform.localToWorldMatrix;
|
||||
var lookAtOriginMatrix = runtime.LookAtOriginTransform.localToWorldMatrix;
|
||||
Handles.matrix = lookAtOriginMatrix;
|
||||
var p = lookAt.OffsetFromHead;
|
||||
Handles.Label(Vector3.zero,
|
||||
|
|
|
|||
|
|
@ -8,23 +8,35 @@ namespace UniVRM10
|
|||
{
|
||||
private readonly VRM10ObjectLookAt _lookAt;
|
||||
private readonly Transform _head;
|
||||
private readonly Vector3 _eyeTransformLocalPosition;
|
||||
private readonly Quaternion _eyeTransformLocalRotation;
|
||||
private readonly Vector3 _lookAtOriginTransformLocalPosition;
|
||||
private readonly Quaternion _lookAtOriginTransformLocalRotation;
|
||||
|
||||
internal ILookAtEyeDirectionApplicable EyeDirectionApplicable { get; }
|
||||
|
||||
public float Yaw { get; private set; }
|
||||
public float Pitch { get; private set; }
|
||||
public LookAtEyeDirection EyeDirection { get; private set; }
|
||||
public Transform EyeTransform { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Transform that indicates the position center of eyes.
|
||||
/// This only represents the position of center of eyes, not the viewing direction.
|
||||
/// Local +Z axis represents forward vector of the head.
|
||||
/// Local +Y axis represents up vector of the head.
|
||||
///
|
||||
/// 目の位置を示す Transform。
|
||||
/// 視線方向は反映されない。
|
||||
/// ローカル +Z 軸が頭の正面方向を表す。
|
||||
/// ローカル +Y 軸が頭の上方向を表す。
|
||||
/// </summary>
|
||||
public Transform LookAtOriginTransform { get; }
|
||||
|
||||
internal Vrm10RuntimeLookAt(VRM10ObjectLookAt lookAt, UniHumanoid.Humanoid humanoid, Transform head)
|
||||
{
|
||||
_lookAt = lookAt;
|
||||
_head = head;
|
||||
EyeTransform = InitializeEyePositionTransform(_head, _lookAt.OffsetFromHead);
|
||||
_eyeTransformLocalPosition = EyeTransform.localPosition;
|
||||
_eyeTransformLocalRotation = EyeTransform.localRotation;
|
||||
LookAtOriginTransform = InitializeEyePositionTransform(_head, _lookAt.OffsetFromHead);
|
||||
_lookAtOriginTransformLocalPosition = LookAtOriginTransform.localPosition;
|
||||
_lookAtOriginTransformLocalRotation = LookAtOriginTransform.localRotation;
|
||||
|
||||
var leftEyeBone = humanoid.GetBoneTransform(HumanBodyBones.LeftEye);
|
||||
var rightEyeBone = humanoid.GetBoneTransform(HumanBodyBones.RightEye);
|
||||
|
|
@ -40,8 +52,8 @@ namespace UniVRM10
|
|||
|
||||
internal void Process(VRM10ObjectLookAt.LookAtTargetTypes lookAtTargetType, Transform lookAtTarget)
|
||||
{
|
||||
EyeTransform.localPosition = _eyeTransformLocalPosition;
|
||||
EyeTransform.localRotation = _eyeTransformLocalRotation;
|
||||
LookAtOriginTransform.localPosition = _lookAtOriginTransformLocalPosition;
|
||||
LookAtOriginTransform.localRotation = _lookAtOriginTransformLocalRotation;
|
||||
|
||||
switch (lookAtTargetType)
|
||||
{
|
||||
|
|
@ -75,7 +87,7 @@ namespace UniVRM10
|
|||
|
||||
public (float Yaw, float Pitch) CalculateYawPitchFromLookAtPosition(Vector3 lookAtWorldPosition)
|
||||
{
|
||||
var localPosition = EyeTransform.worldToLocalMatrix.MultiplyPoint(lookAtWorldPosition);
|
||||
var localPosition = LookAtOriginTransform.worldToLocalMatrix.MultiplyPoint(lookAtWorldPosition);
|
||||
Matrix4x4.identity.CalcYawPitch(localPosition, out var yaw, out var pitch);
|
||||
return (yaw, pitch);
|
||||
}
|
||||
|
|
@ -97,7 +109,7 @@ namespace UniVRM10
|
|||
[Obsolete]
|
||||
public Transform GetLookAtOrigin(Transform head)
|
||||
{
|
||||
return EyeTransform;
|
||||
return LookAtOriginTransform;
|
||||
}
|
||||
|
||||
[Obsolete]
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user