• Как сделать плавный переход между анимациями?

    logpol32
    @logpol32 Автор вопроса
    Азиз Таджитдинов вопрос более "серьезного" характера. Анимация Spine, задержки, смешивания.
    Написано
  • Как бы вы оптимизировали большую сцену в 2D игре?

    logpol32
    @logpol32 Автор вопроса
    freeExec У меня нет объектов размером с пиксель. Типичный размер объекта 150x150 пикселей.
    Обычная картинка, которую я перетащил на сцену и сделал из неё префаб. У префаба указал - статик т.к. эта картинка просто будет стоять на сцене - дерево, например. Всё как в типовой 2D игре.

    Но при куче таких картинок, сильно проседает фпс. Как писали ниже в комментарии - сцена 100 на 100 юнитов - это не много. Что то не оптимизировано или я делаю не так.
    Никаких скриптов у картинок нет.
    Написано
  • Как бы вы оптимизировали большую сцену в 2D игре?

    logpol32
    @logpol32 Автор вопроса
    K0TlK С диска ничего не грузится.
    Есть самая обычная сцена 100 на 100 юнитов (2D игра). На сцене расположены "объекты - картинки", деревья, дома. Есть и объекты с анимацией - крутящиеся монеты и т.д.

    Сцена условно поделена на локации (лес, горы, деревня).
    Если оставить только лес (удалить горы и деревню) то фпс будет 240.
    Если оставить лес и горы - фпс 200.
    Чем больше объектов - тем значительнее ниже фпс. Вы писали, что сцена небольшая, но фпс при добавлении новой локации проседает.

    Никаких скриптов нет. Просто добавляем картинки, причем небольшие - 300x300 пикселей. Дом, дерево и т.д. Всё префабы, всё статик, никаких коллайдеров и т.д. - это фоновые картинки, префабы с image.
    А фпс проседает. (
    Написано
  • Как изменить имя столбца в SQLite?

    logpol32
    @logpol32 Автор вопроса
    Максим Припадчев, Как обновить базу данных SQLite? Это вроде один файл.
    Качать с https://www.sqlite.org/download.html и создавать новый файл БД?
    PS
    У меня на текущую БД завязаны плагины, sqlite net и куча всего....
    Написано
  • Как изменить имя столбца в SQLite?

    logpol32
    @logpol32 Автор вопроса
    Sand, SELECT sqlite_version();
    3.13.0
    Написано
  • Почему картинка с большей длинной менее четкая?

    logpol32
    @logpol32 Автор вопроса
    Evil_Vixen Спасибо за ответ. Да это сработало.
    Правда пишут, что так делать не надо т.к. часть устройств не поддерживают max size выше какого то (не знаю точно какого) значения. В общем рекомендуют не трогать эту настройку, а резать картинки на более мелкие части.
    Написано
  • Почему джойстик не работает в Unity?

    Хотел спросить, но про другой джостик. Про систему InputSystem в юнити, где назначаешь кнопки для клавиатуры, джостика. У меня в её настройках нет одной кнопки джостика - верхнего треугольника (1).
    Очень странно..
    Написано
  • Как и где хранить данные сохранения игрока в Unity?

    logpol32
    @logpol32 Автор вопроса
    Спасибо за ответ. Я уже переписал код и пытаюсь хранить там данные. Но есть проблема, которую опишу в другом вопросе.
    Написано
  • Как сделать картинку (панель) на весь экран?

    logpol32
    @logpol32 Автор вопроса
    2 У меня уже реализована подобная система. Практически как у вас.
    Есть объект префаб - менеджер окон, с [SerializeField], в которые я помещаю префабы-окна.
    Далее я обращаюсь к скрипту менеджера окон и вызываю окна, скрываю окна, переключаю окна и т.д.
    Плавное появление завязано на DOTWEEN.

    public class GameWindowsControllerScript : MonoBehaviour
    {
    
        [SerializeField] public GameObject[] gameWindows; // Массив окон.
    
        private GameObject gameWindow;
    
        public void OpenGameWindow(GameObject gameWindow, float animationDuration = 0.3f, System.Action callback = null)
        {
            // Активируем объект.
            gameWindow.SetActive(true);
    
            // Устанавливаем начальное значение прозрачности объекта в 0.
            gameWindow.GetComponent<CanvasGroup>().alpha = 0;
    
            // Плавно показываем объект с использованием DOTween.
            gameWindow.GetComponent<CanvasGroup>().DOFade(1, animationDuration)
    
            .OnComplete(() => { callback?.Invoke(); }); // По окончанию вызываем колбек.
        }
    }
    
    // и т.д.


    Кстати, кнопки на окнах тоже пришлось сделать "с нуля" с помощью DOTWEEN т.к. у стандартных кнопок нет плавного переключения нескольких картинок (либо резко переключаем картинки, либо плавно цвет, есть и анимация но не уверен, что там можно делать всё, что можно с дотвин).

    В общем спасибо - разобрался. Настроил пустышку - растянул и настроил панель. Заработало как надо.
    Написано
  • Как сделать картинку (панель) на весь экран?

    logpol32
    @logpol32 Автор вопроса
    Спасибо за ответ.
    Вопрос, вроде простой - но всё таки решения я не нашел. Мучал чат gpt - тоже пока нет результатов (

    1) К сожалению ваш код int screenWidth = Screen.width; никак не повлиял на результат. Всё так же -
    На разрешении 1920x1080 (вызываю в юнити метод ChangeResolution) панель растягивается на весь экран.
    На разрешении 1152x864 (когда по бокам экрана черные полосы) - панель заполняет центральную часть экрана, оставляя по краям пустое пространство.

    что странно - на большем разрешении панель на весь экран - на меньшем нет.

    2) Вы правы - я хочу заблокировать клики. Не понял смысл вашей идеи.
    У меня есть префаб DialogYesNoWindow - "пустышка". Внутри его само окно и панель.
    Включаю пустышку - появляется окно и панель.

    Возможно, мне не надо программно растягивать панель. Посмотрите на картинку.
    650a406496a3a594596901.jpeg
    Панель BackgroundPanel растянута (Strech), но её нет на экране. Её реальный размер 0 на 0.
    Это странно. У неё нет параметров Width и Height. И как её растянуть?

    3) Я правильно понял, что перетаскивая в редакторе панель, вы передаете в поле [SerializeField] private RectTransform _background; ссылку на компонент типа RectTransform с данного объекта?
    Разве так можно? Я думал, что в поле можно перетаскивать только объекты и получая ссылку искать на объекте компонент..
    Написано
  • Как расположить текст над объектом?

    logpol32
    @logpol32 Автор вопроса
    Сделал. У меня на канвасе не видно текст.
    Сделал без канвас, с помощью 3D Object->Text TextMeshPro. Вроде работает (надо потестировать).
    Написано
  • Почему опасно в php выставлять неограниченное время жизни сессии?

    SKEPTIC, ну как бы да...но это уже что то из ряда ненаучной фантастики.
    Написано
  • Почему опасно в php выставлять неограниченное время жизни сессии?

    Если у тебя нет https, то перехват сессии будет 100%

    Эмм...как бы без https не нужно перехватывать сессию, MITM (человек посередине)и т.д.
    Логин и пароль передаются в открытую. Ты просто получаешь логин и пароль (сниффер).
    Написано
  • Как исправить ошибку RenderTexture.Create failed: width and height must be larger than 0?

    logpol32
    @logpol32 Автор вопроса
    Спасибо за ответ. Кажется, я понял в чем ошибка. Делаю окно Tile Palette маленьким (не видно тайлов)- сыплются ошибки. Увеличиваю - ошибки "останавливаются".
    Как разработчик, работавший с несколькими IDE и технологиями - для меня такое поведение среды разработки непонятно. Какая разница IDE какой размер окна? Это вообще никак не должно влиять на дебаг и тем более вызывать ошибки.
    Написано
  • Как создать бесконечную сетку?

    logpol32
    @logpol32 Автор вопроса
    Нет (
    Там всё завязано на игроке. Мне же надо, чтобы сетки были в редакторе, где я по ним рисую уровень.
    Написано
  • Как исправить скрипт камеры?

    logpol32
    @logpol32 Автор вопроса
    Спасибо, ваш код работает (ссылки на игрока не надо так как камера лежит в нем и он её родитель).

    так понимаю, камеру дочерней сделали вы, чтобы всё спавнить вместе?

    Я делаю префаб игрока, который можно было бы легко настраивать.
    Но меня есть "проблема" связанная с камерой, поэтому я и хочу её сделать вложенной в игрока.
    Наверно, напишу её в другом вопросе.
    Написано
  • Как исправить баг повторной асинхронной загрузки сцены?

    logpol32
    @logpol32 Автор вопроса
    Звучит немного сложно. Целая, пусть и небольшая, но система.
    А нельзя понять что в коде выше не так? Вроде код простой - три строки.

    Я уже и асинхронно выгружал сцену и что только не делал. И обнулял все переменные/поля.
    Первый раз ведь работает - значит проблема в памяти, в значении переменных, что то загрузилось (сцена) и конфликтует.

    Кстати этот код есть почти во всех роликах на ютубе по запросу загрузочного экрана юнити.
    Ютуберы его активно копипастят друг у друга.
    Написано
  • Как исправить баг повторной асинхронной загрузки сцены?

    logpol32
    @logpol32 Автор вопроса
    Этот код, скорее всего и не мог это сделать т.к. void Start (выполнить код 1 раз - т.е. запустить корутину один раз), а не Awake (исправил - не помогло.)
    UnloadScene не должно работать т.к. за пределами return и LoadSceneAsync предполагает UnloadSceneAsync

    Пробовал многое - не грузит сцену второй раз и всё тут
    Написано
  • Почему меню не реагирует на наведение или нажатие мыши?

    logpol32
    @logpol32 Автор вопроса
    Figma-designer, я просто пишу на html/css delphi /c# и везде всё уже доступно "из коробки", то есть нет никакого листнера или он уже встроен в браузер/язык/фреймворк. Ну и тут также кнопку поместил - ок, событие назначил - ок, до префаба работало - да, после нет. ??? И пошел слои, координата z..причем клавиатура ведь работает без листнера.
    Написано