Další poznámka k VR64 brýlím

Už o nich nechcete číst, že ne?

Nějak poslední dobou nemám rád předčasné publikování nehotových projektů.
Myslel jsem, že už mám skoro hotovo, ale ukazuje se, že i zveřejnění brýlí jsem uspěchal.

Proto ani předem neoznamuju svůj další projekt, který sice vypadá slibně a už jsem o i v reálu vyzkoušel a začal nakupovat komponenty pro první várku, ale zas to může ztroskotat na nějakém detailu.
A vracím se proto zas k tomu, co jsem udělal za poslední dobu s brýlemi.
I když s nimi začínám být otravný.

Z hotových a vyzkoušených variant brýlí mi nakonec vyšly použitelné tři.

Ta, kterou jsem cenově optimalizoval (displej se stejnými parametry, jako původní, ale levnější, k tomu levnější brýle a celkově jednodušší výroba).
Náklady jsou kolem 1295 Kč (některé věci, jako spotřeba lepících pásek, tavného lepidla a papíru, se počítají dost obtížně).
Tato varianta ale nefunguje s Commodore 64, lze použít jen pro Spectrum a Atari. S jinými platformami jsem nezkoušel.
(Podle některých mých experimentů nefunkčnost s Commodore 64 může být dána slabým signálem z počítače, ne jeho strukturou.)

Náhlá hloubka obrazu, kterou normálně na monitoru nevidíme, patrná v brýlích, mne mile překvapila. Vypadalo to líp, než jsem čekal!
Sice se projevuje zkreslení při okraji zorného pole (v případě Spectra to znamená u horního okraje obrazu, tam, kde se v mé hře zobrazuje skóre) a rovněž při okrajích i větší pozorovací úhel se zkreslením barev, ale vypadá to jinak dobře, ani mi nevadila širokoúhlost obrazu (displej sice jde přepnout na 4:3, ale plocha, kterou je možné použít pro zobrazení, se tím zmenší).
Než se pustím do druhé hry, chci v té stávající ještě trochu trojrozměrnost vylepšit.

Druhá varianta odpovídá původním VR64 s použitím původních komponent.
Funguje s Commodore 64.
Protože původně Jimem použité brýle Shinecon se ukázaly jako méně kvalitní (hned u několika kusů jsem měl praský plast kolem horního magnetu), našel jsem jiný zdroj stejně vypadajících, ale mírně odlišných brýlí s lepší kvalitou, a další Shinecon brýle jsem už nedokupoval.
Brýlí opravdu shodných s původním VR64 tak budu schopen vyrobit jen několik kusů.

Hru Street Defender jsem ale ještě nevyzkoušel, protože jsem nevydržel to sviňsky pomalé nahrávání z disketové jednotky (které chci vyřešit Jiffy DOSem). Dostal jsem se zatím jen do úvodní obrazovky. A pak už jsem jen čekal a čekal a disketovka nahrávala a nahrávala…

No a třetí varianta tak sice odpovídá původním VR64, s použitím původních komponent, ovšem s drobnou výjimkou.
Taky funguje s Commodore 64.

Brýle druhé a hlavně pak třetí varianty vycházejí asi dvojnásobně dráž – to ještě nemám přesně spočítáno, zatím si jen odkládám účtenky a potvrzení z PayPalu na jednu hromadu.
(Taky závisí na tom, jaké ještě seženu zdroje – levnější displeje měly rovnou napájecí konektor a stačilo vzít levnější zdroj bez konektoru, k dražší variantě je třeba sehnat komplet zdroj i se správným konektorem.)

Brýle ve třetí variantě jsou poněkud dražší (+ dopravné). Displej je drahý, ale ozkoušený a musím se držet konkrétního typu s konkrétním řadičem.
Navíc je výroba časově náročnější (zdlouhavé rozebírání, upravování plastů a zas sesazování, nejde tak snadno vycentrovat displej jako u levnější varianty).
Nicméně obraz u této verze je ještě lepší než u mých cenově optimalizovaných brýlí!
Ne o moc, ale rozdíl je patrný. Displej je totiž dál od pozorovatele, obraz je tak při stejném rozlišení ostřejší a kvůli tomu, že je menší, není tak patrné zkreslení při okrajích zorného pole a i barevné zkrelení dané pozorovacím úhlem v okrajích je lepší.

