Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Unity -- учим вместе | страница 18
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 18 из 18
На страницу: Пред.  1, 2, 3 ... 16, 17, 18    Перейти:   Все страницы
Поиск в этой теме:
Канал Игры Мечты: «Unity -- учим вместе»
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Вопрос назрел про шейдеры.

Есть такой контекст: в некоторый момент пользователь активирует диалог-меню, и во время этой активации блурится и темнится фон, происходит выбор в меню, далее отблур и просветление обратно.

Собрал блур на шейдере, который на image, и через это все смотрится на фон. Все красиво, но обнаруживается, что телефон начинает дико греться.

Беру шейдер попроще (вначале был O(r^2), стал O(r)) и после допиливания к контексту-дизайну вычислительная сложность упала на 1-2 порядка. Тем не менее, хотелось бы еще больше сэкономить батарею пользователю.

Идея и вопрос такие. Можно ли сделать так, чтобы заблуривался фон, а после заблуривания полученная картинка становилась статичной без постоянной покадровой работы шейдера? Например, заблурили, в шейдер передали флаг что заморозь картинку, он ее запоминает и перестает вычислять одно и тоже.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 15:22 22-08-2019   
Jurec
 348 EGP


Ведущий раздела
Рейтинг канала: 4(76)
Репутация: 102
Сообщения: 1441 Заблокирован
Откуда: Seattle
Зарегистрирован: 25.02.2006
1) юзай separate blur, то есть сначала горизонтально, потом вертикально (или наоборот) + используй mipmap поменьше, который уже "заблурен" билинейной интерполяцией

2) делай блур не материалом, а просто через https://forum.unity.com/threads/using-a-rendertexture-to-apply-a-shader-to-a-texture.437213/

таким образом сделаешь блур как раз один раз и больше он вызываться не будет.
_________________
MOV topka, C++
    Добавлено: 21:57 07-10-2019   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Да, последний блур у меня separate, и для него подбирал разрешение. Mipmap идею понял, но надо поразбираться с шейдерами как это лучше сделать.

То что по ссылке это скорее всего самое то что искал, спасибо. В блюжайшее время попробую.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 11:34 12-10-2019   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Есть 2 или более мобильных телефонов, на них стоит одно и то же приложение. Хочется, чтобы они по wi-fi (без интернета) увидели друг друга, и один из них сделал запрос на второй и далее общая сессия с обменом данными. Потом чтобы можно было подключить 3-й, 4-й и т.д.

Как это лучше сделать средствами Юнити? Не Pro, хотелось бы конечно из коробки (без ассетов), в идеале взять какой-нибудь Network Manager и выбрать пару флагов, но если нет, то часть логики написать самому. Там что-то происходит с UNet, и совсем не в курсе (висит UNet is deprecated, and will be removed from Unity in the future, а новой вроде не видно). Не понятно как-то куда лучше копать.
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 22:30 12-02-2020   
seaman
 59 EGP

Репутация: 2
Сообщения: 18
Откуда: Самара
Зарегистрирован: 15.01.2017
Поищите по запросу WiFi-direct.
Пример для андроид https://github.com/saltyJeff/UnityWifiDirect
В сторе есть на этой основе https://assetstore.unity.com/packages/tools/network/mnf-mobile-network-framework-53955
или там же под iOS ссылка
    Добавлено: 20:38 13-02-2020   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Нужен и Android, и iOS. Хотелось бы конечно забесплатно.

На это посмотрю, спасибо, может по ключевым следам на что-нибудь еще выйду.

Пока что не копал сложность вопроса. Если функционал сводится к открытию сервера на каждом устройстве, далее сканирование по некоторому диапазону адресов-портов в окружении, и передаче сообщений с контролем соединения, то можно попробовать самому. Но с платформенно-зависимыми заморочками, распознаванием wi-fi и т.п. возиться уже не хочется, хочется уже такое передать на стороннюю библиотеку.

Пока что мысли что стоит взять UNet, несмотря на то что он объявлен deprecated.
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (21:27 13-02-2020), всего редактировалось 1 раз
    Добавлено: 21:01 13-02-2020   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Unity 2019.3 перестал поддерживать iOS 9, и теперь iOS+. В связи с этим возник такой вопрос. Если приложение в магазине уже опубликовано, и оно уже iOS 9+. Далее, если делаем стандартную сборку Unity, то получаем в магазине ошибку ITMS-90109: This bundle is invalid, что Apple не дает выпоускать обновления, которые уменьшают множество поддерживаемых устройств.

