private static void UpdateMaterial(string dataSetName, GameObject go) { Material material = VuforiaUtilities.LoadReferenceMaterial(); if (material == null) { return; } string text = go.name + "_scaled"; string text2; if (!VuforiaUtilities.GetImagePathWithExtension("Assets/Editor/Vuforia/ImageTargetTextures/" + dataSetName + "/" + text, out text2)) { VuforiaUtilities.GetImagePathWithExtension("Assets/Editor/QCAR/ImageTargetTextures/" + dataSetName + "/" + text, out text2); } Material material2 = go.GetComponent <Renderer>().sharedMaterial; if (material2 == null || material2 == material) { material2 = new Material(material); go.GetComponent <Renderer>().sharedMaterial = material2; } Texture2D mainTexture = AssetDatabase.LoadAssetAtPath <Texture2D>(text2); material2.mainTexture = mainTexture; material2.name = text + "Material"; material2.mainTextureScale = new Vector2(-1f, -1f); SceneManager.Instance.UnloadUnusedAssets(); }
internal static Material UpdateMaterial(string dataSetName, string trackableName, ImageTargetType imageTargetType, Material oldMaterial) { Material material = AssetDatabase.LoadAssetAtPath <Material>("Assets/Vuforia/Materials/UserDefinedTarget.mat"); Material material2 = AssetDatabase.LoadAssetAtPath <Material>("Assets/Vuforia/Materials/CloudRecoTarget.mat"); if (imageTargetType == ImageTargetType.USER_DEFINED) { return(material); } if (imageTargetType == ImageTargetType.CLOUD_RECO) { return(material2); } Material material3 = VuforiaUtilities.LoadReferenceMaterial(); if (material3 == null) { return(null); } Material material4 = oldMaterial; if (material4 == null || material4 == material3 || material4 == material || material4 == material2) { material4 = new Material(material3); } string text; if (!VuforiaUtilities.GetImagePathWithExtension(string.Concat(new string[] { "Assets/Editor/Vuforia/ImageTargetTextures/", dataSetName, "/", trackableName, "_scaled" }), out text)) { VuforiaUtilities.GetImagePathWithExtension(string.Concat(new string[] { "Assets/Editor/QCAR/ImageTargetTextures/", dataSetName, "/", trackableName, "_scaled" }), out text); } Texture2D mainTexture = AssetDatabase.LoadAssetAtPath <Texture2D>(text); material4.mainTexture = mainTexture; material4.mainTextureScale = new Vector2(1f, 1f); material4.name = trackableName + "Material"; return(material4); }
private static void UpdateRectangleMaterial(GameObject gameObject) { MeshRenderer meshRenderer = gameObject.GetComponent <MeshRenderer>(); if (!meshRenderer) { meshRenderer = gameObject.AddComponent <MeshRenderer>(); } Material material = VuforiaUtilities.LoadReferenceMaterial(); Material material2 = meshRenderer.sharedMaterial; if (material2 == null || material2 == material) { material2 = new Material(material); } material2.name = "Text"; material2.shader = Shader.Find("Unlit/Texture"); material2.SetColor("_Color", Color.white); meshRenderer.sharedMaterial = material2; }
internal static void UpdateMaterial(SerializedVuMark serializedObject) { Material material = serializedObject.GetMaterial(); string previewImage = serializedObject.PreviewImage; string trackableName = serializedObject.TrackableName; Material material2 = VuforiaUtilities.LoadReferenceMaterial(); if (material2 == null) { return; } Material material3 = material; if (material3 == null || material3 == material2) { material3 = new Material(material2); } Texture2D mainTexture = AssetDatabase.LoadAssetAtPath <Texture2D>(previewImage); material3.mainTexture = mainTexture; material3.mainTextureScale = new Vector2(1f, 1f); material3.name = trackableName + "Material"; serializedObject.SetMaterial(material3); }
private static Material[] UpdateMaterials(string dataSetName, string trackableName, bool hasBottomGeometry, bool hasTopGeometry, bool insideMaterial, Material[] oldMaterials) { Material material = VuforiaUtilities.LoadReferenceMaterial(); if (material == null) { return(new Material[0]); } string str = "Assets/Editor/Vuforia/CylinderTargetTextures/" + dataSetName + "/" + trackableName; if (!File.Exists(str + ".Body_scaled.png") && !File.Exists(str + ".Body_scaled.jpg") && !File.Exists(str + ".Body_scaled.jpeg")) { str = "Assets/Editor/QCAR/CylinderTargetTextures/" + dataSetName + "/" + trackableName; } List <string> list = new List <string> { str + ".Body_scaled" }; if (hasBottomGeometry) { list.Add(str + ".Bottom_scaled"); } if (hasTopGeometry) { list.Add(str + ".Top_scaled"); } int count = list.Count; Material[] array = new Material[insideMaterial ? (count * 2) : count]; for (int i = 0; i < list.Count; i++) { string text; VuforiaUtilities.GetImagePathWithExtension(list[i], out text); Material material2 = null; if (i < oldMaterials.Length) { material2 = oldMaterials[i]; } if (material2 == null || material2 == material) { material2 = new Material(material); } Texture2D mainTexture = AssetDatabase.LoadAssetAtPath <Texture2D>(text); string fileNameWithoutExtension = Path.GetFileNameWithoutExtension(text); material2.mainTexture = mainTexture; material2.name = fileNameWithoutExtension + "Material"; material2.mainTextureScale = new Vector2(-1f, -1f); array[i] = material2; if (insideMaterial) { int num = i + count; Material material3 = null; if (num < oldMaterials.Length) { material3 = oldMaterials[num]; } if (material3 == null || material3 == material) { material3 = new Material(material2); } material3.CopyPropertiesFromMaterial(material2); material3.name = material2.name + "Bright"; material3.shader = Shader.Find("Custom/BrightTexture"); array[num] = material3; } } return(array); }