गेम

S3D और WibbleWobble

गेमर्स के कई अनुरोधों के जवाब में, हम अपने हार्डवेयर को अनुकूलित कर रहे हैं और नई WibbleWobble तकनीक के साथ पूर्ण संगतता के लिए अपने ड्राइवरों को अपग्रेड कर रहे हैं। यह तकनीक आधुनिक गेम को वास्तविक स्टीरियोस्कोपिक 3D में खेलना संभव बनाती है, भले ही डेवलपर्स ने कभी ऐसा मोड प्रदान न किया हो। यदि आपके पास तेज़ मॉनिटर और संगत उपकरण हैं, तो WibbleWobble के साथ एक शक्तिशाली और जीवंत गेमिंग तमाशे का आनंद लें।

WibbleWobble Core
Discord समुदाय

यह क्या है

WibbleWobble एक सामान्य फ्लैट गेम को "दुनिया की खिड़की" दृश्य के साथ स्टीरियोस्कोपिक 3D में बदल देता है। सिर की गति ट्रैकिंग के माध्यम से, आप गेम को ऐसे देख सकते हैं जैसे कि यह वास्तविक दुनिया हो। आपको महंगे विशेष 3D मॉनिटर की आवश्यकता नहीं है। सॉफ्टवेयर और किफायती 3D चश्मा असली जादू करते हैं...

लाभ

Steam से VR गेम्स की एक विशाल लाइब्रेरी तक पहुंच जो पहले पीसी पर उपलब्ध नहीं थी। वे केवल महंगे VR हेडसेट पर काम करते थे - उदाहरण के लिए, प्रसिद्ध Half-Life Alyx। आप बड़े आधुनिक गेमिंग डिस्प्ले पर उत्कृष्ट गुणवत्ता का 3D शो देखेंगे। 120 FPS से उच्च फ्रेम दर, सुंदर और तेज छवि, जीवंत रंग। और मुख्य लाभ को न भूलें - डिस्प्ले बहुत अच्छे और किफायती हो गए हैं। सर्वश्रेष्ठ मॉनिटरों का अवलोकन

यह अंदर से कैसे काम करता है
जिज्ञासु गेमर के लिए
प्रौद्योगिकी का एक लोकप्रिय-स्तरीय विवरण, यह कैसे बनाई गई है और कैसे काम करती है। यदि आप रुचि नहीं रखते हैं, तो इसे पढ़ने की कोई आवश्यकता नहीं है - यह शुष्क सामग्री है।

एक गेम 3D कैसे बनाता है
गेम में 3D छवि उत्पन्न करने का सामान्य तरीका दृश्य को दो बार रेंडर करना है - बाएं और दाएं आंख के लिए अलग-अलग, दृश्य के केंद्र के सापेक्ष कैमरे को आभासी रूप से स्थानांतरित करना। यह संसाधन-गहन है और इसके लिए गेम इंजन से अंतर्निहित समर्थन की आवश्यकता होती है। हर गेम ऐसा नहीं कर सकता। WibbleWobble दो अलग-अलग रास्ते प्रदान करता है, और उनके बीच का अंतर मौलिक है - यह छवि गुणवत्ता और छवि कलाकृतियों के सेट दोनों को निर्धारित करता है।

पहला रास्ता: ReShade क्लाइंट - एक फ्लैट फ्रेम से स्टीरियो संश्लेषित करना
गेम एक सामान्य दृश्य रेंडर करता है। SuperDepth3D ReShade प्रभाव उस फ्रेम को दृश्य के डेप्थ बफर के साथ लेता है और डेप्थ के अनुसार पिक्सेल को स्थानांतरित करके उससे दूसरा दृष्टिकोण पुनर्निर्माण करता है। गेम इंजन को स्टीरियो के बारे में कुछ नहीं पता। यह प्रदर्शन के मामले में सस्ता है और लगभग किसी भी DX11/DX12 गेम के साथ काम करता है। इसकी कीमत विधि में निहित कलाकृतियां हैं। उनका वर्णन नीचे, "नुकसान" अनुभागों में किया गया है।

दूसरा रास्ता: OpenVR क्लाइंट - वास्तविक 3D रेंडरिंग
WibbleWobble SteamVR में एक आभासी VR हेडसेट के रूप में पंजीकृत होता है। VR-सक्षम गेम, या VR मॉड वाला गेम, दृश्य को दो कैमरों से दो बार रेंडर करता है जो इंटरप्यूपिलरी दूरी से अलग होते हैं, ठीक वैसे ही जैसे एक वास्तविक हेडसेट करता है। IPD, प्रति-आंख रिज़ॉल्यूशन और फोकल लंबाई VR Config में सेट की जाती है। यहां WibbleWobble कुछ भी संश्लेषित नहीं करता: यह तैयार स्टीरियो जोड़ी लेता है और इसे स्क्रीन पर फ्रेम-अनुक्रमिक रूप से आउटपुट करता है, शटर ग्लास को सिंक्रोनाइज़ करता है। इसकी लागत प्रदर्शन में अधिक है, लेकिन 3D ज्यामिति बिल्कुल सही है। आकृति के किनारों पर कोई छेद नहीं, कोई "कार्डबोर्ड" प्रभाव नहीं; प्रत्येक आंख को अपने स्वयं के प्रतिबिंब और हाइलाइट मिलते हैं। संक्षेप में, यह हेडसेट के बिना सामान्य मॉनिटर पर 3D चश्मे के साथ VR गेम खेलने का एक तरीका है।

