Для текстур использую атлас (в нем все блоки). Я вынужден так делать, потому что для оптимизации использую Combine Mesh.
Вообщем я ищу шейдер по следующим критериям:
Поддержка прозрачности и теней одновременно.
Было бы идеально если бы я мог задать альфа текстуру, что то типо Shadow map, что бы тени были только там где альфа равна нулю.
Да, сейчас кто то скажет что есть Cut Off Transparent Shader, но его нельзя использовать, для например текстуры грязного окна (просто потому что это не совсем прозрачность, это обрез какого то уровня альфы).
Однажды я уже находил шейдер который и прозрачный и теневой одновременно.
Но у прозрачных шейдеров есть болезнь:
они много кашляют когда идет дождь
На расстоянии видны белые линии между блоками.
Такое ощущение что при использовании transparent diffuse на расстоянии смещается UV. В Cinema 4D я у каждого блока отвел в мертвую зону 0.5 пикселя. Т.е. развертку блока я сделал и так меньше чем сама текстура блока (64х64 в атласе, а беру 63x63 со смещением в пол пикселя).
Смотрите на скриншоты:
Первый скрин Transparent Diffuse
второй простой Diffuse. Линии особенно видны при движении. И особенно на больших мониторах.
Какие есть решения? Шейдеры?Добавлено (29.07.2014, 16:47)
---------------------------------------------
Ахахахахах жееесть.
Проблема смещения UV - Antialiasing !
убрал с x8 до Disabled - линии пропали..
Даже при x2 они уже заметны.. Печально что я не смогу использовать это.. А этому есть решение?
Добавлено (29.07.2014, 16:56)
---------------------------------------------
Я уже находил шейдер с прозрачностью и тенями.
Вот он сам :
Transparent Shadow
Но его проблема : если сделать один блок прозрачным, то то за ним - не рендерится.
Точнее если смотреть через этот прозрачный блок, то следующие блоки не видно сквозь него! Видно террайн, скайбокс. Но не блоки.
Что посоветуете?