По большому счету предлагают два пути:
1) оставаться на предудущем множестве, и использовать Unity 2019.2, не выше.
2) выпустить новый бандл, собрать запрос в старом на установку нового (чтобы пользователь после захода в приложение кликнул и перешел на новый бандл для загрузки).

Во втором случае мы потенциально теряем значительную часть базы пользователей. В первом работаем уже только на старом Unity.

Есть какие-нибудь другие варианты решения? Потому как лично я не наблюдаю повсеместного использования второго пункта, такое впечатление что все продолжают использовать старые версии Unity. Единственно видел подобное в Hearthstone, где приложение запрашивает загрузку с магазина. Хотя может Blizzard может себе такое позволить.

И вопрос в следующих моментах.

1) Можно ли скомпилировать сборку в XCode в новом Unity, но указать что он подходит для iOS 9? Теоретически, устройств на iOS уже не осталось, и все равно если указать 9+ практически ни у кого проблем не будет. Можно ли так сделать и насколько это политкорректно?

Может есть другой вариант аккуратного использования Unity 2019.3?

2) Насколько критичен для базы пользователей вариант 2?
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 01:04 04-03-2020   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
По моему последнему вопросу отбой.

Как оказалось, 2019.3 требует iOS 10. В то же время, пытается сохранить совместимость по сборке для 32bit устройств и включает в required capabilities опцию metal. Такая комбинация не нравится системе публикаций приложений в AppStore. Полагаю, что конфликт возникает что требуется metal, но при этом на ios 10 могут работать устройства без metal.

Если перейти на сборку только 64 бит, то проблема пропадает. Но для этого нужно уйти в metal/arm64 (без armv7), и например поднять iOS (11 достаточно, но может и 10.3 достаточно будет, не проверял). Unity еще как-то до конца не разруливает переход в 64bit, так как при указании architecture ARM64 следы armv7 с проекте сохраняются (plist например, что можно подчистить уже самому)
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 12:47 11-03-2020   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Пробую понять сетевой и многопользовательский уровень Unity, и что-то не совсем получается.

Изначально картинка и задача была такая. Есть несколько устройств c Wi-Fi (iOS и Android), и на каждом из них установлено наше Unity-приложение. Необходимо организовать обмен данными между этими приложениями с контролем соединений, идентификацией, защитой транспорта и т.д.

Себе я представлял, что должна существовать подсистема, с помощью которой можно для каждого приложения создать сервер с некоторым открытым портом, далее приложение может сканировать по wi-fi близлежащие устройства и пробовать найти такой же сервер. Далее подключение, идентификация и обмен данными. еще хотелось тотальный peer-to-peer, но в крайнем случае подойдет и клиент-сервер.

Хотелось бы это организовать средствами Unity. Но посмотрев на то что сейчас происходит в движке, стало как-то не понятно. UNet записан в deprecated, на смену заявлен(ы) New networking layer/Game Server Hosting.

Сейчас смотрю в своем Unity 2019.3, и там среди пакетов вижу Multiplayer HALPI. Это старый UNet? Или он уже адаптирован под новые New networking layer? Еще наблюдаю Unity NetCode и Unity Transport - это элементы New networking layer? или отдельные библиотеки?

Еще есть сообщения о целесообразности из-за (UNet событий) использования сторонних библиотек, например Mirror.

Какие сейчас магистральные пути применения средств юнити для сети и многопользовательских режимов? Как можно/лучше реализовать описанный выше функционал? Есть ли обзорные статьи-описания где это подробнее по понятиям разобрано?
_________________
μηδείς αγεωμέτρητος εισίτω

Последний раз редактировалось: Minx (03:33 19-07-2020), всего редактировалось 1 раз
    Добавлено: 00:22 16-07-2020   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Есть старые (legacy) анимации и новые. Первые это если Animation и в него ставим Motion. Новые это если у нас есть State-машина, где для каждого состояния можно задать Motion и движок обеспечивает трасформацию из одного состояния в другое.