पुनर्प्रक्षेपण - दृश्य-क्षेत्र विस्तार तंत्र
पुनर्प्रक्षेपण दोनों मोड में काम करता है, जिसमें मोनोक्युलर भी शामिल है। एक उच्च-प्रदर्शन शेडर गेम फ्रेम लेता है और इसे आपके कार्यक्षेत्र की ज्यामिति पर मैप करता है: एक मॉनिटर पर, या चार मॉनिटर पर, या एक घुमावदार स्क्रीन पर। हेड-ट्रैकिंग (OpenTrack) के माध्यम से छवि आपके सिर का अनुसरण करने के लिए शिफ्ट होती है, और मॉनिटर एक आभासी दुनिया की खिड़की के रूप में कार्य करना शुरू करते हैं - "VR फिशटैंक" प्रभाव। पुनर्प्रक्षेपण का उद्देश्य मल्टी-मॉनिटर उपयोग के लिए सही विश्व पैमाना और सही दृश्य क्षेत्र (FOV) प्राप्त करना है। पुनर्प्रक्षेपण को पूरी तरह से बंद किया जा सकता है (क्लाइंट कॉन्फ़िगरेशन -> पुनर्प्रक्षेपण: अक्षम) और आप केवल स्टीरियो आउटपुट, BFI और अपस्केलर का उपयोग कर सकते हैं - एकल डिस्प्ले के लिए सामान्य परिदृश्य।
* यह कहा जाना चाहिए कि परियोजना के लेखक कई पैनलों में "दुनिया का विस्तार" करने के विचार के बारे में अत्यधिक आशावादी थे। शक्तिशाली ग्राफिक्स कार्ड के पास भी इसके लिए पर्याप्त प्रदर्शन नहीं है। यदि गति एक 4K डिस्प्ले के लिए पर्याप्त है तो आप भाग्यशाली होंगे। यह कई डिस्प्ले के साथ काम नहीं करेगा...

FOV (दृश्य क्षेत्र): देखने का कोण। यह निर्धारित करता है कि आभासी कैमरा फ्रेम में दुनिया के किस क्षेत्र को कैप्चर करता है। इसे डिग्री में मापा जाता है, लंबवत और क्षैतिज के लिए अलग-अलग। एक छोटा FOV (40-50°) टेलीफोटो लेंस की तरह दिखता है: बड़ी वस्तुओं के साथ एक संकीर्ण क्षेत्र। एक बड़ा FOV (100-120°) वाइड-एंगल है, जैसे एक एक्शन कैमरा। आप किनारों पर बहुत कुछ देखते हैं, लेकिन किनारे खिंचे हुए हैं और वस्तुएं दूर और छोटी दिखाई देती हैं। यह WibbleWobble में एक महत्वपूर्ण पैरामीटर है। प्रोग्राम को उस कोण को जानना चाहिए जिस पर गेम ने फ्रेम खींचा ताकि इसे आपके भौतिक मॉनिटर पर सही ढंग से प्रोजेक्ट किया जा सके। यही कारण है कि गेम कॉन्फ़िगरेशन में दो फ़ील्ड हैं, FOV लंबवत और FOV क्षैतिज, एक आवश्यकता के साथ: मान गेम में ही सेट किए गए मान से मेल खाना चाहिए। एक मान बदलें और दूसरा विंडो के पहलू अनुपात से मेल खाने के लिए स्वचालित रूप से पुनर्गणना किया जाता है।

यदि FOV है:
बहुत बड़ा दुनिया खिलौने जैसी दिखती है और वस्तुओं का पैमाना विकृत हो जाता है
बहुत कम दुनिया विशाल लगती है और सब कुछ आप पर हावी हो जाता है
3D में पैमाने के साथ गहराई टूट जाती है, और आंखों में खिंचाव शुरू हो जाता है

"दुनिया की खिड़की" के रूप में हेड-ट्रैकिंग
OpenTrack विधि का उपयोग करते हुए, एप्लिकेशन हैंडलर सिर की स्थिति को ट्रैक करता है और प्रक्षेपण को स्थानांतरित करता है ताकि मॉनिटर 3D दृश्य में एक आभासी खिड़की प्रस्तुत करे। यह एक लंबन प्रभाव पैदा करता है। जब आप अपना सिर हिलाते हैं, तो छवि थोड़ी शिफ्ट होती है, जैसे कि आप वास्तव में एक खिड़की से देख रहे हों।

फ्रेम-अनुक्रमिक स्टीरियो आउटपुट
एप्लिकेशन गेम से फ्रेम एक परिवर्तनीय दर पर प्राप्त करता है क्योंकि वे तैयार होते हैं, "जैसे भी आते हैं।" क्लाइंट फिर 60 Hz पर प्लेबैक के लिए फ्रेम दर को समायोजित करता है। स्टीरियो जोड़ी का स्रोत SuperDepth3D, एक VR मॉड या तैयार 3D सामग्री हो सकता है। WibbleWobble इसे साइड-बाय-साइड या चेकरबोर्ड प्रारूप (क्लाइंट कॉन्फ़िगरेशन -> स्रोत प्रारूप) में स्वीकार करता है और इसे FrameBufferDecode में डीकोड करता है। रेंडरर फिर इसे 120 Hz फ्रेम-अनुक्रमिक स्ट्रीम में परिवर्तित करता है जबकि शटर ग्लास को सिंक्रोनाइज़ करता है। निम्नलिखित एमिटर समर्थित हैं: NVIDIA 3D Vision, Open3DOLED, DLP प्रोजेक्टर, 3D Ready, और एक घरेलू Arduino/VESA IR एमिटर।

मोशन ब्लर और क्रॉस-टॉक से लड़ना
मोशन ब्लर डिस्प्ले द्वारा उत्पन्न धुंधलापन है। आधुनिक LCD और OLED पैनल फ्रेम की अवधि के लिए एक पिक्सेल को जलाए रखते हैं - सैंपल-एंड-होल्ड मोड। जब पिक्सेल जलता है और एक स्थिति में स्थिर रहता है, आंखें सहज रूप से चलती वस्तु का अनुसरण करती रहती हैं। परिणामस्वरूप, छवि रेटिना पर ही "स्मियर" हो जाती है, भले ही डिस्प्ले पर प्रत्येक व्यक्तिगत फ्रेम पूरी तरह से तेज हो। पिक्सेल जितनी देर तक जलता है, स्मियर उतना ही मजबूत होता है। यह दोष बारीक विवरण छुपाता है और 3D मोड में छवि को और खराब करता है।

