Beispiel #1
0
        internal static void UpdateAspectRatio(NRSerializedImageTarget it)
        {
            Vector2 size = new Vector2(it.Width, it.Height);

            it.AspectRatio = size.y / size.x;
            using (List <NRTrackableImageBehaviour> .Enumerator enumerator = it.GetBehaviours().GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    UpdateMesh(enumerator.Current.gameObject, it.AspectRatio);
                }
            }
        }
Beispiel #2
0
        internal static void UpdateScale(NRSerializedImageTarget it)
        {
            Vector2 size = new Vector2(it.Width, it.Height);

            foreach (NRTrackableImageBehaviour item in it.GetBehaviours())
            {
                if (it.AspectRatio <= 1f)   // AspectRatio =>  y/x
                {
                    item.transform.localScale = new Vector3(size.x, size.x, size.x) * 0.001f;
                }
                else
                {
                    item.transform.localScale = new Vector3(size.y, size.y, size.y) * 0.001f;
                }
            }
        }
Beispiel #3
0
 private void CheckMesh(NRSerializedImageTarget serializedImageTarget)
 {
     using (List <NRTrackableImageBehaviour> .Enumerator enumerator = serializedImageTarget.GetBehaviours().GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             GameObject go = enumerator.Current.gameObject;
             MeshFilter mf = go.GetComponent <MeshFilter>();
             if ((mf == null || mf.sharedMesh == null) && serializedImageTarget.AspectRatioProperty.hasMultipleDifferentValues)
             {
                 UpdateMesh(go, serializedImageTarget.AspectRatio);
             }
         }
     }
     if (!serializedImageTarget.TrackableNameProperty.hasMultipleDifferentValues)
     {
         UpdateMaterial(serializedImageTarget);
     }
 }