• Почему в Unity возникает баг при разрезании картинки на тайлы и как его исправить?

    logpol32
    @logpol32 Автор вопроса
    freeExec, бенчмарков не проводил, потому что это не умная статья а база. Это база (c). Это описано в документации, с этим никто не спорит на официальном форуме юнити, на эту тему есть статьи от про разработчиков на реддите.
    На прикрепленной картинке (файлообменник) нет черного прямоугольника, но баг будет. От цвета картинки ничего не зависит. Картинку качали другие люди и у них тоже был этот баг.
    Вчера сообщил о баге в поддержку юнити. Будет ответ, будет патч-фикс или "так и должно - режте и ищите глазами" узнаю через 2 недели.
    Написано
  • Почему в Unity возникает баг при разрезании картинки на тайлы и как его исправить?

    logpol32
    @logpol32 Автор вопроса
    freeExec,
    1) Он не квадратный. Квадрат - это правильный четырёхугольник, у которого все углы и все стороны равны.
    Как видно из картинки - вверху есть выступы. А далее - картинку режут на 4 части. И нижняя сторона также будет содержать множество выступов. Не говоря о пустых местах внутри, что наверно не играет роли, но все же так.

    2) Как работает Mesh Type можно почитать тут.
    https://thegamedev.guru/unity-gpu-performance/spri...

    но если кратко - теперь все пустые места по краям, также будут участвовать в рендеринге. С учетом множественного использования тайла (рисую по сетке) получим доп нагрузку.

    3) Априори так быть не должно. Юнити не должен удалять часть картинки. Его алгоритм разбиения и обводки должен работать корректно.

    Вот файлы
    https://cloud.mail.ru/public/UwLw/cErTGfKWi
    Написано
  • Почему скрипт не работает и как это исправить?

    Код не очень хороший.
    whichPl всегда false т.к. в начале whichPl = false;

    Для регистрации столкновения или пересечений (триггеры) минимум у одного объекта должно быть твердое тело.
    Написано
  • Как сделать плавный переход между анимациями?

    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 Автор вопроса
    Спасибо, ваш код работает (ссылки на игрока не надо так как камера лежит в нем и он её родитель).

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

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