laro

S3D at WibbleWobble

Bilang tugon sa maraming kahilingan mula sa mga manlalaro, inaangkop namin ang aming hardware at ina-upgrade ang aming mga driver para sa ganap na pagkakatugma sa bagong teknolohiyang WibbleWobble. Ginagawang posible ng teknolohiya na maglaro ng mga modernong laro sa tunay na stereoscopic 3D, kahit na hindi nagbigay ang mga developer ng ganoong mode. Kung mayroon kang mabilis na monitor at katugmang kagamitan, tamasahin ang isang malakas at makulay na gaming spectacle gamit ang WibbleWobble.

WibbleWobble Core
Discord community

Ano ito

Ginagawang stereoscopic 3D ng WibbleWobble ang isang ordinaryong flat game na may view na "window into the world". Sa pamamagitan ng head-motion tracking, maaari mong tingnan ang laro na parang ito ay totoong mundo. Hindi mo kailangan ng mamahaling espesyal na 3D monitor. Ang software at abot-kayang 3D glasses ang gumagawa ng tunay na magic...

Mga Bentahe

Access sa isang malaking library ng mga VR game mula sa Steam na dati ay hindi available sa PC. Gumagana lamang ang mga ito sa mamahaling VR headset - ang maalamat na Half-Life Alyx, halimbawa. Makikita mo ang isang mahusay na kalidad na 3D show sa malalaking modernong gaming display. Isang mataas na frame rate mula 120 FPS, isang maganda at matalas na imahe, makulay na mga kulay. At huwag kalimutan ang pangunahing bentahe - ang mga display ay naging napakahusay at abot-kaya. Ang pinakamahusay na pangkalahatang-ideya ng mga monitor

Paano ito gumagana sa loob
Para sa mausisang manlalaro
Isang paglalarawan sa antas ng popular ng teknolohiya, kung paano ito binuo at kung paano ito gumagana. Kung hindi ka interesado, hindi na kailangang basahin ito - ito ay tuyong materyal.

Paano gumuhit ng 3D ang isang laro
Ang karaniwang paraan upang makagawa ng 3D na imahe sa isang laro ay ang pag-render ng eksena nang dalawang beses - hiwalay para sa kaliwa at kanang mata, virtual na inililipat ang camera na may kaugnayan sa gitna ng eksena. Ito ay resource-expensive at nangangailangan ng built-in na suporta mula sa game engine. Malayo sa bawat laro ang makakagawa nito. Nag-aalok ang WibbleWobble ng dalawang magkaibang landas, at ang pagkakaiba sa pagitan ng mga ito ay pundamental - tinutukoy nito ang parehong kalidad ng imahe at ang set ng mga artifact ng imahe.

Landas isa: ReShade Client - pag-synthesize ng stereo mula sa isang flat frame
Ang laro ay nag-render ng isang ordinaryong view. Ang SuperDepth3D ReShade effect ay kumukuha ng frame na iyon kasama ng depth buffer ng eksena at muling itinatayo ang pangalawang viewpoint mula dito sa pamamagitan ng paglilipat ng mga pixel ayon sa lalim. Ang game engine ay walang alam tungkol sa stereo. Ito ay mura sa mga tuntunin ng pagganap at gumagana sa halos anumang DX11/DX12 na laro. Ang trade-off ay ang mga artifact na likas sa pamamaraan mismo. Ang mga ito ay inilarawan sa ibaba, sa mga seksyong "Disadvantages".

Landas dalawa: OpenVR Client - tunay na 3D rendering
Ang WibbleWobble ay nagrerehistro sa sarili nito sa SteamVR bilang isang virtual na VR headset. Ang isang VR-capable na laro, o isang may VR mod, ay nagre-render ng eksena nang dalawang beses mula sa dalawang camera na pinaghihiwalay ng interpupillary distance, eksakto tulad ng ginagawa ng isang tunay na headset. Ang IPD, per-eye resolution, at focal length ay itinakda sa VR Config. Dito ang WibbleWobble ay hindi nag-synthesize ng anuman: kinukuha nito ang handa nang stereo pair at inilalabas ito sa screen frame-sequentially, na nagsi-sync ng shutter glasses. Ito ay mas mahal sa pagganap, ngunit ang 3D geometry ay ganap na tama. Walang mga butas sa mga contour, walang "cardboard" effect; bawat mata ay nakakakuha ng sarili nitong mga reflection at highlight. Sa esensya, ito ay isang paraan upang maglaro ng mga VR game sa isang ordinaryong monitor na may 3D glasses ngunit walang headset.

