You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
	
	
		
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C#
		
	
| 
											2 years ago
										 | using System.IO; | ||
|  | using UnityEditor; | ||
|  | using UnityEngine; | ||
|  | 
 | ||
|  | public class ExampleEditorScript : MonoBehaviour | ||
|  | { | ||
|  |     [MenuItem("Tools/PalletteTexture")] | ||
|  |     static void CreateTexture3D() | ||
|  |     { | ||
|  |         int size = 256; | ||
|  |         int sizeSub = size - 1; | ||
|  |         TextureFormat format = TextureFormat.RGBA32; | ||
|  |         TextureWrapMode wrapMode = TextureWrapMode.Clamp; | ||
|  | 
 | ||
|  |         Texture2D texture = new Texture2D(size, size, format, false); | ||
|  |         texture.wrapMode = wrapMode; | ||
|  | 
 | ||
|  |         var size2D = size * size; | ||
|  |         Color[] colors = new Color[size2D]; | ||
|  |         for (int i = 0; i < size2D; i++) | ||
|  |         { | ||
|  |             colors[i] = Color.clear; | ||
|  |         } | ||
|  |         var image = Resources.Load<Texture2D>("Pallette/palette"); | ||
|  |         var pixels = image.GetPixels(); //must be size | ||
|  |         for (int i = 0; i < size; i++) | ||
|  |         { | ||
|  |             var color = pixels[i]; | ||
|  |             var x = color.r * sizeSub; | ||
|  |             var y = color.b * sizeSub; | ||
|  |             var cood = (int)(x * size + y); | ||
|  |             var value = i * 1f / size; | ||
|  |             colors[cood] = new Color(value, value, value, 1); | ||
|  |         } | ||
|  | 
 | ||
|  |         texture.SetPixels(colors); | ||
|  |         texture.Apply(); | ||
|  |         byte[] bytes = texture.EncodeToPNG(); | ||
|  |         var dirPath = Application.dataPath + "/Resources/Pallette/"; | ||
|  |         File.WriteAllBytes(dirPath + "PalletteTex.png", bytes); | ||
|  |     } | ||
|  | } |