Pull to refresh
0
0

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

Send message
На мобилках же 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 таким уточнением — согласен
Если их смешивать, то иногда такой ужас получается ))
Например, Metal War Online работал в WebGL, пока
С 1 апреля 2015 года, Google Chrome, а за ним и многие другие браузеры, прекратили поддержку Unity Web Player.
имеет ряд проблем с производительностью, потреблением памяти и работоспособностью на мобильных устройствах

с кривыми руками на любом движке проблемы будут. Множество игр в Гугл Плей на нём написано, на ПК много, Escape From Tarkov тоже на нём пишут.
Поэтому данный вариант не пользуется популярностью и я не стану его подробно рассматривать.
да вообще без комментариев
Unity имеет встроенную симуляцию физики, для этого используется встроенный движок PhysX от NVIDIA

если только для 3D, в 2D там box2D используется

Для лицевой анимации Skinning mesh не подходит? Или это сложнее рига?

А это как определить? Вроде вполне ньютоновская.

Затухание можно сделать добавив множитель 1-(Time/maxTime)

Information

Rating
Does not participate
Location
Лакинск, Владимирская обл., Россия
Date of birth
Registered
Activity