पिक्सेल के जलने के समय को कम करने के लिए, WibbleWobble दो उपकरण प्रदान करता है:
ब्लैक फ्रेम इंसर्शन - उपयोगी फ्रेम के बीच एक काला फ्रेम डालना (क्लाइंट कॉन्फ़िगरेशन में ब्लैक फ्रेम इंसर्शन इंटरवल पैरामीटर)।
CRT बीम सिम्युलेटर Blur Busters द्वारा - एक शेडर जो CRT के इलेक्ट्रॉन बीम के स्वीप का अनुकरण करता है: यह पूरे फ्रेम के बजाय लाइन दर लाइन छवि को खाली करता है। यह बेहतर परिणाम देता है लेकिन डिस्प्ले की मांग करता है: इसे गामा 2.2 या 2.4, ABL/APL अक्षम, और OLED को SDR मोड में चाहिए। FALD और MiniLED पैनल पर यह बैकलाइट जड़ता के कारण खराब काम करता है।

इन दोनों मोड को एक ही समय में सक्षम नहीं किया जाना चाहिए। CRT Sim का उपयोग करते समय, क्लाइंट कॉन्फ़िगरेशन में ब्लैक फ्रेम इंसर्शन इंटरवल पैरामीटर शून्य होना चाहिए। यह अलग से जोर देने योग्य है कि गेम डिस्प्ले के आउटपुट फ्रेम की तुलना में कम दर पर चल सकता है, और प्रोग्राम डिस्प्ले की दर तक लापता फ्रेम भरता है। लेकिन यह नए मध्यवर्ती चित्रों की पीढ़ी नहीं है - यह तैयार लोगों की पुनरावृत्ति है। दूसरे शब्दों में, इसमें वह सहजता नहीं है जो एक पुनर्नमूनाकरण विधि प्रदान करती है।

क्रॉस-टॉक वह प्रभाव है जिसमें एक आंख के लिए बनाई गई छवि आंशिक रूप से दूसरी आंख तक पहुंचती है। परिणामस्वरूप, दर्शक वस्तुओं के बगल में दोहरी आकृति या अर्ध-पारदर्शी "भूत" देखता है। यह 3D छवि की गुणवत्ता को खराब करता है और गहराई की भावना को कम करता है। इससे निपटने के लिए, ब्लैक फ्रेम इंसर्शन और Blur Busters CRT-बीम सिम्युलेटर के लिए समर्थन बनाया गया है। व्यापक क्रॉस-टॉक दमन के लिए, एक चतुर मोड का उपयोग किया जाता है: गेम छवि 60 Hz पर खींची जाती है, चश्मा 120 Hz पर सिंक प्राप्त करता है, और स्क्रीन पर आउटपुट फ्रेम पुनरावृत्ति के साथ 240 Hz पर चलता है।
WibbleWobble संचालन के दो तरीकों का समर्थन करता है, प्रत्येक का अपना क्लाइंट गेम में जोड़ा जाता है। वे उस प्रकार के गेम के लिए अभिप्रेत हैं जो उनके साथ संगत है। नीचे दी गई तालिका इन विधियों के मुख्य गुणों का सारांश प्रस्तुत करती है।
विधि उद्देश्य 3D स्रोत लाभ नुकसान
ReShade क्लाइंट DirectX 11 / 12 गेम के लिए डेप्थ बफर + SuperDepth3D उच्च संगतता
कम GPU लोड
VR की आवश्यकता नहीं
कलाकृतियां संभव
3D गुणवत्ता गेम पर निर्भर करती है
OpenVR क्लाइंट VR गेम और VR मॉड वाले गेम वास्तविक स्टीरियो जोड़ी उत्तम ज्यामिति
अधिकतम 3D गुणवत्ता
सही प्रतिबिंब और प्रकाश व्यवस्था
SteamVR आवश्यक
उच्च GPU लोड

WibbleWobble का उपयोग कौन करता है

स्टीरियोस्कोपिक 3D गेमिंग के उत्साही, या NVIDIA 3D Vision हार्डवेयर के मालिक जिसे आधिकारिक तौर पर NVIDIA द्वारा 2019 में बंद कर दिया गया था। 3D चश्मे और तेज़ डिस्प्ले के मालिक। यह तकनीक आधुनिक गेम खेलना संभव बनाती है जिनमें अंतर्निहित स्टीरियो समर्थन नहीं है। यह मूल्य/गुणवत्ता के मामले में एक उत्कृष्ट समाधान है - सस्ती और सभी के लिए सुलभ। लेकिन छवि गुणवत्ता चुनी गई विधि और विशेष गेम पर निर्भर करती है। नीचे सीमाओं के बारे में पढ़ें।

खोजी गई समस्याएं और सीमाएं

ReShade क्लाइंट
अपने सभी गुणों के बावजूद, इस विधि की सीमाएं हैं जिन्हें अलग से बताया जाना चाहिए। वे प्रोग्राम की किसी खामी से नहीं, बल्कि चुने गए संचालन सिद्धांत से उपजी हैं। दूसरा स्टीरियो दृष्टिकोण दृश्य मॉडल से रेंडर नहीं किया जाता है बल्कि पहले से तैयार फ्रेम और डेप्थ मैप से पुनर्निर्मित किया जाता है। यदि स्रोत फ्रेम में अग्रभूमि वस्तुओं के पीछे छिपी चीज़ों के बारे में कोई डेटा नहीं है, तो इसे पुनर्प्राप्त करने के लिए कहीं से नहीं है।