Legacy анимации удобны если хочется просто что-то одноразово проанимировать. Например, появляется элемент с изменением scale по кривулине с 0 до 1.2 и потом к 1. Красиво. Или, изменился элемент и хочется привлечь внимание пользователя - делаем на секунду Rotation по Z в обе стороны туда-сюда. Захотели проанимировать для обоих случаев - дернули Animation - Play

Если делать тжс через State-машину, то там все как-то криво получается. Чтобы просто проанимировать надо (например) сделать состояние с этой анимацией и продержать там элемент заданное время. Переход в состояние через флаг-переменную и из него обратно. Здесь надо делать состояния, надо контролировать конец анимации, запуск же не совсем оченьвиден (Animator - Setbool например).

Нужно ли постепенно уходить от Legacy анимаций? Если да, то как предполагается делать простые анимации на новых аниматорах без лишних телодвижений - создания state-машин, переходов между состояниями и т.д.?
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 16:41 15-03-2021   
ТехноМаг
 360 EGP


Рейтинг канала: 2(18)
Репутация: 93
Сообщения: 2507
Откуда: Кронштадт
Зарегистрирован: 09.04.2007
Minx, тут кроме меня и тебя никого нет. А Юнька, извини, не моя тема =(
_________________
(Л)"Алекс, я живу уже почти 200 лет. но как видишь, выгляжу я всего на 20. И это не единственное отличие меня от людей."
    Добавлено: 18:36 22-03-2021   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Да, есть в этом что-то. Но кто-то же написал 18 страниц Подмигиваю
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 11:10 23-03-2021   
seaman
 59 EGP

Репутация: 2
Сообщения: 18
Откуда: Самара
Зарегистрирован: 15.01.2017
Для простых анимаций лучше всего и проще всего использовать какой-нибудь твинер, Мне нравится DoTween
https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676
А как уж там внутри реализована анимация - неважно (обычно просто прямым изменением трансформа).

Последний раз редактировалось: seaman (21:31 25-03-2021), всего редактировалось 1 раз
    Добавлено: 21:30 25-03-2021   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Про сторонние библиотеки как-то не думал, надо посмотреть.

Но тут как-то не понятно, как же разработчики Unity предполагали не-legacy способом проводить простейшие анимации без состояний?

Как-то странно. Там еще под капотом библиотек может окажется что legacy-анимации. И в какой-то момент из ядра вдруг их уберут как legacy и всё как посыпется..
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 23:57 27-03-2021   
Zachesa
 151 EGP


Рейтинг канала: 4(95)
Репутация: 13
Сообщения: 1415
Откуда: Хабаровск
Зарегистрирован: 12.11.2007
ТехноМаг :
Minx, тут кроме меня и тебя никого нет. А Юнька, извини, не моя тема =(
Я тоже заглядываю иногда, но больше просто читаю...
_________________
Язык Образов, для ситуационного моделирования, программирования и как язык мысли, думающей машины.
    Добавлено: 09:59 30-04-2021   
Minx
 978 EGP


Модератор
Рейтинг канала: 6(328)
Репутация: 135
Сообщения: 10521
Откуда: Gomel, Belarus
Зарегистрирован: 19.11.2005
Есть такое свойство - isStatic. То есть, если мы поместили на сцену объекты, и не собираемся их перемещать, то пометив их, мы повышаем производительность Unity. Так понял что идея тут в том, что Unity заранее объединяет все статические элементы в один меш, готовит это дело как константу для каждого тика, и далее массированно всё это и эффективно обрабатывается.

Попробовал поискать как его корректно применять в динамике - не нашёл.

Далее попробовал сделать так:

Код:
var script = Instantiate(prefab ..
script.gameObject.isStatic = true;

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

Так можно делать, нет ли тут ничего криминального?
Может есть более корректные способы?
_________________
μηδείς αγεωμέτρητος εισίτω
    Добавлено: 04:00 04-01-2022   
Канал Игры Мечты: «Unity -- учим вместе»
На страницу: Пред.  1, 2, 3 ... 16, 17, 18    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Теперь пытаюсь понять, то ли я дурак, что полез на начальном бастере во вторую миссию, то ли так и надо...(J()HN установив новый патч для Х3)

  » Unity -- учим вместе | страница 18
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18