Unity3d 我应该如何在Unity中生成这样的图像?

Unity3d 我应该如何在Unity中生成这样的图像?,unity3d,Unity3d,我想动态生成这样的图像。有什么方法可以有效地执行此操作吗?您可以使用着色器执行此操作或生成纹理 如果您不熟悉Unity3D和着色器,则使用纹理2D可能会更容易 下面是一个小例子: void Start() { // Create a new 2x2 texture ARGB32 (32 bit with alpha) and no mipmaps var texture = new Texture2D(2, 2, TextureFormat.ARGB32, false);


我想动态生成这样的图像。有什么方法可以有效地执行此操作吗?

您可以使用着色器执行此操作或生成纹理

如果您不熟悉Unity3D和着色器,则使用纹理2D可能会更容易

下面是一个小例子:

void Start()
 {
     // Create a new 2x2 texture ARGB32 (32 bit with alpha) and no mipmaps
     var texture = new Texture2D(2, 2, TextureFormat.ARGB32, false);

     // set the pixel values
     texture.SetPixel(0, 0, new Color(1.0f, 1.0f, 1.0f, 0.5f));
     texture.SetPixel(1, 0, Color.clear);
     texture.SetPixel(0, 1, Color.white);
     texture.SetPixel(1, 1, Color.black);

     // Apply all SetPixel calls
     texture.Apply();

     // connect texture to material of GameObject this script is attached to
     GetComponent<Renderer>().material.mainTexture = texture;
 }
void Start()
{
//创建一个新的2x2纹理ARGB32(带alpha的32位)且无mipmap
var texture=新的Texture2D(2,2,TextureFormat.ARGB32,false);
//设置像素值
设置像素(0,0,新颜色(1.0f,1.0f,1.0f,0.5f));
纹理。设置像素(1,0,颜色。清晰);
纹理。设置像素(0,1,颜色。白色);
纹理。设置像素(1,1,颜色。黑色);
//应用所有SetPixel调用
纹理。应用();
//将纹理连接到该脚本附加到的游戏对象的材质
GetComponent().material.mainTexture=纹理;
}
这将创建2x2像素的纹理并将其设置为像素颜色

有了这个,你可以制作自己的算法在纹理上绘制像素。 以下是使用纹理的参考

您还可以了解着色器,但它有点复杂。
下面是一个关于着色器的示例

您尝试过任何代码吗?您尝试过什么?您知道如何编写着色器吗?你是Unity3D的新手吗?读这个