Reprojection - ang mekanismo ng pagpapalawak ng field-of-view
Gumagana ang reprojection sa parehong mga mode, kabilang ang monocular. Isang high-performance shader ang kumukuha ng game frame at ini-map ito sa geometry ng iyong workspace: sa isang monitor, o apat na monitor, o isang curved screen. Sa pamamagitan ng head-tracking (OpenTrack) ang imahe ay lumilipat upang sundan ang iyong ulo, at ang mga monitor ay nagsisimulang kumilos bilang isang window sa isang virtual na mundo - ang "VR fishtank" effect. Ang layunin ng reprojection ay upang makuha ang tamang world scale at ang tamang field of view (FOV) para sa multi-monitor na paggamit. Maaaring i-off nang buo ang reprojection (Client Config -> Reprojection: Disabled) at maaari mo lamang gamitin ang stereo output, BFI, at ang upscaler - ang karaniwang senaryo para sa isang display.
* Dapat sabihin na ang may-akda ng proyekto ay masyadong optimistiko tungkol sa ideya ng "pagpapalawak ng mundo" sa ilang mga panel. Kahit na ang mga makapangyarihang graphics card ay walang sapat na pagganap para dito. Mapalad ka kung ang bilis ay sapat para sa isang 4K display. Hindi ito gagana sa maraming display...

FOV (Field of View): ang viewing angle. Tinutukoy nito kung aling sektor ng mundo ang nakukuha ng virtual camera sa frame. Ito ay sinusukat sa degrees, hiwalay para sa vertical at horizontal. Ang isang maliit na FOV (40-50°) ay mukhang isang telephoto lens: isang makitid na sektor na may malalaking bagay. Ang isang malaking FOV (100-120°) ay wide-angle, tulad ng isang action camera. Marami kang nakikita sa mga gilid, ngunit ang mga gilid ay naka-stretch at ang mga bagay ay lumilitaw na mas malayo at mas maliit. Ito ay isang pangunahing parameter sa WibbleWobble. Dapat malaman ng programa ang anggulo kung saan iginuhit ng laro ang frame upang ma-project ito nang tama sa iyong pisikal na monitor. Iyon ang dahilan kung bakit ang Game Config ay may dalawang field, FOV Vertical at FOV Horizontal, na may isang kinakailangan: ang halaga ay dapat tumugma sa itinakda sa laro mismo. Baguhin ang isang halaga at ang isa ay awtomatikong muling kalkulahin upang tumugma sa aspect ratio ng window.

Kung ang FOV ay:
masyadong malaki ang mundo ay mukhang laruan at ang sukat ng mga bagay ay distorted
masyadong mababa ang mundo ay tila napakalaki at lahat ay nakatambay sa iyo
sa 3D ang lalim ay nasisira kasama ng sukat, at ang eye strain ay pumapasok

Head-tracking bilang isang "window into the world"
Gamit ang OpenTrack method, sinusubaybayan ng application handler ang posisyon ng ulo at inililipat ang projection upang ang monitor ay mag-render ng isang virtual na window sa 3D scene. Lumilikha ito ng parallax effect. Kapag inilipat mo ang iyong ulo, ang imahe ay bahagyang lumilipat, na parang talagang tumitingin ka sa isang bintana.

Frame-sequential stereo output
Ang application ay tumatanggap ng mga frame mula sa laro sa isang variable na rate habang sila ay nagiging handa, "kahit paano sila dumating." Pagkatapos ay inaayos ng client ang frame rate para sa playback sa 60 Hz. Ang pinagmulan ng stereo pair ay maaaring SuperDepth3D, isang VR mod, o handa nang 3D content. Tinatanggap ito ng WibbleWobble sa side-by-side o checkerboard format (Client Config -> Source Format) at ini-decode ito sa FrameBufferDecode. Pagkatapos ay kino-convert ito ng renderer sa isang 120 Hz frame-sequential stream habang nagsi-sync ng shutter glasses. Ang mga sumusunod na emitter ay sinusuportahan: NVIDIA 3D Vision, Open3DOLED, DLP projectors, 3D Ready, at isang homemade Arduino/VESA IR emitter.

Paglaban sa motion blur at cross-talk
Motion blur ay blur na ginawa ng display. Ang mga modernong LCD at OLED panel ay nagpapanatili ng isang pixel na naiilawan para sa tagal ng frame - ang sample-and-hold mode. Habang ang pixel ay nananatiling naiilawan at naayos sa isang posisyon, ang mga mata ay likas na patuloy na sumusunod sa gumagalaw na bagay. Bilang resulta, ang imahe ay "pumapahid" sa retina mismo, kahit na ang bawat indibidwal na frame sa display ay perpektong matalas. Kung mas matagal ang isang pixel ay naiilawan, mas malakas ang pahid. Itinatago ng depekto ang pinong detalye at lalong nagpapababa ng imahe sa 3D mode.

