Войти
Urho3DФорумЗАДАВАЙТЕ ВОПРОСЫ

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

Страницы: 1 2 3
#30
10:08, 14 фев 2018

AlexS32
а ты пробовал как GLoom посоветовал заюзать unlit шейдер для screen техники, у тебя же насколько я понял, screen для видео потока с камеры? модификация скрина светом там не нужна по идее(?)

<technique vs="Unlit" ps="Unlit" psdefines="DIFFMAP">
    <pass name="screen" depthwrite="false" depthtest="always" blend="alpha" />
</technique>
#31
11:48, 14 фев 2018

У урхи есть такая особеность - игнорировать отсутсвующие ресурсы. Например если нужна текстура а её нет то будет использоваться последняя текстура которая была задействована для семплера. Если нет данных в модели о цветах вершин а шейдер их требудет - то он молча продолжит работать. Из за этого бывают визуальные глюки из разряда "хрен поймёшь почему так". В твоём случае вроде бы всё проще должно быть. Но имей в виду на всякий случай.

#32
15:11, 14 фев 2018

В варианте с unlit все работает. Видимо на этом варианте пока и остановлюсь. Спасибо.
Хотя все же очень хочется понять такое странное поведение.
А так же не до конца понятна возможность использования такого экрана в будущем в задаче с обрезкой фона по человеческой фигуре. В этой задаче необходимо, чтобы все, что не соответствует маске было прозрачным и пользователь видел фон.
Но это можно проверить не сложным экспериментом.

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

#33
15:53, 14 фев 2018

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)

#34
16:37, 14 фев 2018

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

#35
17:29, 14 фев 2018

>Я проводил эксперименты и с пассом "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>

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

#36
18:17, 14 фев 2018

Очень это все странно. Значит надо будет еще поэкспериментировать.

#37
21:21, 14 фев 2018

AlexS32
> "Ommy - Animated Emoji"
не поддерживается( note 3 - android 5.0

#38
10:50, 15 фев 2018

Zamir к сожалению пришлось задрать требования к системе - реализация записи видео требует Android 7.0

Страницы: 1 2 3
Urho3DФорумЗАДАВАЙТЕ ВОПРОСЫ

Тема в архиве.