Size: a a a

2020 August 08

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
mr. Rick190
это которое eventData.delta?
без понятия, мод мобайл не делаю. У юнити свои встроеные методы отслеживания свайпов?
источник
2020 August 09

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
mr. Rick190
это которое eventData.delta?
кстати звучит похоже
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
можно да, тупо дельту считать
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
x чекаешь
источник

🗿

🗿🗿🗿 Ilushkins 🗿🗿🗿... in unity3d.ru
и все
источник

m

mr. Rick190 in unity3d.ru
ясно. благодарю
источник

A

Artemiy in unity3d.ru
Всем привет.
Есть шейдер у которого есть 3 текстуры. Первая текстура скрыта, показывается вторая, а третья выступает как маска, если пиксель черный то показывается вторая, если белый то первая.
Как проверить в коде или текстура полностью черная?

Сейчас я на каждом кадре делаю GetPixels и прогоняю все пиксели в цикле, но из-за этого проседает ФПС. Да можно сделать корутину и проверять на протяжении нескольких кадров по частям, разница особо не заметна будет, а по ФПС не будет так сильно бить, но может кто знает еще какие-то варианты?

Если вместо обычной RenderTexture использовать CustomRenderTexture будет какой-то выигрыш в производительности?
источник

S

Sdevy in unity3d.ru
mr. Rick190
ясно. благодарю
Touch.deltaPosition
источник

KE

Kirill Evdokimov in unity3d.ru
Artemiy
Всем привет.
Есть шейдер у которого есть 3 текстуры. Первая текстура скрыта, показывается вторая, а третья выступает как маска, если пиксель черный то показывается вторая, если белый то первая.
Как проверить в коде или текстура полностью черная?

Сейчас я на каждом кадре делаю GetPixels и прогоняю все пиксели в цикле, но из-за этого проседает ФПС. Да можно сделать корутину и проверять на протяжении нескольких кадров по частям, разница особо не заметна будет, а по ФПС не будет так сильно бить, но может кто знает еще какие-то варианты?

Если вместо обычной RenderTexture использовать CustomRenderTexture будет какой-то выигрыш в производительности?
Сабжа в вопросе нет. "Как проверить в коде" что?
источник

A

Artemiy in unity3d.ru
Kirill Evdokimov
Сабжа в вопросе нет. "Как проверить в коде" что?
Как проверить в коде сколько у текстуры черных пикселей?
источник

KE

Kirill Evdokimov in unity3d.ru
Какую задачу ты этим решаешь?
источник

KE

Kirill Evdokimov in unity3d.ru
Мне кажется способ не очень подходящий
источник

A

Artemiy in unity3d.ru
Я не придумал другого, может тогда ты подскажешь?)

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

KE

Kirill Evdokimov in unity3d.ru
Есть на уме два принципиально разных решения
источник

S

Sdevy in unity3d.ru
Artemiy
Я не придумал другого, может тогда ты подскажешь?)

Я даю игроку рисовать на текстуре объекта, он рисует по маске таким образом он якобы затирает верхнюю текстуру (для него это грязь), уровень пройден если грязи нет, то есть маска полностью затертая. В таком случае нужно узнать остались ли у маски незатертые пиксели (незатертые пиксели будем считать черные)
Думается мне что реализация сего должна быть в самом шейдере.
источник

KE

Kirill Evdokimov in unity3d.ru
Первое - это не работать с пикселями вообще, а генерировать на основе маски некоторую карту точек где пользователь должен пройти, чтобы стереть области, а далее получать с инпута положения пользователя за сессию и сверять с картой. Если прошел по всем точкам, то засчитывается как успех.
источник

A

Artemiy in unity3d.ru
Sdevy
Думается мне что реализация сего должна быть в самом шейдере.
Возможно и так, но мне же нужно менять уровни и хотелось бы какой-то бегунок повесить с прогрессом прохождения.
Я не знаю как из шейдера вернуть данные в скрипт или отправить данные в скрипт или еще что-то)
источник

A

Artemiy in unity3d.ru
Kirill Evdokimov
Первое - это не работать с пикселями вообще, а генерировать на основе маски некоторую карту точек где пользователь должен пройти, чтобы стереть области, а далее получать с инпута положения пользователя за сессию и сверять с картой. Если прошел по всем точкам, то засчитывается как успех.
Если использовать локальные или мировые координаты то не получится так как объект постоянно вращается. Разве что использовать точки на текстуре
источник

KE

Kirill Evdokimov in unity3d.ru
Второе - это проходиться по финальной текстуре compute шейдером, который имеет возможность читать и писать в любой пиксель. Завести себе служебный пиксель, куда в цвет записывать количество черных пикселей, а потом уже из cpu просто читать цвет этого пикселя и декодировать послание
источник

KE

Kirill Evdokimov in unity3d.ru
Artemiy
Если использовать локальные или мировые координаты то не получится так как объект постоянно вращается. Разве что использовать точки на текстуре
А пространство самого объекта взять нельзя? Он внутри самого себя статичен или имеет подвижные части?
источник