Upang bawasan ang naiilawan na oras ng pixel, ang WibbleWobble ay nagbibigay ng dalawang tool:
Black Frame Insertion - pagpasok ng isang itim na frame sa pagitan ng mga kapaki-pakinabang (ang Black Frame Insertion Interval parameter sa Client Config).
CRT Beam Simulator ng Blur Busters - isang shader na gumagaya sa sweep ng isang CRT's electron beam: binubura nito ang imahe line by line sa halip na bilang isang buong frame. Nagbibigay ito ng mas mahusay na resulta ngunit hinihingi sa display: kailangan nito ng gamma 2.2 o 2.4, ABL/APL na naka-disable, at OLED sa SDR mode. Sa FALD at MiniLED panels ito ay gumagana nang hindi maganda dahil sa backlight inertia.

Ang dalawang mode na ito ay hindi dapat paganahin nang sabay. Kapag ginagamit ang CRT Sim, ang Black Frame Insertion Interval parameter sa Client Config ay dapat zero. Ito ay nagkakahalaga na bigyang-diin nang hiwalay na ang laro ay maaaring tumakbo sa mas mababang rate kaysa sa output ng display ng mga frame, at pinupunan ng programa ang mga nawawalang frame hanggang sa rate ng display. Ngunit ito ay hindi ang pagbuo ng mga bagong intermediate na imahe - ito ay isang pag-uulit ng mga handa na. Sa madaling salita, wala sa kinis na ibinibigay ng isang resampling method.

Cross-talk ay ang epekto kung saan ang imahe na inilaan para sa isang mata ay bahagyang umaabot sa kabilang mata. Bilang resulta, ang manonood ay nakakakita ng dobleng contour o semi-transparent na "ghosts" sa tabi ng mga bagay. Pinapababa nito ang kalidad ng 3D na imahe at binabawasan ang pakiramdam ng lalim. Upang labanan ito, ang suporta para sa Black Frame Insertion at ang Blur Busters CRT-beam simulator ay built in. Para sa komprehensibong cross-talk suppression, isang matalinong mode ang ginagamit: ang game image ay iginuhit sa 60 Hz, ang mga salamin ay tumatanggap ng sync sa 120 Hz, at output sa screen ay tumatakbo sa 240 Hz na may frame repetition.
Ang WibbleWobble ay sumusuporta sa dalawang paraan ng operasyon, bawat isa ay may sariling client na idinagdag sa laro. Ang mga ito ay inilaan para sa uri ng laro na katugma sa kanila. Ang talahanayan sa ibaba ay nagbubuod ng mga pangunahing katangian ng mga pamamaraang ito.
Paraan Layunin 3D Source Mga Bentahe Mga Disbentahe
ReShade Client Para sa DirectX 11 / 12 na mga laro Depth Buffer + SuperDepth3D Mataas na compatibility
Mababang GPU load
Hindi kailangan ng VR
Posibleng mga artifact
Ang 3D quality ay depende sa laro
OpenVR Client Mga VR game at laro na may VR mods Tunay na stereo pair Perpektong geometry
Maximum na 3D quality
Tamang reflections at lighting
Kinakailangan ang SteamVR
Mataas na GPU load

Sino ang gumagamit ng WibbleWobble

Mga mahilig sa stereoscopic 3D gaming, o mga may-ari ng NVIDIA 3D Vision hardware na opisyal na hindi na ipinagpatuloy ng NVIDIA noong 2019. Mga may-ari ng 3D glasses at mabilis na display. Ginagawang posible ng teknolohiya na maglaro ng mga modernong laro na walang built-in na stereo support. Ito ay isang mahusay na solusyon sa mga tuntunin ng presyo/kalidad - mura at naa-access ng lahat. Ngunit ang kalidad ng imahe ay depende sa napiling paraan at sa partikular na laro. Basahin ang tungkol sa mga limitasyon sa ibaba.

Natuklasang mga problema at limitasyon

Ang ReShade Client
Para sa lahat ng mga merito nito, ang pamamaraang ito ay may mga limitasyon na dapat sabihin nang hiwalay. Ang mga ito ay nagmumula hindi sa anumang di-kasakdalan sa programa ngunit mula sa napiling prinsipyo ng pagpapatakbo. Ang pangalawang stereo viewpoint ay hindi nire-render mula sa modelo ng eksena ngunit muling itinatayo mula sa isang tapos na frame at isang depth map. Kung walang data tungkol sa kung ano ang nakatago sa likod ng mga foreground object sa source frame, walang mapagkukunan upang mabawi ito.

