Я хочу применить две прозрачных текстуры на одной 3д модели.
public static Texture2D CombineTexture(Texture2D background, Texture2D TodrawLogo)
{
int width = TodrawLogo.width;
int height = TodrawLogo.height;
int backWidth = background.width;
int backHeight = background.height;
// bottom right corner
int startX = backWidth - width;
int startY = backHeight - height;
// loop through texture
int y = 0;
while (y < backHeight) {
int x = 0;
while (x < backWidth) {
// set normal pixels
background.SetPixel(x,y,background.GetPixel(x,y));
// if we are at bottom right apply logo
//TODO also check alpha, if there is no alpha apply it!
if(x >= startX && y < backHeight- startY)
background.SetPixel(x,y,TodrawLogo.GetPixel(x-startX,y-startY));
++x;
}
++y;
}
background.Apply();
return background;
}
public GameObject TestObject;
public Texture2D Back1, Back2, NewTexture;
public Material NewMaterial;
//
public void RunTest()
{
TestObject = GameObject.Find("TestCart");
TestObject.GetComponent<Animator>().Play("Action");
Back1.LoadImage("Sprite/Back/1");
Back2.LoadImage("Sprite/Back/2");
NewTexture = CombineTexture(Back1,Back2);
NewMaterial.Albedo.Add(NewTexture);
TestObject.Materials = NewMaterial;
}
Я новичок в Unity и по этому не знаю какие свойства и функций применить что бы сделать.
Api мне не помог так как там слишком много информаций и я не знаю какою именно мне нужна.