コード例 #1
0
ファイル: MathUtils.cs プロジェクト: Kundara/project1
		public static void LocalFromMatrix4x4(this Transform transform, Matrix4x4 matrix)
		{
			transform.localScale = matrix.GetScale();
			transform.localRotation = matrix.GetRotation();
			transform.localPosition = matrix.GetPosition();
		}
コード例 #2
0
 /// <summary>
 /// Extract Translation, Rotation, and Scale given a Matrix.
 /// </summary>
 /// <param name="m">Input Matrix.</param>
 /// <param name="trans">Output translation.</param>
 /// <param name="rot">Output rotation.</param>
 /// <param name="scale">Output scale.</param>
 public static void GetTRS(this Matrix m, out Vector3 trans, out Quaternion rot, out Vector3 scale)
 {
     trans = m.GetPosition();
     rot   = m.GetRotation();
     scale = m.ScaleFromMatrix();
 }
コード例 #3
0
 public static void SetMatrixLocal(this UnityEngine.Transform transform, UnityEngine.Matrix4x4 matrix)
 {
     transform.localScale    = matrix.GetScale();
     transform.localRotation = matrix.GetRotation();
     transform.localPosition = matrix.GetPosition();
 }
コード例 #4
0
 /// <summary>
 /// Assign matrix into Transform's local transformation.
 /// </summary>
 /// <param name="gameObject">Target GameObject.</param>
 /// <param name="mat">Values from this matrix will be applied to the GameObject.</param>
 public static void AssignLocalTransform(GameObject gameObject, Matrix mat)
 {
     gameObject.transform.localPosition = mat.GetPosition();
     gameObject.transform.localRotation = mat.GetRotation();
     gameObject.transform.localScale    = mat.ScaleFromMatrix();
 }
コード例 #5
0
        private void ProcessMarker(MarkerInfo marker)
        {
            var pose = marker.transform_matrix;
            var transformMatrix = new Matrix4x4();

            transformMatrix.m00 = pose.m00;
            transformMatrix.m01 = pose.m01;
            transformMatrix.m02 = pose.m02;
            transformMatrix.m03 = pose.m03;

            transformMatrix.m10 = pose.m10;
            transformMatrix.m11 = pose.m11;
            transformMatrix.m12 = pose.m12;
            transformMatrix.m13 = pose.m13;

            transformMatrix.m20 = pose.m20;
            transformMatrix.m21 = pose.m21;
            transformMatrix.m22 = pose.m22;
            transformMatrix.m23 = pose.m23;

            transformMatrix.m30 = 0;
            transformMatrix.m31 = 0;
            transformMatrix.m32 = 0;
            transformMatrix.m33 = 1;

            if (NewPoseDetected != null)
            {
                NewPoseDetected(new MarkerPose
                {
                    Id = marker.id,
                    Name = marker.name,
                    Position = transformMatrix.GetPosition(),
                    Rotation = transformMatrix.GetRotation()
                });
            }
        }