Quest3D - Русскоязычное сообщество

Quest3D => Визуализация, Шейдеры => Тема начата: Alteste от 28 Июля 2010, 15:31:20



Название: [shFX] Проблема с прозрачностью между объектами
Отправлено: Alteste от 28 Июля 2010, 15:31:20
Создал простенький шейдер (см скрин), в Q3D сцене при включении прозрачности первого объекта он все равно как-то перекрывает второй (обрезает силуэтом), хотя к обоим применен одинаковый шейд - второй не перекрывает первый в прозрачном состоянии. Посмотрите сценку
Помогите разобраться, хочу реализовать плавное скрытие объектов, но из-за этой проблемы не могу. Сцену прикрепил, версия квеста 4.3.2


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: Ruslan от 28 Июля 2010, 15:38:27
а чем этот вариант не подошел?  :)
http://guest3d.wohlnet.ru/forum/index.php?topic=1531.0

Что бы правильно визуализировать полупрозрачные объекты, их нужно сортировать по удаленности, то-есть сначала рисуем дальний, затем ближний к камере.
В этой теме:
http://guest3d.wohlnet.ru/forum/index.php?topic=1467.0
я советовал использовать загрузчик, и хранить объекты в массиве.. можно было бы сортировать объекты в массиве, по удаленности от камеры..  ;)
Если у тебя сейчас объекты непосредственно линкуются к каналу рендер, то можно выйти из положения, нужно подключить объекты через ChannelSwitch, и мутить системку, которая берет значения удаленности объектов, загоняет их в массив, затем массив сортируется, дальше в цикле вызываются на рендер объекты, путем передачи в ChannelSwitch индекса.


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: Alteste от 28 Июля 2010, 15:48:27
Со стандартными материалами квеста отличный вариант, но хотелось бы еще применительно к шейдерам.


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: Sqwer от 28 Июля 2010, 21:23:35
Хотите увидеть уличную магию?


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: Alteste от 29 Июля 2010, 08:32:46
Хотите увидеть уличную магию?
Гениально, а если объектов штук 20 в сцене?


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: Alteste от 29 Июля 2010, 12:57:37
Плиз хелп, тема актуальная! Мне кажется многие проекты требуют реализации скрытия объектов, будь то тюнинг авто, интерьеры или архитектура - где необходимо скрыть какие-либо детали или поставить другое на его место на выбор. Если это не реализуется через канал опасити, то какой другой способ используют в этом случае?


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: Sqwer от 29 Июля 2010, 15:16:45
обычно сортируют (бэк ту фронт), но имеено в твоём примере сортировка бесполезна (объекты ввиде кольца охватывают другой)
В 11ДХ есть эффективное средство борьбы с этим, но Квест  развиваться не хочет.  :-\


А если объектов 500, то...  и если они  скрываются не одновременно, то не вижу проблем организовать логику  на подобии той что в примере.


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: DimiS от 29 Июля 2010, 19:22:04
сначала рендерь непрозрачные объекты, потом прозрачные
прозрачные лучше отсортировать по приближенности к камере, это для реалистичности сцены
ну а если уже есть сортировка то можешь непрозрачные отсортировать по удалению от камеры, это для производительности


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: DimiS от 29 Июля 2010, 20:06:00
вот по шустрому набросал пример как можно сделать в квесте динамическое разделение на прозрачные и не прозрачные объекты с помощью ОО

хотя некоторый баг там всё же присутствует, но он больше связан с логикой разделения на прозрачные/непрозрачные


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: Alteste от 30 Июля 2010, 09:07:00
Ужас, глядя на все эти хитровыплетенные мозговыносящие алгоритмы остается только лишь отказаться от плавного скрытия объекта через опасити и сделать через сурфейс. Всем спасибо!


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: DimiS от 30 Июля 2010, 11:33:22
да вроде не так уж там всё и страшно, и поверь, это детский лепет по сравнению с тем что приходиться писать чтоб зарабатывать себе на жизнь))
но в целом, рано или поздно все приходят к тому что надо как то обобщить и автоматизировать взаимодействие с объектами, по сути это единственное что там добавилось сложное и поначалу не понятное


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: DreadlockEugene от 26 Июля 2011, 13:03:43
Alteste, как вы импортировали объекты на сцену?
Как сделать так чтобы был подключен канал HLSL Object? При стандартном импорте на этом месте канал 3d Object Data.. И простое замещение не подходит, т.к. объект просто пропадает.
Поэтому вижу лишь один выход - импорт как у вас. Подскажите, пожалуйста


Название: Re: [shFX] Проблема с прозрачностью между объектами
Отправлено: DimiS от 28 Июля 2011, 17:21:11
старая ObjectData никуда не выкидывается а коннектится к HLSL Object