वस्तु किनारों पर छेद - डिसोक्लूज़न
यह विधि का मुख्य दोष है। जब प्रोग्राम दूसरी आंख या सिर घुमाने के लिए दृष्टिकोण बदलता है, तो पृष्ठभूमि का वह हिस्सा जो स्रोत फ्रेम में किसी अग्रभूमि वस्तु के किनारे से छिपा हुआ था, दिखाई देना चाहिए। लेकिन किसी ने उन पिक्सेल को रेंडर नहीं किया - वे भौतिक रूप से मौजूद नहीं हैं। प्रोग्राम के पास अंतराल भरने के लिए कुछ नहीं है, इसलिए यह या तो किनारे के पिक्सेल को फैलाता है, आकृति के साथ एक "रबड़ जैसा" स्मियर्ड प्रभामंडल उत्पन्न करता है, या एक "प्रशंसनीय" लेकिन आमतौर पर गलत पैच प्रतिस्थापित करता है। दृष्टिकोण बदलाव जितना मजबूत होगा, प्रभामंडल बैंड उतने ही चौड़े होंगे। यह कार्यान्वयन बग नहीं है बल्कि विधि की एक सीमा है: आप एक एकल छवि से वह नहीं निकाल सकते जो वस्तुओं के पीछे छिपा है और उसमें दिखाई नहीं देता है।

सिर की गति विकृतियों को बढ़ाती है
सामान्य स्टीरियो में दृष्टिकोणों के बीच की दूरी छोटी और स्थिर होती है - पुतलियों के बीच की दूरी के बराबर। लेकिन "दुनिया की खिड़की" के साथ, सिर विभिन्न दिशाओं में दसियों सेंटीमीटर चलता है, इसलिए सापेक्ष दृष्टिकोण बदलाव प्राकृतिक से कई गुना बड़ा होता है, और छेद और स्मियरिंग बड़े हो जाते हैं। यह इस तरह काम करता है: स्थिर बैठें और लगभग कोई कलाकृतियां नहीं हैं, लेकिन 3D प्रभाव भी कमजोर है; बहुत हिलें और प्रभाव है, लेकिन वस्तुओं के किनारों पर सब कुछ स्मियर और तैरता हुआ है।

ग्राफिक्स डेप्थ मैप पर निर्भर करते हैं
प्रोग्राम को दृश्य में प्रत्येक बिंदु की दूरी के बारे में सही जानकारी चाहिए। गेम हमेशा यह प्रदान नहीं करता है, या सभी नहीं। पारदर्शी सतहें - पानी, कांच, धुआं, आग, पत्ते - में आमतौर पर कोई विस्तृत गहराई नहीं होती है, या इंजन इसे बिल्कुल नहीं बनाता है। परिणामस्वरूप, वस्तुएं गलत दूरी पर समाप्त होती हैं: पानी गलत जगह चिपक जाता है, धुआं दोगुना हो जाता है, कण हवा में अलग-अलग स्थानों पर लटकते हैं। इसके अलावा, हर गेम एक संगत डेप्थ बफर आउटपुट नहीं करता है - कुछ में यह उल्टा होता है, दूसरों में यह संरक्षित होता है और पढ़ा नहीं जा सकता है।

प्रतिबिंब और हाइलाइट सबसे ज्यादा टूटते हैं
दर्पण, पानी, गीला डामर और धातु अपनी सतह की गहराई से परिभाषित होते हैं, न कि उनमें परावर्तित छवि से। जब दृष्टिकोण बदलता है, तो प्रतिबिंब कहीं और बह जाता है। यदि एक हाइलाइट सतह पर "चित्रित" है, तो यह वैसा व्यवहार नहीं करता जैसा वास्तविक दुनिया में करना चाहिए। यह सबसे आकर्षक चमकदार सामग्री है जो स्टीरियो में सपाट और गलत दिखती है।

इंटरफ़ेस, क्रॉसहेयर और HUD
फ्रेम के शीर्ष पर द्वि-आयामी तत्व - स्वास्थ्य पट्टियाँ, मेनू, क्रॉसहेयर - शून्य गहराई पर खींचे जाते हैं, इसलिए प्रसंस्करण के बाद वे गलत स्टीरियो दूरी पर समाप्त होते हैं। इंटरफ़ेस या तो स्क्रीन में चिपक जाता है या दृश्य के सामने लटक जाता है। क्रॉसहेयर अपनी एक समस्या है; इसकी गहराई की स्थिति को लगभग हमेशा हाथ से समायोजित करना पड़ता है।

दोनों आंखों के लिए एक फ्रेम
दोनों आंखें एक ही छवि देखती हैं, बस स्थानांतरित। ईमानदार स्टीरियो रेंडरिंग के साथ प्रत्येक आंख को अपने स्वयं के सही हाइलाइट, छाया और अपवर्तन मिलते हैं; यहां ऐसा नहीं होगा। इस वजह से, वस्तुएं प्लाईवुड से काटी गई और गहराई के अनुसार व्यवस्थित सपाट परतों के रूप में दिखाई देती हैं, न कि आयतन निकायों के रूप में। अंग्रेजी भाषा की सामग्री में इस प्रभाव को "कार्डबोर्ड कटआउट" प्रभाव कहा जाता है।

प्रति-गेम ट्यूनिंग
दृश्य क्षेत्र, गहराई सीमा और अभिसरण प्रत्येक गेम के लिए अलग-अलग हाथ से सेट किए जाते हैं। एक चूक या तो अत्यधिक अभिसरण से आंखों में खिंचाव देती है, या गलत पैमाना देती है, जहां दुनिया खिलौने जैसी या विशाल दिखती है, या यहां तक कि उलटी गहराई भी देती है। यह एक "इसे ट्यून करें और समझें" समाधान है, न कि "इसे स्थापित करें और खेलें" वाला।

