- Home /
What is a good way to create a sprite based on texture?
I have a helper function that sets Image based on texture (I get this texture from phone's photo). Some component I am setting are very small, so I don't really have to create a sprite with the entire resolution.
For example, I have a small Object I am applying the photo on, so for that guy I don't have to Sprite.Create(... (texW, texH)..). I would like to create a smaller version of it (perhaps desiredH and desiredW which I tried) to save loading time.
Is there smart way to do this? Thanks in advance
   public void SetImage(Texture2D texture)
         {
             float texW = texture.width; 
             float texH = texture.height;
             if (constraintHeight) 
             {
                 float desiredH = gameObject.GetComponent<RectTransform>().rect.height;
                 float desiredW = desiredH * texW / texH;
                 gameObject.GetComponent<RectTransform>().sizeDelta = new Vector2(desiredW, desiredH);
                 //texW = desiredW;
                 //texH = desiredH;  
             }
     
             // Set sprite right away for optimiation; Sprite.Create is the bottleneck
             if (ImageToSet)
             {
                 ImageToSet.GetComponent<Image>().sprite = Sprite.Create(texture, new Rect(0.0f, 0.0f, texW, texH), new Vector2(0.5f, 0.5f));
             }
             else 
             {
                 gameObject.GetComponent<Image>().sprite = Sprite.Create(texture, new Rect(0.0f, 0.0f, texW, texH), new Vector2(0.5f, 0.5f));
             }
         }
Answer by xxmariofer · Sep 15, 2021 at 07:06 AM
if by the best way you mean the most performance way, is not that one, thats a really slow one. Sprite.Create is a really slow method, and also you should avoid using GetComponent, catch at the start both images. using RawImages instead of images would increase the performance by a fairly amount and you avoid using Sprite.Create
Your answer
 
 
             Follow this Question
Related Questions
Low performance on multiple runtime generated sprites 1 Answer
Performance of 2D Apps on mobile: Optimizations? 0 Answers
png file's inspector is blank! 0 Answers
List and random Sprites? 1 Answer
PNG / image optimization for iPhone 5 Answers
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                