Mga butas sa mga gilid ng bagay - disocclusion
Ito ang pangunahing depekto ng pamamaraan. Kapag inilipat ng programa ang viewpoint para sa pangalawang mata o para sa isang pagliko ng ulo, ang bahagi ng background na nakatago ng isang foreground object's edge sa source frame ay dapat maging nakikita. Ngunit walang nag-render ng mga pixel na iyon - sila ay pisikal na wala. Ang programa ay walang mapupunan sa puwang, kaya ito ay alinman sa ini-stretch ang mga edge pixel, na gumagawa ng isang "rubbery" na smeared halo sa mga contour, o nagpapalit ng isang "plausible" ngunit karaniwang hindi tamang patch. Kung mas malakas ang paglilipat ng viewpoint, mas malawak ang mga halo band. Ito ay hindi isang implementation bug ngunit isang limitasyon ng pamamaraan mismo: hindi mo maaaring kunin mula sa isang imahe kung ano ang nakatago sa likod ng mga bagay at hindi nakikita dito.

Ang paggalaw ng ulo ay nagpapalaki ng mga distortion
Sa ordinaryong stereo ang distansya sa pagitan ng mga viewpoint ay maliit at pare-pareho - katumbas ng distansya sa pagitan ng mga pupil. Ngunit sa isang "window into the world," ang ulo ay naglalakbay ng sampu-sampung sentimetro sa iba't ibang direksyon, kaya ang relatibong paglilipat ng viewpoint ay maraming beses na mas malaki kaysa sa natural, at ang mga butas at smearing ay lumalaki. Ganito ito gumagana: umupo nang tahimik at halos walang mga artifact, ngunit ang 3D effect ay mahina rin; gumalaw nang marami at may epekto, ngunit ang lahat sa mga gilid ng mga bagay ay smeared at lumulutang.

Ang graphics ay umaasa sa depth map
Ang programa ay nangangailangan ng tamang impormasyon tungkol sa distansya sa bawat punto sa eksena. Ang laro ay hindi palaging nagbibigay nito, o lahat nito. Ang mga transparent na ibabaw - tubig, salamin, usok, apoy, mga dahon - ay karaniwang walang detalyadong lalim, o ang engine ay hindi lumilikha nito. Bilang resulta, ang mga bagay ay napupunta sa maling distansya: ang tubig ay dumidikit sa maling lugar, ang usok ay dumodoble, ang mga particle ay nakabitin sa hangin sa iba't ibang lugar. Sa ibabaw nito, hindi lahat ng laro ay naglalabas ng isang katugmang depth buffer - sa ilan ito ay inverted, sa iba ito ay protektado at hindi mababasa.

Ang mga reflection at highlight ang pinakamasira
Ang mga salamin, tubig, basang aspalto, at metal ay tinutukoy ng lalim ng kanilang sariling ibabaw, hindi ng imahe na nasasalamin sa kanila. Kapag lumipat ang viewpoint, ang reflection ay lumulutang sa kung saan. Kung ang isang highlight ay "pininturahan" sa ibabaw, hindi ito kumikilos sa paraang dapat ito sa totoong mundo. Ito ay tiyak na ang pinaka-kapansin-pansing glossy na nilalaman na mukhang flat at mali sa stereo.

Interface, crosshair, at HUD
Ang mga two-dimensional na elemento sa ibabaw ng frame - health bars, menu, ang crosshair - ay iginuhit sa zero depth, kaya pagkatapos ng pagproseso sila ay napupunta sa maling stereo distance. Ang interface ay alinman sa dumidikit sa screen o nakabitin sa harap ng eksena. Ang crosshair ay isang sakit ng ulo sa sarili nito; ang depth position nito ay halos palaging kailangang ayusin sa pamamagitan ng kamay.

Isang frame para sa parehong mata
Ang parehong mata ay nakakakita ng parehong imahe, inilipat lamang. Sa tapat na stereo rendering bawat mata ay nakakakuha ng sarili nitong tamang highlight, shadow, at refraction; dito hindi iyon mangyayari. Dahil dito, ang mga bagay ay lumilitaw bilang flat layers na pinutol mula sa plywood at inayos ayon sa lalim, sa halip na bilang volumetric bodies. Sa English-language material ang epektong ito ay tinatawag na "cardboard cutout" effect.