विलंबता और असमान फ्रेम
गेम फ्रेम को असमान रूप से रेंडर करता है, और क्लाइंट तैयार फ्रेम को दोहराकर उन्हें डिस्प्ले की स्थिर fps के अनुकूल बनाता है। पुनरावृत्ति स्वयं कोई विकृति नहीं लाती है, लेकिन क्रिया और छवि के बीच विलंबता जमा होती है: फ्रेम कैप्चर, प्रसंस्करण, आउटपुट। हेड ट्रैकिंग के लिए, ऐसी कोई भी विलंबता दृश्य के "तैरने" के रूप में महसूस होती है। गेम कॉन्फ़िगरेशन में इसके लिए फ्रेम कैप्चर विलंब पैरामीटर है, कैप्चर पल को ट्यून करने के लिए।

अवशिष्ट क्रॉस-टॉक और उच्च मॉनिटर आवश्यकताएं
सॉफ्टवेयर तकनीकें - ब्लैक फ्रेम इंसर्शन और 60/120/240 मोड - घोस्टिंग को दबाती हैं, लेकिन इसे पूरी तरह से नहीं हटाती हैं, क्योंकि क्रॉस-टॉक कई कारकों द्वारा निर्धारित होता है: डिस्प्ले पैनल और चश्मे का भौतिकी। यह पिक्सेल प्रतिक्रिया समय, स्विचिंग गति, चश्मे के लेंस के कंट्रास्ट और स्क्रीन की लंबवत ड्रा दर पर निर्भर करता है। इसके अलावा, सबसे आक्रामक मोड के लिए कम पिक्सेल दृढ़ता वाले तेज़ 240 Hz पैनल की आवश्यकता होती है, जो हर उपयोगकर्ता के पास नहीं है। NVIDIA 3D Vision के विपरीत, ReShade एक तैयार वॉल्यूम को पुन: पेश नहीं करता है बल्कि इसे एक फ्लैट फ्रेम से संश्लेषित करता है। यही कारण है कि आकृति के साथ छेद, गलत प्रतिबिंब और तैरते किनारे विधि की स्थिर कलाकृतियां हैं, न कि एक अस्थायी कमी।
OpenVR क्लाइंट
यहां स्टीरियो ज्यामिति ईमानदार है, और छवि-संश्लेषण कलाकृतियों में से कोई भी - डिसोक्लूज़न, "कार्डबोर्ड," टूटे हुए प्रतिबिंब - यहां मौजूद नहीं हैं। लेकिन इस विधि की अपनी लागत भी है, और यह एक अलग है।

गेम को VR का समर्थन करना चाहिए
यह मुख्य सीमा है। यह विधि किसी भी गेम के साथ काम नहीं करती है: इसके लिए या तो अंतर्निहित VR समर्थन या VR मॉड की आवश्यकता होती है। यदि कोई तैयार मॉड मौजूद नहीं है, तो OpenVR पथ काम नहीं करेगा, और केवल ReShade अपनी सभी कलाकृतियों के साथ रहता है। दूसरे शब्दों में, व्यापक संगतता जिसके लिए पहला पथ मौजूद है, यहां पूरी तरह से खो गई है।

ग्राफिक्स कार्ड पर दोहरा भार
दृश्य वास्तव में दो बार रेंडर किया जाता है, दो कैमरों से। एकल दृश्य के पुनर्प्रक्षेपण द्वारा प्रदान की गई कोई बचत नहीं है: प्रदर्शन उसी तरह गिरता है जैसे वास्तविक VR में होता है। इसकी भरपाई आंशिक रूप से VR Config में रिज़ॉल्यूशन सेटिंग द्वारा की जाती है - प्रति-आंख रिज़ॉल्यूशन कम किया जा सकता है, और WibbleWobble छवि को डिस्प्ले के रिज़ॉल्यूशन तक स्केल करेगा।

जटिल स्थापना
SteamVR स्थापित होना चाहिए। ड्राइवर को व्यवस्थापक अधिकारों के साथ Install.bat के माध्यम से पंजीकृत किया जाता है, जिसके बाद config\steamvr.vrsettings फ़ाइल में मैन्युअल रूप से दो पंक्तियाँ जोड़ी जानी चाहिए: "forcedDriver": "WibbleWobbleVR" और "activateMultipleDrivers": "true"। फिर केवल स्टैंडिंग ओनली मोड में रूम सेटअप पूरा करें। किसी भी चरण में त्रुटि और स्टीरियो के बजाय, आपको कारण के बारे में स्पष्ट संदेश के बिना एक काली स्क्रीन मिलती है।

OpenVR की अपनी सीमाएं
कुछ सेटिंग्स को चलते-फिरते नहीं बदला जा सकता है। यदि आप रिज़ॉल्यूशन या आउटपुट दर बदलते हैं, तो SteamVR के पुनरारंभ की आवश्यकता होती है। यह एक प्लेटफ़ॉर्म सीमा है, प्रोग्राम की नहीं, लेकिन यह गेम को ट्यून करने को काफी धीमा कर देती है।

रेंडर ऑप्टिमाइज़ेशन कुछ गेम को तोड़ देता है
VR Config में एक ऑप्टिमाइज़ सिंगल आई पैरामीटर है जो केवल एक आंख या आधे FOV पर दोनों को रेंडर करने की अनुमति देता है। परियोजना के लेखक सीधे चेतावनी देते हैं: "बोथ" मोड सबसे अधिक समस्याग्रस्त है - विग्नेटिंग और आंख डीसिंक्रोनाइज़ेशन संभव है, और छवि "शिफ्ट" हो सकती है। कुछ गेम में ऑप्टिमाइज़ेशन को पूरी तरह से बंद करना होगा।