Zkusím ještě, zda by se dal podobně displej oddálit i u cenově výhodnější varianty, ale moc si od toho (kromě rizika zničení dalších brýlí, které prostě obětuju na výrobní pokusy) neslibuji. Chci to ale prostě zkusit.
Protože jde vlastně o kvalitnější (plastovou) variantu Google Cardboard brýlí (původně z kartónu), myslím si, že u mého levného modelu tu vzdálenost špatně vyměřil buď už Google, nebo potom Číňan, když převáděl karton na plast.
Neboť mobil, připlácnutý displejem na brýle, je vlastně ještě blíž pozorovateli, než můj displej s distancí plastového rámečku!

Můj plán zatím je věnovat se dražším (lepším) brýlím a levnější variantu ponechat jen v limitované edici, stejně jako VR64 shodnou variantu se Shinecon brýlemi.

Nějak si teď uvědomuji, že Jim64 a já jsme v tomto okamžiku zřejmě jediní lidé na světě, kteří mají zkušenost s tvorbou 3D hry pro VR brýle na osmibitu (QL Wanderer 3D pro Sinclair Ql nepočítám).
Cítím se tedy dostatečně kvalifikovaný k tomu, abych vás poučoval.

Základ jsem už zmiňoval – dvě části displeje, které se v levém a pravém oku překrývají, tvoří herní pole.

Já prve použil na ZX Spectru 7 znaků na levém a 7 znaků na pravém okraji, ale zatím to vypadá, že lze bezpečně použít i 8.
Na Atari jde podle všeho použít 14 sloupců.
Commodore 64 používá 19 sloupců.

Věci, které jsou daleko, jsou v obou zorných polích na stejném místě, věci, které jsou blízko, se na levém oku zobrazují více vpravo (blíž nosu) a v pravém oku více vlevo (blíže nosu).

Tedy to je teorie.
Moje hra, aby mohla být barevná, to udělala obráceně – objekty v popředí jsou v obou zorných polích na stejném místě (v atributech) a věci, které jsou vzdálenější, jsou pro levé oko posunuty doleva (dál od nosu) a pro pravé oko doprava (dál od nosu), proto není vzdálené pozadí, lišící se navzájemo 4 pixely, různobarevné, ale monochromatické.

Už při posunutí obrazu o jeden, dva pixely je pozorovatelný rozdíl v hloubkách, já použil 4 pixely a hloubka je výrazná.

Jak je ale možné, že jednou funguje přibližování bližších objektů, a jindy zas oddalování vzdálenějších objektů?
Čím to, že je možné mít software, který použije pro herní plochu šířku 7 znaků, a říct, že by to šlo i s osmi?

Ono totiž napřesném umístění obrazu tolik nezáleží.
Mozek je plastický, vlastně neví, který bod na sítnici jednoho oka má odpovídat stejnému bodu na sítnici druhého oka. Skládá obraz podle nějakých referenčních bodů. Když najde body jinak od sebe poodjeté, budete, abych tak řekl, prostě jen jinak šilhat do brýlí a mozek si obraz zase správně složí.

Dokonce mám dojem, že jsem mohl střídat ZX Spectrum a Commodore 64 bez nového nastavování displeje (ale tahle zkušenost je omezena tím, že ze Street Defendera jsem viděl jen úvod a zatím ne samotnou hru – budu muset zjistit, jak do virtuální disketovky v 1541 Ultimate dostat JiffyDOS, aby spolupracoval s tím, který mám v počítači).

Protože je obraz přes videovstup trochu na pixelech rozpitý, jde špatně číst písmo, hodí se velké nebo nějak jinak zvýrazněné znaky. Výpisy drobným písmem asi moc šance nemají.
S objekty samotnými problém není, mírná rozpitost vypadá kupodivu dobře na stínech a barevných detailech, barevnost se zdá větší, než je ve skutečnosti. Působí to jako rozdíl mezi CRT televizí a oknem emulátoru na pixel perfect LCD displeji.

Zatím na všech platformách mi vychází výhodnější umístit centrum akce víc k dolnímu okraji displeje.
Což jsem v případě skóre ve hře nedodržel – u dolního okraje by bylo čitelnější.

A dovolím si ještě klikatelné reportážní fotografii z výroby (zobrazeny jsou dvě varianty, třetí varianta není zachycena) a srovnávací obrázek obou verzí (VR64 verze – ještě nedodelaná bez barevných polepů – a moje cenově optimalizovaná C64 nekompatibilní)