Per-game tuning
Ang field of view, depth range, at convergence ay itinakda sa pamamagitan ng kamay para sa bawat laro nang hiwalay. Ang isang miss ay nagbibigay ng alinman sa eye strain mula sa labis na convergence, o ang maling sukat, kung saan ang mundo ay mukhang laruan o napakalaki, o kahit na inverted depth. Ito ay isang "tune it and figure it out" na solusyon, hindi isang "install it and play" na solusyon.

Latency at hindi pantay na mga frame
Ang laro ay nagre-render ng mga frame nang hindi pantay, at inaangkop ng client ang mga ito sa stable na fps ng display sa pamamagitan ng pag-uulit ng mga handa na frame. Ang pag-uulit mismo ay hindi nagpapakilala ng distortion, ngunit ang latency sa pagitan ng aksyon at imahe ay naipon: frame capture, processing, output. Para sa head tracking, anumang ganoong latency ay nararamdaman bilang isang "paglutang" ng eksena. Ang Game Config ay may Frame Capture Delay parameter para dito, upang i-tune ang capture moment.

Residual cross-talk at mataas na mga kinakailangan sa monitor
Ang mga software techniques - black frame insertion at ang 60/120/240 mode - ay sumusupil sa ghosting, ngunit hindi ito ganap na inaalis, dahil ang cross-talk ay tinutukoy ng maraming mga kadahilanan: ang physics ng display panel at ang mga salamin mismo. Depende ito sa pixel response time, switching speed, ang contrast ng mga lens ng salamin, at ang vertical draw rate ng screen. Bilang karagdagan, ang pinaka-agresibong mode ay nangangailangan ng isang mabilis na 240 Hz panel na may maikling pixel persistence, na hindi lahat ng user ay mayroon. Hindi tulad ng NVIDIA 3D Vision, ang ReShade ay hindi nagpaparami ng handa nang volume ngunit nag-synthesize nito mula sa isang flat frame. Iyon ang dahilan kung bakit ang mga butas sa mga contour, hindi tamang reflection, at lumulutang na mga gilid ay stable na artifact ng pamamaraan, hindi isang pansamantalang pagkukulang.
Ang OpenVR Client
Ang stereo geometry dito ay tapat, at wala sa mga image-synthesis artifacts - disocclusion, "cardboard," sirang reflection - ang naroroon dito. Ngunit ang pamamaraang ito ay may sariling halaga, at ito ay iba.

Ang laro ay dapat sumuporta sa VR
Ito ang pangunahing limitasyon. Ang pamamaraan ay hindi gumagana sa isang arbitraryong laro: nangangailangan ito ng alinman sa built-in na suporta sa VR o isang VR mod. Kung walang umiiral na mod, ang OpenVR path ay hindi gagana, at tanging ang ReShade kasama ang lahat ng mga artifact nito ang natitira. Sa madaling salita, ang malawak na compatibility kung saan umiiral ang unang landas ay ganap na nawala dito.

Dobleng load sa graphics card
Ang eksena ay talagang nire-render nang dalawang beses, mula sa dalawang camera. Wala sa pagtitipid na reprojection ng isang view ay nagbibigay: ang pagganap ay bumababa tulad ng ginagawa nito sa totoong VR. Ito ay bahagyang nababayaran ng Resolution setting sa VR Config - per-eye resolution ay maaaring ibaba, at ang WibbleWobble ay mag-scale ng imahe hanggang sa resolution ng display.

Komplikadong pag-install
Dapat na naka-install ang SteamVR. Ang driver ay nirerehistro sa pamamagitan ng Install.bat na may administrator rights, pagkatapos kung saan ang dalawang linya ay dapat na manu-manong idagdag sa config\steamvr.vrsettings file: "forcedDriver": "WibbleWobbleVR" at "activateMultipleDrivers": "true". Pagkatapos ay kumpletuhin ang Room Setup sa STANDING ONLY mode. Isang error sa anumang hakbang at, sa halip na stereo, makakakuha ka ng isang itim na screen na walang malinaw na mensahe tungkol sa dahilan.

Mga limitasyon ng OpenVR mismo
Ang ilang mga setting ay hindi mababago on the fly. Kung babaguhin mo ang resolution o ang output rate, kinakailangan ang isang restart ng SteamVR. Ito ay isang platform limitation, hindi isang program limitation, ngunit kapansin-pansing pinapabagal nito ang pag-tune ng mga laro.

Ang render optimization ay sumisira sa ilang laro
Ang VR Config ay may Optimise Single Eye parameter na nagpapahintulot sa pag-render lamang ng isang mata o pareho sa half FOV. Ang may-akda ng proyekto ay direktang nagbabala: ang "Both" mode ay ang pinaka problematiko - ang vignetting at eye desynchronization ay posible, at ang imahe ay maaaring "lumipat." Sa ilang laro ang optimization ay kailangang i-off nang buo.

