2016-03-21 2 views
0

Color stripКак я могу создать такое изображение в Unity?

Я хочу генерировать изображение, подобное этому динамически. Есть ли способ сделать это эффективно?

+0

Вы пробовали какие-либо коды? –

+0

Что вы пробовали? Вы знаете, как писать шейдеры? Вы новичок в Unity3D? –

+0

читайте это http://docs.unity3d.com/ScriptReference/Texture2D.SetPixels.html –

ответ

0

Вы можете сделать это с помощью шейдеров или сгенерировать текстуру.

Если Вы новичок в Unity3D и шейдерами, это может быть проще в использовании Texture2D.

Вот небольшой пример:

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; 
} 

Это создает текстуру 2х2 пикселей и устанавливает его цвета пикселей.

С помощью этого вы можете сделать свой собственный алгоритм для рисования пикселей на текстуре. Ссылка на Texture2D.SetPixel для использования Текстура.

Также вы можете узнать о шейдерах, но это немного сложнее. Вот SL-Reference около шейдеры.

Смежные вопросы