Создал простенький шейдер (см скрин), в Q3D сцене при включении прозрачности первого объекта он все равно как-то перекрывает второй (обрезает силуэтом), хотя к обоим применен одинаковый шейд - второй не перекрывает первый в прозрачном состоянии. Посмотрите сценку
Помогите разобраться, хочу реализовать плавное скрытие объектов, но из-за этой проблемы не могу. Сцену прикрепил, версия квеста 4.3.2
а чем этот вариант не подошел? :)
https://guest3d.wohlnet.ru/forum/index.php?topic=1531.0
Что бы правильно визуализировать полупрозрачные объекты, их нужно сортировать по удаленности, то-есть сначала рисуем дальний, затем ближний к камере.
В этой теме:
https://guest3d.wohlnet.ru/forum/index.php?topic=1467.0
я советовал использовать загрузчик, и хранить объекты в массиве.. можно было бы сортировать объекты в массиве, по удаленности от камеры.. ;)
Если у тебя сейчас объекты непосредственно линкуются к каналу рендер, то можно выйти из положения, нужно подключить объекты через ChannelSwitch, и мутить системку, которая берет значения удаленности объектов, загоняет их в массив, затем массив сортируется, дальше в цикле вызываются на рендер объекты, путем передачи в ChannelSwitch индекса.
Со стандартными материалами квеста отличный вариант, но хотелось бы еще применительно к шейдерам.
Хотите увидеть уличную магию?
Цитата: Sqwer от 28 июля 2010, 22:23:35
Хотите увидеть уличную магию?
Гениально, а если объектов штук 20 в сцене?
Плиз хелп, тема актуальная! Мне кажется многие проекты требуют реализации скрытия объектов, будь то тюнинг авто, интерьеры или архитектура - где необходимо скрыть какие-либо детали или поставить другое на его место на выбор. Если это не реализуется через канал опасити, то какой другой способ используют в этом случае?
обычно сортируют (бэк ту фронт), но имеено в твоём примере сортировка бесполезна (объекты ввиде кольца охватывают другой)
В 11ДХ есть эффективное средство борьбы с этим, но Квест развиваться не хочет. :-\
А если объектов 500, то... и если они скрываются не одновременно, то не вижу проблем организовать логику на подобии той что в примере.
сначала рендерь непрозрачные объекты, потом прозрачные
прозрачные лучше отсортировать по приближенности к камере, это для реалистичности сцены
ну а если уже есть сортировка то можешь непрозрачные отсортировать по удалению от камеры, это для производительности
вот по шустрому набросал пример как можно сделать в квесте динамическое разделение на прозрачные и не прозрачные объекты с помощью ОО
хотя некоторый баг там всё же присутствует, но он больше связан с логикой разделения на прозрачные/непрозрачные
Ужас, глядя на все эти хитровыплетенные мозговыносящие алгоритмы остается только лишь отказаться от плавного скрытия объекта через опасити и сделать через сурфейс. Всем спасибо!
да вроде не так уж там всё и страшно, и поверь, это детский лепет по сравнению с тем что приходиться писать чтоб зарабатывать себе на жизнь))
но в целом, рано или поздно все приходят к тому что надо как то обобщить и автоматизировать взаимодействие с объектами, по сути это единственное что там добавилось сложное и поначалу не понятное
Alteste, как вы импортировали объекты на сцену?
Как сделать так чтобы был подключен канал HLSL Object? При стандартном импорте на этом месте канал 3d Object Data.. И простое замещение не подходит, т.к. объект просто пропадает.
Поэтому вижу лишь один выход - импорт как у вас. Подскажите, пожалуйста
старая ObjectData никуда не выкидывается а коннектится к HLSL Object