Paglaban para sa window focus
Ang ilang laro ay hindi nagbibigay ng focus sa WibbleWobble interface: ang SHIFT + END key combination ay hindi pumutok, o ang UI ay iginuhit ngunit hindi makontrol. Kailangan mong lumipat nang manu-mano sa pamamagitan ng ALT + TAB. Isang hiwalay na problema: ang WibbleWobble window ay hindi dapat isara - ang programa ay hindi nakakabawi pagkatapos, at ang laro ay kailangang i-restart.

Recentering sa bawat paglunsad
Ang tracking ay dapat na i-center nang manu-mano (SHIFT + .) sa bawat oras sa startup, na nakaposisyon nang eksakto sa gitna ng working area sa harap ng mga screen. Kung ang ulo ay wala doon sa panahon ng centering, ang reprojection ay nagsisimulang kumilos nang kakaiba at ang sukat ay "lumulutang." Sa sariling pag-amin ng may-akda, ang pagpindot sa tamang posisyon ay nangangailangan ng pagsasanay. Ito ay maaaring ayusin sa ibang pagkakataon sa pamamagitan ng paggamit ng mas matalinong tracking software.

Mga quirk ng indibidwal na application
Ang ilang programa ay gumagana lamang sa ilang brand ng headset. Para sa kanila, ang VR Config ay may Headset Identification parameter na ginagawang ipakita ng WibbleWobble ang sarili bilang ibang device - Vive, halimbawa - kung wala nito ang head tracking ay hindi gumagana sa DEOVR. Sa madaling salita, ang compatibility sa mga lugar ay nakasalalay sa mga workaround na tulad nito.

Common ground sa unang landas
Lahat ng tungkol sa hardware ay may bisa para sa parehong pamamaraan: residual cross-talk, ang kinakailangan para sa isang mabilis na panel, ang pangangailangan para sa tumpak na glasses synchronization. Stereo output, emitters, BFI, at CRT Sim ay gumagana nang pareho kahit saan nagmula ang stereo pair.

Isang karaniwang problema
Ang pagiging kumplikado ng configuration at ng paghahanda para sa paglunsad. Upang subukan ang WibbleWobble, kailangan mong gumugol ng malaking oras sa pag-aaral ng dokumentasyon at pagsasagawa ng iba't ibang maliliit na operasyon. Inabot kami ng ilang araw upang ayusin ito bago namin nagawang magsimula nang walang error. Hindi pinansin ng may-akda ang mga hindi handa na user at pinili na huwag gumawa ng one-button auto-configurator. Ito ay tiyak na ang pagiging kumplikado ng paglunsad na nagtataboy sa isang makabuluhang bahagi ng mga potensyal na user.

Subjective na pagtatasa ng kalidad

Ang proyekto ay gumagamit ng iba't ibang paraan upang mabayaran ang mga graphics defect. Tingnan ang talahanayan ng mga hakbang na ginawa at ang tinatayang subjective na pakinabang sa 3D quality, bilang isang porsyento na may kaugnayan sa mga panel na walang compensation. Ang pagtatasa ay batay sa visual na mga pagsubok at hindi resulta ng laboratory measurements.

Ano ang aktwal na naghahatid ng pakinabang:
Line-by-line image correction upang mabayaran ang draw latency ng panel, na nagpapababa ng crosstalk nang maraming beses. Tumpak na pagsukat ng OLED latency para sa bawat modelo ng display at indibidwal na pag-tune ng sandali ng pagbubukas at pagsasara ng mga shutter ng salamin. Tumpak na glasses synchronization na walang dropped o paulit-ulit na frame. Pagsugpo ng sync jitter - anumang jitter na higit sa isang daang microseconds ay agad na napapansin sa active 3D. Temporal pre-compensation ng imahe, kung ang response function ng partikular na panel ay kilala. Ito ay eksakto kung ano ang ginagawa ng mga manufacturer ng propesyonal na VR headset upang mapabuti ang kalidad.
CRTSim +15%
Standard BFI +30%
Panel draw compensation +50%
Precise glasses synchronization +50%
High fps (240-480 Hz) +100%
Sa buod
Ang teknolohiyang WibbleWobble ay naghahatid ng isang bagay na hindi ginagawa ng isang ordinaryong 3D player: head-motion tracking at isang live na "window into the world" effect. Ang aming driver implementation ay ginagawang posible na makuha ang pinaka-kahanga-hangang 3D na posible, salamat sa natatanging bilis ng mga katangian ng emitter at salamin at sa kalidad ng software.

