Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

А IDE какое? Своё или интегрируется в студию? А когда появится визуальный редактор форм — то где он будет?

Ну а в США есть закон, запрещающий использовать госусреждениям софт, исходный код которого доступен за границей (то есть любой опенсорс). Недавно здесь же и читал, вроде.

Шейдер тоже перестраивает меши каждый апдейт, как и канвас (потому что они двигаются). Вопрос ещё, меши из сцены имеют одинаковый размер на перспективной камеры на разном от неё (камеры) удалении? Ну и поворот трансформа тоже есть в скрипте, то есть функционал раскидан по двум частям — половина в шейдере, половина в скриптах (кстати, это получается по инстансу скрипта на каждый бар?).

Ну и в случае канваса легко слегка дописать контроллер для добавления стака баров друг над другом на одном объекте (что уже вызывает сложность в случае шейдера).

Но если все бары пихать в специальный канвас — то они за один дк отрисуются (одинаковые, конечно), но ничто не помешает делать произвольные префабы для баров (подложка там, изменение цвета при разных значениях и т. п.), чего трудно добится в шейдере. Есть сравнение шейдера с 50-100 барами и одного канваса со столькими же одинаковыми барами?

На мобилках же 30 фпс ограничение, кроме топовых с их 60 фпс.

А сколько DC в сцене?
По пулу: при запросе объекта при отсутствии свободных конечно будет инстанцироваться ещё один.

Сомневаюсь. ВОЗМОЖНО, это поможет при микродвижениях, но при малых и более — эффект вызовет отрицательную реакцию, поскольку применим очень ограниченно.
Так хромакей же сейчас везде есть, вроде.
Каким образом это поможет, когда есть лаг от датчиков? FPS не повысит, лаг не компенсирует.

А как синхронизировать "реальные ощущения" без воздействия на гипоталамус (мозжечок)?

func(1f) может быть иногда два раза вызовется, совсем не всегда. Время кадров ну очень редко ровно в единицу просуммируется. Поэтому, чтобы ТОЧНО вызвалось — вызываю принудительно.

Заменяет 99% таймеров

Я такой штукой пользуюсь:


  public static Coroutine InvokeDelegate(this MonoBehaviour mn, Action func, float time) {
        return mn.StartCoroutine(InvokeDelegateCor(func, time));
    }

    private static IEnumerator InvokeDelegateCor(Action func, float time) {
        yield return new WaitForSeconds(time);
        func();
    }

public static Coroutine InvokeDelegate(this MonoBehaviour mn, Action<float> func, float time, Action endFunc = null) {
        return mn.StartCoroutine(InvokeDelegateCor(func, time, endFunc));
    }

    private static IEnumerator InvokeDelegateCor(Action<float> func, float time, Action endFunc) {
        var timer = 0f;
        while (timer <= time) {
            func(timer / time);
            yield return null;
            timer += Time.deltaTime;
        }

        func(1f);
        if (endFunc != null)
            endFunc();
    }

А как хранить в случае общего ресурса для 3-5-10 объектов? Копировать? Иметь ещё одну специальную папку?

Можно же сделать класс с данными и его брать через интерфейс и кастить.


public interface ISharedData {
    public object SharedData { get; }
}
public class Class1 : Monobehaviour : ISharedData {
    public class SharedConfig {
        public int intValue;
        public float floatValue;
        public string stringValue;
    }
    private SharedConfig config;
    public object ISharedData.SharedData() {
        return config;
    }

}

public class Class2 : Monobehaviour {
    private Class1.SharedConfig config;

    private IEnumerator Start() {
        while (GetComponent<ISharedData>() == null || GetComponent<ISharedData>().SharedData == null)
            yield return null;
        config = (Class1.SharedConfig) GetComponent<ISharedData>().SharedData;
    }
}
C таким уточнением — согласен
Если их смешивать, то иногда такой ужас получается ))

Информация

В рейтинге
Не участвует
Откуда
Лакинск, Владимирская обл., Россия
Дата рождения
Зарегистрирован
Активность