विंडो फोकस के लिए लड़ाई
कुछ गेम WibbleWobble इंटरफ़ेस को फोकस नहीं देते हैं: SHIFT + END कुंजी संयोजन काम नहीं करता है, या UI खींचा जाता है लेकिन नियंत्रित नहीं किया जा सकता है। आपको ALT + TAB के माध्यम से मैन्युअल रूप से स्विच करना होगा। एक अलग समस्या: WibbleWobble विंडो को बंद नहीं किया जाना चाहिए - प्रोग्राम उसके बाद ठीक नहीं होता है, और गेम को पुनरारंभ करना होगा।

प्रत्येक लॉन्च पर पुनःकेंद्रित करना
ट्रैकिंग को हर बार स्टार्टअप पर मैन्युअल रूप से केंद्रित किया जाना चाहिए (SHIFT + .), स्क्रीन के सामने कार्य क्षेत्र के केंद्र में बिल्कुल स्थित होना चाहिए। यदि सिर केंद्रित करने के दौरान वहां नहीं था, तो पुनर्प्रक्षेपण अजीब व्यवहार करना शुरू कर देता है और पैमाना "बह जाता है।" लेखक के अपने स्वीकारोक्ति के अनुसार, सही स्थिति पर प्रहार करने में अभ्यास लगता है। बाद में इसे अधिक बुद्धिमान ट्रैकिंग सॉफ्टवेयर का उपयोग करके ठीक किया जा सकता है।

व्यक्तिगत अनुप्रयोगों की विचित्रताएं
कुछ प्रोग्राम केवल हेडसेट के कुछ ब्रांडों के साथ काम करते हैं। उनके लिए, VR Config में एक हेडसेट आइडेंटिफिकेशन पैरामीटर है जो WibbleWobble को एक अलग डिवाइस के रूप में प्रस्तुत करता है - उदाहरण के लिए, Vive - जिसके बिना DEOVR में हेड ट्रैकिंग काम नहीं करती है। दूसरे शब्दों में, संगतता स्थानों पर इस तरह के वर्कअराउंड पर टिकी हुई है।

पहले पथ के साथ सामान्य आधार
हार्डवेयर से संबंधित सब कुछ दोनों विधियों के लिए मान्य है: अवशिष्ट क्रॉस-टॉक, तेज़ पैनल की आवश्यकता, सटीक चश्मा सिंक्रोनाइज़ेशन की आवश्यकता। स्टीरियो आउटपुट, एमिटर, BFI और CRT Sim उसी तरह काम करते हैं, भले ही स्टीरियो जोड़ी कहीं से भी आई हो।

एक सामान्य समस्या
कॉन्फ़िगरेशन की जटिलता और लॉन्च की तैयारी। WibbleWobble को आज़माने के लिए, आपको दस्तावेज़ीकरण का अध्ययन करने और विभिन्न छोटे ऑपरेशन करने में काफी समय बिताना होगा। हमें इसे सुलझाने में कुछ दिन लग गए, इससे पहले कि हम बिना त्रुटियों के शुरू कर पाए। लेखक ने अप्रस्तुत उपयोगकर्ताओं को अनदेखा किया और एक-बटन ऑटो-कॉन्फ़िगरेटर नहीं बनाने का फैसला किया। यह लॉन्च जटिलता ही है जो संभावित उपयोगकर्ताओं के एक महत्वपूर्ण हिस्से को दूर भगाती है।

व्यक्तिपरक गुणवत्ता मूल्यांकन

परियोजना ग्राफिक्स दोषों की भरपाई के लिए विभिन्न तरीकों का उपयोग करती है। किए गए उपायों और मुआवजे के बिना पैनलों के सापेक्ष 3D गुणवत्ता में अनुमानित व्यक्तिपरक लाभ की तालिका देखें, प्रतिशत के रूप में। मूल्यांकन दृश्य परीक्षणों पर आधारित है और प्रयोगशाला माप का परिणाम नहीं है।

वास्तव में लाभ क्या देता है:
पैनल की ड्रा विलंबता की भरपाई के लिए लाइन-दर-लाइन छवि सुधार, जो क्रॉसटॉक को कई गुना कम करता है। प्रत्येक डिस्प्ले मॉडल के लिए OLED विलंबता का सटीक माप और चश्मे के शटर के खुलने और बंद होने के क्षण का व्यक्तिगत ट्यूनिंग। बिना किसी छूटे या दोहराए गए फ्रेम के सटीक चश्मा सिंक्रोनाइज़ेशन। सिंक जिटर का दमन - सौ माइक्रोसेकंड से अधिक का कोई भी जिटर सक्रिय 3D में तुरंत ध्यान देने योग्य होता है। छवि का अस्थायी पूर्व-मुआवजा, यदि विशिष्ट पैनल का प्रतिक्रिया कार्य ज्ञात हो। गुणवत्ता में सुधार के लिए पेशेवर VR हेडसेट के निर्माता बिल्कुल यही करते हैं।
CRTSim +15%
मानक BFI +30%
पैनल ड्रा मुआवजा +50%
सटीक चश्मा सिंक्रोनाइज़ेशन +50%
उच्च fps (240-480 Hz) +100%
संक्षेप में
WibbleWobble तकनीक कुछ ऐसा प्रदान करती है जो एक सामान्य 3D प्लेयर नहीं करता: सिर की गति ट्रैकिंग और एक जीवित "दुनिया की खिड़की" प्रभाव। हमारा ड्राइवर कार्यान्वयन एमिटर और चश्मे की उत्कृष्ट गति विशेषताओं और गुणवत्ता सॉफ्टवेयर के कारण सबसे शानदार 3D प्राप्त करना संभव बनाता है।

ReShade.. OpenVR.. चुनें