Pumili ng ReShade.. OpenVR..

pagpili
Gusto mong maglaro ng mga laro sa 3D? ReShade Client
Mayroon kang VR game o VR mod? OpenVR Client
Gusto lang ang "window into the world" effect? Mono + Reprojection
Atensyon: mula rito, suriin ang lahat ng na-download na file gamit ang isang antivirus!

kumonekta

Pag-install ng karaniwang software

Hakbang 1. I-update ang driver ng graphics card
Ang video player ay gumamit ng NVIDIA Studio Driver; para sa mga laro dapat itong palitan ng GeForce Game Ready Driver
NVIDIA drivers

I-install ito at, mula sa NVIDIA App, i-reconfigure ang graphics card para sa maximum na pagganap, tulad ng inilarawan sa Hakbang 7.
Sa Windows settings, pumunta sa > Settings > Graphics settings. Paganahin ang scheduler policy: Increase performance. Idagdag ang SteamVR sa priority group: High performance.

bilis

Hakbang 2. I-install ang emitter driver
Gamitin ang 3D Vision emitter o ang S3D emitter
Ang parehong katugmang, digitally signed original driver ay angkop para sa parehong device. Ang S3D emitter ay dapat ilipat sa NVIDIA mode sa pamamagitan ng pagpindot at paghawak sa huling button nang humigit-kumulang ilang segundo.

s3d emitter
NVIDIA 3D Controller driver
I-install ito at i-verify ang tagumpay sa "Device Manager": kapag nakakonekta ang emitter, lilitaw ang pangalan ng device nang walang dilaw na error triangle. Huwag ikonekta ang dalawang emitter sa PC nang sabay! Ang WibbleWobble ay maaaring gumana sa isang instance lamang. Tingnan ang mga hakbang sa pag-install sa NVIDIA Gaming section.

Hakbang 3. I-download at i-unpack ang WibbleWobble
Pumunta sa Releases page sa GitHub. I-download ang pinakabagong bersyon at i-extract ito sa isang maginhawang folder. Pumili ng folder sa isang permanenteng lokasyon - hindi ito maaaring ilipat pagkatapos mairehistro ang application. Ang path ng folder ay dapat na nakasulat nang walang mga puwang at gamit lamang ang mga Latin na titik.

Hakbang 4. Karaniwang pagpaparehistro sa system
Inirerehistro namin ang mga file at COM component ng WibbleWobble sa system upang malaman ng Windows kung saan matatagpuan ang application. Ito ay kailangan ng parehong client, ReShade at OpenVR. Pumunta sa WibbleWobbleClient folder. Right-click ang Register.bat file at piliin ang "Run as administrator". Hayaang matapos ito; magbubukas ang isang itim na console window na may mensahe tungkol sa resulta.

Hakbang 5. Ihanda ang Windows
Isang mandatoryong item - kung wala ito ay masisira ang imahe: i-disable ang screen scaling sa Windows settings. Display > Scale > itakda sa 100%.

Hakbang 6. I-disable ang GPU Tweak 3 at mga katulad na ASUS utilities kung naka-install ang mga ito. Nagpapakilala sila ng latency at nagiging sanhi ng pag-stutter ng imahe, na sumisira sa 3D.

Hakbang 7. I-configure ang display at graphics card
I-disable ang lahat ng display maliban sa primary!
1. NVIDIA 3D stereo - off
2. G-Sync - off
3. Monitor - itakda bilang primary
4. Monitor FPS - 120 Hz
5. Low Latency Mode - Ultra
6. Power Management - Prefer Maximum Performance
7. Vertical Sync - Use the 3D application setting
8. Max Frame Rate - 120 Hz

Hakbang 8. Mag-load ng test game
Para sa kaginhawahan gagamitin namin ang libreng benchmark Superposition. Maaari itong magamit upang subukan ang parehong client.
open-vr

Kaso: OpenVR Client

Hakbang 1. I-install ang SteamVR
mula sa Steam. Ito ay libre.

steam

Hakbang 2. Idagdag ang OpenVR client driver sa SteamVR
Buksan ang WibbleWobble -> WibbleWobbleVR folder. Sa loob nito ay may isa pang WibbleWobbleVR folder. Dapat itong kopyahin sa: \Steam \steamapps \common \SteamVR \drivers - iyon ang pag-install ng driver.

