Urho3D
GameDev.ru / Сообщества / Urho3D / Форум / Отсечение части объекта. (3 стр)

Отсечение части объекта. (3 стр)

Страницы: 1 2 3
codingmonkeyПостоялецwww14 фев. 201810:08#30
AlexS32
а ты пробовал как GLoom посоветовал заюзать unlit шейдер для screen техники, у тебя же насколько я понял, screen для видео потока с камеры? модификация скрина светом там не нужна по идее(?)
<technique vs="Unlit" ps="Unlit" psdefines="DIFFMAP">
    <pass name="screen" depthwrite="false" depthtest="always" blend="alpha" />
</technique>
GLoomУчастникwww14 фев. 201811:48#31
У урхи есть такая особеность - игнорировать отсутсвующие ресурсы. Например если нужна текстура а её нет то будет использоваться последняя текстура которая была задействована для семплера. Если нет данных в модели о цветах вершин а шейдер их требудет - то он молча продолжит работать. Из за этого бывают визуальные глюки из разряда "хрен поймёшь почему так". В твоём случае вроде бы всё проще должно быть. Но имей в виду на всякий случай.
AlexS32Постоялецwww14 фев. 201815:11#32
В варианте с unlit все работает. Видимо на этом варианте пока и остановлюсь. Спасибо.
Хотя все же очень хочется понять такое странное поведение.
А так же не до конца понятна возможность использования такого экрана в будущем в задаче с обрезкой фона по человеческой фигуре. В этой задаче необходимо, чтобы все, что не соответствует маске было прозрачным и пользователь видел фон.
Но это можно проверить не сложным экспериментом.

Кстати, несколько не в тему, но если интересно посмотреть наш первый "публичный" образец использования Урхи под Android, выложили такую прогу: "Ommy - Animated Emoji"

Правка: 14 фев. 2018 15:12

codingmonkeyПостоялецwww14 фев. 201815:53#33
AlexS32
>Хотя все же очень хочется понять такое странное поведение.
Я могу лишь предположить что:
У тебя в RenderPath'e не было пасса для
<command type="forwardlights" pass="light" />


<pass name="base" /> - нарисовать дифуз/альбедо с учетом амбиентлайта из Zone, Fog'a...

<pass name="litbase" psdefines="AMBIENT" /> - оптимизационный пасс, исполняется вместо base(если я ничего не путаю), делает все тоже самое что и base + еще один источник света берется для просчетов картинки, наверное ближайший поинтлайт или директлайт

<pass name="light" depthtest="equal" depthwrite="false" blend="add" /> - лайт-пасс по кол-ву влияющих лампочек, аддитивно пишется поверх того что было нарисовано в base или litbase

как-то так вроде, но это не точно )

+ еще должны быть источники света в сцене, которые как-то светят на плоскость экрана(screen)

AlexS32Постоялецwww14 фев. 201816:37#34
codingmonkey
К сожалению предположение неправильно. Я проводил эксперименты и с пассом "light". От его наличия или отсутствия я эффекта не ощутил, хотя на сцене 3 источника света. Более того, если в моих техниках заменить пасы на "alpha" и "litalpha", а в рендерпасе оставить только один пасс "alpha" то все будет отображаться нормально.
Фактически, на мой взгляд, речь идет о том, что почему-то нельзя сделать кастомный пасс аналогичный alpha. Хотя такая возможность в доке подразумевается. Либо невозможно использовать два "alpha" пасса.

Правка: 14 фев. 2018 16:39

codingmonkeyПостоялецwww14 фев. 201817:29#35
>Я проводил эксперименты и с пассом "light"
ну вот, значит я уже забыл что там и как в урхе(

>нельзя сделать кастомный пасс аналогичный alpha.
Странно, попробовал у меня работает. Кастомный альфа пасс с альфой и лампочками.

Рендерпатч.

+ Показать

Техника.

<technique vs="LitSolid" ps="LitSolid" psdefines="DIFFMAP">
    <pass name="myCustomAlpha" depthwrite="false" blend="alpha" />
    <pass name="litmyCustomAlpha" psdefines="PERPIXEL" depthwrite="false" blend="addalpha" />
    <pass name="shadow" vs="Shadow" ps="Shadow" />
</technique>

на сфере стандартная текстура из ассетов ухи и материал с техникой выше
Изображение

Правка: 14 фев. 2018 17:31

AlexS32Постоялецwww14 фев. 201818:17#36
Очень это все странно. Значит надо будет еще поэкспериментировать.
ZamirПостоялецwww14 фев. 201821:21#37
AlexS32
> "Ommy - Animated Emoji"
не поддерживается( note 3 - android 5.0
AlexS32Постоялецwww15 фев. 201810:50#38
Zamir к сожалению пришлось задрать требования к системе - реализация записи видео требует Android 7.0
Страницы: 1 2 3

/ Форум / Urho3D - игровой движок / ЗАДАВАЙТЕ ВОПРОСЫ

2001—2018 © GameDev.ru — Разработка игр