Страница 1 из 1

Создание прозрачной текстуры (программно) без перебора

СообщениеДобавлено: 06 май 2016, 12:09
Roman777
Добрый день!
Подскажите, пожалуйста, возможно ли с помощью аналогичного кода:
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Start() {
        Texture2D texture = new Texture2D(128, 128);
        GetComponent<Renderer>().material.mainTexture = texture;

        for (int y = 0; y < texture.height; y++) {
            for (int x = 0; x < texture.width; x++) {
                Color color = ((x & y) != 0 ? Color.white : Color.gray);
                texture.SetPixel(x, y, color);
            }
        }
        texture.Apply();
    }
}

задать объекту texture изначально прозрачную текстуру, не проходясь циклом по каждому пикселю?

Re: Создание прозрачной текстуры (программно) без перебора

СообщениеДобавлено: 06 май 2016, 12:52
Diab10
Нельзя. Можно сделать маленькую текстуру, 2х2, чтобы меньше ждать.

Ещё, советую сделать вначале массив цветов отдельно, и потом назначить через texture.SetPixels - будет быстрее

Re: Создание прозрачной текстуры (программно) без перебора

СообщениеДобавлено: 06 май 2016, 14:06
Roman777
Diab10, Спасибо за ответ. Я то на самом деле хотел график строить. Там текстура могла быть 1000х1000. Хотел обрабатывать только те точки, которые относятся к кривой графика функции. Поэтому думал, есть возможность создать прозрачную основу, а на ней уже рисовать только линию графика.
Что Вы имели в виду под массивом цветов? массив может быть из объектов Color? не ткнёте в примерчик, пожалуйста?

Re: Создание прозрачной текстуры (программно) без перебора

СообщениеДобавлено: 06 май 2016, 16:27
Diab10

Re: Создание прозрачной текстуры (программно) без перебора

СообщениеДобавлено: 06 май 2016, 19:37
Roman777
Спасибо большое)))