Hakbang 3. I-disable ang SteamVR Home
Upang sa startup ay hindi ilunsad ng Steam ang sarili nitong 3D environment at makuha ang screen, idagdag ang sumusunod sa config\steamvr.vrsettings file, sa "steamvr" section: "enableHomeApp" : false, Ang SteamVR ay dapat na ganap na sarado habang ginagawa ito; suriin para sa vrmonitor.exe at vrserver.exe sa Task Manager.

Hakbang 4. Ilunsad ang test game
Buksan ang Superposition sa pamamagitan ng pag-click sa desktop icon. Upang magpakita sa pamamagitan ng OpenVR Client, piliin ang:

Virtual Reality
Graphics API - DirectX
VR Headset - SteamVR

patakbuhin ang pagsubok
Kung ang lahat ay ginawa nang tama at nabasa ng SteamVR ang config, dapat itong agad na magpakita ng control interface image na may "headset-like" view. Ngunit para sa amin hindi ito nangyayari. Anumang tawag sa WibbleWobble interface mula sa keyboard ay walang ginagawa. Ang mouse ay bumagsak at ang kontrol ay hindi gumagana. Ang pagpapagana ng emitter o paggawa ng anumang bagay pa ay imposible...

Sa puntong ito dapat mong i-reboot ang computer!

Nakatulong ito. Pagkatapos ng reboot at isang sariwang paglunsad ng Superposition, lumitaw ang control interface at nagsimulang gumana ang mouse. Dalawang viewpoint ng laro ang ipinapakita. Ang mga ito ay talagang nire-render sa 3D. Bumukas ang emitter, at ngayon ay maaaring gawin ang fine graphics tuning.

Hakbang 5. Configuration ng graphics display
Pindutin ang SHIFT + END upang buksan ang WibbleWobble interface. Pumunta sa Game Config menu item. Itakda ang isang maginhawang laki para sa game window sa display at ang "world" viewing angles ayon sa gusto mo. Huwag gawing masyadong malaki ang mga ito; layunin na ang imahe ay magmukhang natural. Pagkatapos baguhin ang anumang parameter, pindutin ang Enter at Save, kung hindi, hindi maaalala ng client ang mga setting at kailangan mong gawing muli ang mga ito.

Hakbang 6. Paganahin ang 3D synchronization
Pumunta sa Emitter Config: paganahin ang NVIDIA 3D emitter gamit ang checkbox. Itakda ang Sync Rate HZ ayon sa hint sa tuktok ng window. Ang LED ng emitter ay dapat maging maliwanag na berde. Pindutin ang power button sa mga salamin at suriin kung lumitaw ang stereo.

Hakbang 7. Ayusin ang synchronization
Kung ang mga salamin ay bumukas ngunit walang stereo / o ito ay dumodoble / kumikislap / ang mga viewpoint ay napalitan:
Ayusin ang Sync Offset Microseconds - ang phase kung saan bumubukas ang mga salamin. I-tune ang Open Duration Microseconds - ang tagal na nananatiling bukas ang mga lens. Itakda ang parameter na mas mababa kaysa sa tagal ng Sync Rate (ang halaga ay ipinapakita sa tuktok ng window), kung hindi, mawawala ang stereo. Layunin: makuha ang minimum na pagdodoble (cross-talk). Ang left-eye image ay hindi dapat tumagas nang malaki sa kanan. Mamaya ay mag-attach kami ng isang optimized configuration file kasama ang lahat ng mga parameter.

Mga Impresyon ng OpenVR Client method
Ang 3D quality ay napakahusay! Ang lalim ng mga eksena ay nakamamanghang, geometrically correct, nang walang mga depekto na likas sa conversion at walang lens distortion ng mga headset. Ang lahat ay pantay, malinis, matalas, at mukhang totoong mundo. Ngunit mayroong cross-talk (ghosting), tinatayang tinatayang ~1%. Hindi namin nagawang i-tune nang tumpak ang mga parameter ng synchronization ng mga salamin sa pamamagitan ng kamay. Upang makalapit sa ideal, kailangan mong ayusin ang maraming setting sa iba't ibang dialog nang sabay-sabay, sa pamamagitan ng kamay. Ito ay isang mahirap na gawain, lalo na sa mga dynamic na eksena. Ang isang automatic optimizer ay kailangang idagdag, na gagawin namin sa lalong madaling panahon.
Sa pangkalahatan - ang mga impresyon ay napaka-positibo...

Susunod, susubukan naming ikonekta ang mga mas lumang laro na binuo sa DirectX 9, 10 sa pamamagitan ng ReShade client. Ito ay mas mahirap, kaya hindi kami magmamadali. Itutuloy - balikan mamaya...

Homepage Terms & Conditions About Us Privacy Policy Business Info Contacts Payment Shipping Send Msg