5 namespace UnityStandardAssets.ImageEffects
7 [CustomEditor (typeof(ColorCorrectionLookup))]
10 SerializedObject serObj;
13 serObj =
new SerializedObject (target);
16 private Texture2D tempClutTex2D;
19 public override void OnInspectorGUI () {
22 EditorGUILayout.LabelField(
"Converts textures into color lookup volumes (for grading)", EditorStyles.miniLabel);
31 tempClutTex2D = EditorGUILayout.ObjectField (
" Based on", tempClutTex2D, typeof(Texture2D),
false) as Texture2D;
32 if (tempClutTex2D == null) {
34 if (t) tempClutTex2D = t;
37 Texture2D tex = tempClutTex2D;
41 EditorGUILayout.Separator();
42 if (!(target as ColorCorrectionLookup).ValidDimensions(tex))
44 EditorGUILayout.HelpBox (
"Invalid texture dimensions!\nPick another texture or adjust dimension to e.g. 256x16.", MessageType.Warning);
46 else if (GUILayout.Button (
"Convert and Apply"))
48 string path = AssetDatabase.GetAssetPath (tex);
49 TextureImporter textureImporter = AssetImporter.GetAtPath(path) as TextureImporter;
50 bool doImport = textureImporter.isReadable ==
false;
51 if (textureImporter.mipmapEnabled ==
true) {
54 if (textureImporter.textureFormat != TextureImporterFormat.AutomaticTruecolor) {
60 textureImporter.isReadable =
true;
61 textureImporter.mipmapEnabled =
false;
62 textureImporter.textureFormat = TextureImporterFormat.AutomaticTruecolor;
63 AssetDatabase.ImportAsset (path, ImportAssetOptions.ForceUpdate);
67 (target as ColorCorrectionLookup).Convert(tex, path);
71 if ((target as ColorCorrectionLookup).basedOnTempTex !=
"")
73 EditorGUILayout.HelpBox(
"Using " + (target as ColorCorrectionLookup).basedOnTempTex, MessageType.Info);
74 t = AssetDatabase.LoadMainAssetAtPath(((ColorCorrectionLookup)target).basedOnTempTex) as Texture2D;
76 r = GUILayoutUtility.GetLastRect();
77 r = GUILayoutUtility.GetRect(r.width, 20);
78 r.x += r.width * 0.05f/2.0f;
80 GUI.DrawTexture (r, t);
81 GUILayoutUtility.GetRect(r.width, 4);
87 serObj.ApplyModifiedProperties();