चयन
गेम को 3D में खेलना चाहते हैं? ReShade क्लाइंट
VR गेम या VR मॉड है? OpenVR क्लाइंट
बस "दुनिया की खिड़की" प्रभाव चाहते हैं? मोनो + पुनर्प्रक्षेपण
ध्यान दें: यहां से, सभी डाउनलोड की गई फ़ाइलों की जांच करें एंटीवायरस से!

कनेक्ट करें

सामान्य सॉफ्टवेयर स्थापित करना

चरण 1. ग्राफिक्स कार्ड ड्राइवर अपडेट करें
वीडियो प्लेयर ने NVIDIA स्टूडियो ड्राइवर का उपयोग किया; गेम के लिए इसे GeForce गेम रेडी ड्राइवर से बदला जाना चाहिए
NVIDIA ड्राइवर

इसे स्थापित करें और, NVIDIA ऐप से, ग्राफिक्स कार्ड को अधिकतम प्रदर्शन के लिए पुन: कॉन्फ़िगर करें, जैसा कि चरण 7 में वर्णित है।
विंडोज सेटिंग्स में, > सेटिंग्स > ग्राफिक्स सेटिंग्स पर जाएं। शेड्यूलर नीति सक्षम करें: प्रदर्शन बढ़ाएं। SteamVR को प्राथमिकता समूह में जोड़ें: उच्च प्रदर्शन।

गति

चरण 2. एमिटर ड्राइवर स्थापित करें
3D Vision एमिटर या S3D एमिटर का उपयोग करें
वही संगत, डिजिटल रूप से हस्ताक्षरित मूल ड्राइवर दोनों उपकरणों के लिए उपयुक्त है। S3D एमिटर को अंतिम बटन को लगभग कुछ सेकंड तक दबाकर रखने से NVIDIA मोड पर स्विच किया जाना चाहिए।

s3d एमिटर
NVIDIA 3D कंट्रोलर ड्राइवर
इसे स्थापित करें और "डिवाइस मैनेजर" में सफलता सत्यापित करें: एमिटर कनेक्ट होने पर, डिवाइस का नाम पीले त्रुटि त्रिकोण के बिना दिखाई देता है। एक बार में पीसी से दो एमिटर कनेक्ट न करें! WibbleWobble केवल एक इंस्टेंस के साथ काम कर सकता है। स्थापना चरणों को NVIDIA गेमिंग अनुभाग में देखें।

चरण 3. WibbleWobble डाउनलोड और अनपैक करें
GitHub पर रिलीज़ पेज पर जाएं। नवीनतम संस्करण डाउनलोड करें और इसे एक सुविधाजनक फ़ोल्डर में निकालें। फ़ोल्डर को एक स्थायी स्थान पर चुनें - एप्लिकेशन पंजीकृत होने के बाद इसे स्थानांतरित नहीं किया जा सकता है। फ़ोल्डर पथ बिना रिक्त स्थान और केवल लैटिन अक्षरों का उपयोग करके लिखा जाना चाहिए।

चरण 4. सिस्टम में सामान्य पंजीकरण
हम WibbleWobble फ़ाइलों और COM घटकों को सिस्टम में पंजीकृत करते हैं ताकि विंडोज को पता चले कि एप्लिकेशन कहाँ स्थित है। यह दोनों क्लाइंट, ReShade और OpenVR के लिए आवश्यक है। WibbleWobbleClient फ़ोल्डर पर जाएं। Register.bat फ़ाइल पर राइट-क्लिक करें और "व्यवस्थापक के रूप में चलाएँ" चुनें। इसे समाप्त होने दें; परिणाम के बारे में संदेश के साथ एक काली कंसोल विंडो खुलेगी।

चरण 5. विंडोज तैयार करें
एक अनिवार्य वस्तु - इसके बिना छवि टूट जाएगी: विंडोज सेटिंग्स में स्क्रीन स्केलिंग अक्षम करें। डिस्प्ले > स्केल > 100% सेट करें।

चरण 6. GPU Tweak 3 और इसी तरह की ASUS उपयोगिताओं को अक्षम करें यदि वे स्थापित हैं। वे विलंबता लाते हैं और छवि को हकलाने का कारण बनते हैं, 3D को खराब करते हैं।

चरण 7. डिस्प्ले और ग्राफिक्स कार्ड कॉन्फ़िगर करें
प्राथमिक को छोड़कर सभी डिस्प्ले अक्षम करें!
1. NVIDIA 3D स्टीरियो - बंद
2. G-Sync - बंद
3. मॉनिटर - प्राथमिक के रूप में सेट करें
4. मॉनिटर FPS - 120 Hz
5. लो लेटेंसी मोड - अल्ट्रा
6. पावर मैनेजमेंट - अधिकतम प्रदर्शन पसंद करें
7. वर्टिकल सिंक - 3D एप्लिकेशन सेटिंग का उपयोग करें
8. अधिकतम फ्रेम दर - 120 Hz

चरण 8. एक परीक्षण गेम लोड करें
सुविधा के लिए हम मुफ्त बेंचमार्क का उपयोग करेंगे Superposition। इसका उपयोग दोनों क्लाइंट का परीक्षण करने के लिए किया जा सकता है।
open-vr

मामला: OpenVR क्लाइंट

चरण 1. SteamVR स्थापित करें
Steam से। यह मुफ़्त है।

steam

चरण 2. OpenVR क्लाइंट ड्राइवर को SteamVR में जोड़ें
WibbleWobble -> WibbleWobbleVR फ़ोल्डर खोलें। इसके अंदर एक और WibbleWobbleVR फ़ोल्डर है। इसे कॉपी किया जाना चाहिए: \Steam \steamapps \common \SteamVR \drivers - यह ड्राइवर स्थापना है।

