Mohu-li přispět trochou moudra, pak bych řekl asi toto: rozlišení textury, PBR ani další podobné úvahy s tím nemjí nic společnýho. Toto je čistě problém alpha blendingu a je to problém obecný pro jakýkoliv game engine. Pokud používáš texturu s průhledností, jsou v zásadě dva hlavní způsoby, jak ji render může interpretovat. Buďto jako alpha-blended anebo alpha cut-off-
1 - alpha blended znamená, že textura může mít až 256 úrovní průhlednosti (typicky sklo). V tomto případě ovšem záleží na pořadí vykreslování. Abys něco viděl za takto průhledným objektem, musí to být vykresleno před ním. (toto je obecně největší problém daného způsobu renderingu, jelikož v podstatě nejde zajistit správné univerzální řazení pro všechny situace).
2 - alpha cut-off znamená, že hodnota alfa kanálu je "oříznuta" na určitý limit. Výsledek je že pixely textury jsou buď úplně neviditelné (100% průhlednost) anebo úplně opacitní (normální stav). V podstatě je hodnota alfy interpretovaná jako binární hodnota. V tomto případě na pořadí vykreslování nezáleží a bude to zobrazeno vždy správně (pokud se nepodělá neco jinýho).
V tvém případě máš několik možností:
1 - pokud budeš mít na textuře jen pletivo anebbo zábradlí, je situace jednoduchá. Použij GLOBAL_no_blend 0.5 (popřípadě ATTR_no_blend) a nemusíš nic dál řešit
2 - pokud bys měl na textuře i popoprůhledné části (sklo za kterým má něco být vidět) je situace složitejší. Správné pořadí vykreslování lze řídit, ale záleží na aplikaci. V Blenderu to jde celkem v pohodě, ve Sketchupu je to téměř vyloučené. Nicméně pokud by to nešlo jinak, musel bys tyto poloprůhledné části udělat jako samostatnej objekt a tomu pak určit vykreslovací prioritu (například ATTR_layer_group objects +1) |
|