Пример #1
0
        public override void OnNewPoses()
        {
            targetPose = VivePose.GetPoseEx(viveRole.roleType, viveRole.roleValue) * new Pose(posOffset, Quaternion.Euler(rotOffset));
            ModifyPose(ref targetPose, origin);

            // transform to world space
            var o = origin != null ? origin : transform.parent;

            if (o != null)
            {
                targetPose = new Pose(o) * targetPose;
                targetPose.pos.Scale(o.localScale);
            }

            var poseValid = VivePose.IsValidEx(viveRole.roleType, viveRole.roleValue);

            if (!isPoseValid && poseValid)
            {
                transform.position = targetPose.pos;
                transform.rotation = targetPose.rot;
            }

            SetIsValid(poseValid);
        }
 protected virtual void Start()
 {
     SetIsValid(VivePose.IsValidEx(viveRole.roleType, viveRole.roleValue), true);
 }