चरण 3. SteamVR होम अक्षम करें
ताकि स्टार्टअप पर Steam अपना स्वयं का 3D वातावरण लॉन्च न करे और स्क्रीन पर कब्जा न करे, config\steamvr.vrsettings फ़ाइल में, "steamvr" अनुभाग में निम्नलिखित जोड़ें: "enableHomeApp" : false, ऐसा करते समय SteamVR पूरी तरह से बंद होना चाहिए; टास्क मैनेजर में vrmonitor.exe और vrserver.exe की जांच करें।

चरण 4. परीक्षण गेम लॉन्च करें
डेस्कटॉप आइकन पर क्लिक करके Superposition खोलें। OpenVR क्लाइंट के माध्यम से प्रदर्शित करने के लिए, चुनें:

वर्चुअल रियलिटी
ग्राफिक्स API - DirectX
VR हेडसेट - SteamVR

परीक्षण चलाएं
यदि सब कुछ सही ढंग से किया गया था और SteamVR ने कॉन्फ़िगरेशन पढ़ा, तो इसे तुरंत "हेडसेट जैसा" दृश्य के साथ नियंत्रण इंटरफ़ेस छवि दिखानी चाहिए। लेकिन हमारे लिए ऐसा नहीं होता है। कीबोर्ड से WibbleWobble इंटरफ़ेस पर कोई भी कॉल कुछ नहीं करती है। माउस बाहर हो गया है और नियंत्रण काम नहीं करता है। एमिटर को सक्षम करना या आगे कुछ भी करना असंभव है...

इस बिंदु पर आपको कंप्यूटर को पुनरारंभ करना चाहिए!

इससे मदद मिली। रीबूट और Superposition के ताजा लॉन्च के बाद, नियंत्रण इंटरफ़ेस दिखाई दिया और माउस काम करने लगा। गेम के दो दृष्टिकोण दिखाए गए हैं। वे वास्तव में 3D में रेंडर किए गए हैं। एमिटर चालू हो गया, और अब ठीक ग्राफिक्स ट्यूनिंग की जा सकती है।

चरण 5. ग्राफिक्स डिस्प्ले कॉन्फ़िगरेशन
WibbleWobble इंटरफ़ेस खोलने के लिए SHIFT + END दबाएं। गेम कॉन्फ़िगरेशन मेनू आइटम पर जाएं। डिस्प्ले पर गेम विंडो के लिए एक सुविधाजनक आकार और अपनी पसंद के अनुसार "दुनिया" देखने के कोण सेट करें। उन्हें बहुत बड़ा न बनाएं; छवि को प्राकृतिक दिखने का लक्ष्य रखें। किसी भी पैरामीटर को बदलने के बाद, Enter और Save दबाएं, अन्यथा क्लाइंट सेटिंग्स को याद नहीं रखेगा और आपको उन्हें फिर से करना होगा।

चरण 6. 3D सिंक्रोनाइज़ेशन सक्षम करें
एमिटर कॉन्फ़िगरेशन पर जाएं: चेकबॉक्स के साथ NVIDIA 3D एमिटर सक्षम करें। विंडो के शीर्ष पर संकेत के अनुसार सिंक रेट HZ सेट करें। एमिटर की LED चमकीली हरी हो जानी चाहिए। चश्मे पर पावर बटन दबाएं और जांचें कि स्टीरियो दिखाई दिया है या नहीं।

चरण 7. सिंक्रोनाइज़ेशन समायोजित करें
यदि चश्मा चालू हो गया लेकिन कोई स्टीरियो नहीं है / या यह दोगुना / झिलमिलाता है / दृष्टिकोण स्वैप हो गए हैं:
सिंक ऑफ़सेट माइक्रोसेकंड समायोजित करें - वह चरण जिस पर चश्मा खुलता है। ओपन ड्यूरेशन माइक्रोसेकंड ट्यून करें - वह अवधि जब लेंस खुले रहते हैं। पैरामीटर को सिंक रेट अवधि (मान विंडो के शीर्ष पर दिखाया गया है) से कम सेट करें, अन्यथा स्टीरियो गायब हो जाएगा। लक्ष्य: न्यूनतम दोहरीकरण (क्रॉस-टॉक) प्राप्त करना। बाईं आंख की छवि को दाईं ओर महत्वपूर्ण रूप से लीक नहीं होना चाहिए। बाद में हम सभी मापदंडों के साथ एक अनुकूलित कॉन्फ़िगरेशन फ़ाइल संलग्न करेंगे।

OpenVR क्लाइंट विधि के प्रभाव
3D गुणवत्ता बहुत अच्छी है! दृश्यों की गहराई आश्चर्यजनक है, ज्यामितीय रूप से सही, रूपांतरण में निहित दोषों और हेडसेट के लेंस विरूपण के बिना। सब कुछ सम, साफ, तेज है और वास्तविक दुनिया जैसा दिखता है। लेकिन क्रॉस-टॉक (घोस्टिंग) है, मोटे तौर पर ~1% अनुमानित। हम चश्मे के सिंक्रोनाइज़ेशन मापदंडों को हाथ से सटीक रूप से ट्यून करने में सक्षम नहीं थे। आदर्श के करीब पहुंचने के लिए, आपको एक साथ विभिन्न संवादों में कई सेटिंग्स समायोजित करनी होंगी, हाथ से। यह एक कठिन कार्य है, विशेष रूप से गतिशील दृश्यों में। एक स्वचालित ऑप्टिमाइज़र जोड़ना होगा, जो हम जल्द ही करेंगे।
कुल मिलाकर - प्रभाव बहुत सकारात्मक हैं...

अगला, हम ReShade क्लाइंट के माध्यम से DirectX 9, 10 पर बने पुराने गेम को कनेक्ट करने का प्रयास करेंगे। यह काफी कठिन है, इसलिए हम जल्दी नहीं करेंगे। जारी रहेगा - बाद में वापस आएं...

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