- Home /
drawing on texture during runtime
i am working on script that is supposed to draw on object with the use of raycasting it has to work kinda like a marker would. But i have serveral issues. 1st issue : it does not draw smoothly(like demonstrated in the picture below) 2nd issue: when i draw on one object the other object with the same texture get drawn on as well.
my code:
 private int Size = 10;
 public GameObject marker;
 void Update()
 {
    
     Vector3 markerRange = transform.TransformDirection(Vector3.forward) ;
     RaycastHit hit;
     //draws pixels on texture with mesh collider
     if (Physics.Raycast(transform.position, markerRange ,out hit, 0.1f))
     {
         Renderer rend = hit.transform.GetComponent<Renderer>();
         MeshCollider meshCollider = hit.collider as MeshCollider;
         Texture2D tex = rend.material.mainTexture as Texture2D;
         Vector2 pixelUV = hit.textureCoord;
         pixelUV.x *= tex.width;
         pixelUV.y *= tex.height;
         //multiplies pixelsize by 10
         for (int i = 0; i < Size; i++)
         {
             int x = (int)pixelUV.x;
             int y = (int)pixelUV.y;
             
              y += i;
              x += i;
             //Apply
             tex.SetPixel(x, y, Color.red);
         }
         tex.Apply();
     }
     //shows range for marker
     Debug.DrawRay(transform.position, markerRange, Color.blue);
 }
picture of result of current code 
any ideas on how to make this work or a different way to make a drawing script are welcome
 
                 
                knipsel.png 
                (379.8 kB) 
               
 
              
               Comment
              
 
               
              Your answer
 
 
             Follow this Question
Related Questions
make pencil just like the lab 0 Answers
Rotate Texture2d 1 Answer
Translate a pixel using SetPixel on a Texture2D? 1 Answer
Erasing a part of an image using SetPixel without gaps 2 Answers
SetPixel / Texture.Apply – terrible performance on iOS. 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                