mirror of
https://github.com/vrm-c/UniVRM.git
synced 2026-06-02 22:14:30 -05:00
コメント修正。InitializeLookAtOriginTransform
This commit is contained in:
parent
952730c446
commit
4f8e98e065
|
|
@ -42,20 +42,11 @@ namespace UniVRM10
|
|||
{
|
||||
_lookAt = instance.Vrm.LookAt;
|
||||
|
||||
// 視点計算用の empty object
|
||||
LookAtOriginTransform = new GameObject("_look_at_origin_").transform;
|
||||
if (controlRig != null)
|
||||
{
|
||||
// controlRig に連結
|
||||
LookAtOriginTransform.SetParent(controlRig.GetBoneTransform(HumanBodyBones.Head));
|
||||
}
|
||||
else
|
||||
{
|
||||
// 直接連結
|
||||
LookAtOriginTransform.SetParent(humanoid.Head);
|
||||
}
|
||||
LookAtOriginTransform.position = humanoid.Head.TransformPoint(_lookAt.OffsetFromHead);
|
||||
LookAtOriginTransform.rotation = instance.transform.rotation;
|
||||
LookAtOriginTransform = InitializeLookAtOriginTransform(
|
||||
humanoid,
|
||||
controlRig,
|
||||
_lookAt.OffsetFromHead,
|
||||
instance.transform.rotation);
|
||||
|
||||
_lookAtOriginTransformLocalPosition = LookAtOriginTransform.localPosition;
|
||||
_lookAtOriginTransformLocalRotation = LookAtOriginTransform.localRotation;
|
||||
|
|
@ -108,6 +99,39 @@ namespace UniVRM10
|
|||
return (yaw, pitch);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Generate empty object for gaze calculation.
|
||||
/// NOTE: このメソッドを実行するとき、モデル全体は初期姿勢(T-Pose)でなければならない。
|
||||
/// NOTE: Vrm10Instance.Runtime 呼び出しによりトリガーされる。
|
||||
/// From v0.127.0: VRM Root( Vrm10Instance が Add されている)GameObject は初期姿勢でなくてもよい #2445
|
||||
/// </summary>
|
||||
/// <param name="humanoid"></param>
|
||||
/// <param name="controlRig">if provided parent is controlrig head else humanoid head</param>
|
||||
/// <param name="eyeOffsetValue">A humanoid head local offset</param>
|
||||
/// <param name="rootRotation">world rotation of vrm model</param>
|
||||
/// <returns></returns>
|
||||
private static Transform InitializeLookAtOriginTransform(UniHumanoid.Humanoid humanoid, Vrm10RuntimeControlRig controlRig,
|
||||
Vector3 eyeOffsetValue, Quaternion rootRotation)
|
||||
{
|
||||
var lookAtOrigin = new GameObject("_look_at_origin_").transform;
|
||||
if (controlRig != null)
|
||||
{
|
||||
// controlRig のHeadに連結
|
||||
lookAtOrigin.SetParent(controlRig.GetBoneTransform(HumanBodyBones.Head));
|
||||
}
|
||||
else
|
||||
{
|
||||
// humanoid のHeadに連結
|
||||
lookAtOrigin.SetParent(humanoid.Head);
|
||||
}
|
||||
|
||||
lookAtOrigin.position = humanoid.Head.TransformPoint(eyeOffsetValue);
|
||||
// v0.127.0
|
||||
lookAtOrigin.rotation = rootRotation;
|
||||
|
||||
return lookAtOrigin;
|
||||
}
|
||||
|
||||
#region Obsolete
|
||||
[Obsolete("Use " + nameof(LookAtOriginTransform))]
|
||||
public Transform GetLookAtOrigin(Transform head)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user