कैसे खेल में "पानी के नीचे दृष्टि" को रोकने के लिए


19

कई खेलों में जहां खिलाड़ी पानी के नीचे जा सकता है, ऐसा लगता है जब आप देखते हैं कि स्क्रीन का शीर्ष आधा हवा में कहां है, और नीचे की आधी स्क्रीन पानी में है, यह लगभग पानी की तरह मौजूद नहीं है और खिलाड़ी है ... धीरे धीरे पानी की आवाज़ के साथ उड़ रहा है?

यहाँ छवि विवरण दर्ज करें

क्या इसका समाधान करने का कोई तार्किक तरीका है? एक एल्गोरिथ्म? ऐसा लगता नहीं है कि कोई भी समाधान अभी तक आया है क्योंकि कई गेम अभी भी हैं। मैं एक ही गलती नहीं करना चाहता।


4
आधुनिक खेलों में शेड हैं जो ऊपर और पानी के नीचे अलग-अलग हैं। यह निश्चित रूप से आजकल ऐसा नहीं दिखता है। मेरा मानना ​​है कि क्राइसिस के पास बहुत उन्नत अंडरवाटर रेंडरिंग है: youtube.com/watch?v=yXxEZJdFjeM
मार्टिनटैरगा

9
@ sm4: मुझे लगता है कि इस गेम में यह सुविधा भी है। लेकिन समस्या यह है कि कैमरा पानी के ऊपर, उसके ऊपर और आप क्लिपिंग के कारण नीचे देखने में सक्षम नहीं हैं।
काइकिमारु

@ किकरमारु मैं देखता हूं, मुझे पूरी तरह से सवाल समझ में नहीं आया। हालाँकि Crysis को यह समस्या नहीं लगती है।
मार्टिनटेरगा

2
Aww, लेकिन मुझे और कैसे देखना चाहिए कि क्या नदी के तल पर मोती हैं? (एल्डर स्क्रोल ओब्लिविशन): डी
सिंगुलर १

1
हो सकता है कि आप जांच लें कि क्या चरित्र "सिर" कैमरे के बजाय पानी के नीचे है और कैमरे को पानी के नीचे जाने की अनुमति न दें जब तक कि चरित्र भी पानी के नीचे न हो
ल्यूक बी।

जवाबों:


16

कैसे के बारे में बस इस स्थिति की अनुमति नहीं?

मुझे नहीं पता कि आप अपना खेल कैसे बना रहे हैं, लेकिन यदि आप यह पता लगाते हैं कि दृश्य आंशिक रूप से पानी के नीचे होगा, तो आप कैमरे को पानी से ऊपर होने के लिए मजबूर कर सकते हैं, और केवल जब पूरा दृश्य पानी के नीचे होगा, तो आप स्विच कर सकते हैं पानी के नीचे का दृश्य।

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

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

और इसके अलावा, चीजें पानी के ऊपर की तुलना में बहुत अलग पानी के नीचे दिखती हैं (और सुनती हैं)। पानी हवा की तुलना में प्रकाश को बहुत तेजी से अवशोषित करता है, इसलिए दूर की रोशनी यात्रा करती है, कम रोशनी आपकी आंखों तक पहुंचेगी। इसका मतलब यह है कि आप जितनी गहराई तक जाते हैं, ब्लर चीजें दिखती हैं (लाल बत्ती में ऊर्जा कम होती है, और इसलिए यह नीली रोशनी की तुलना में अधिक आसानी से अवशोषित होती है)। वास्तव में, मात्र 12 मीटर पानी के भीतर, रक्त लाल नहीं बल्कि काला दिखता है।

मुझे अभी तक एक गैर-विशिष्ट खेल देखना है जो पानी के नीचे के वातावरण को सही करने की कोशिश करता है ...


5
खेल के बहुत से प्रकाश और ध्वनि पानी के नीचे बदल जाते हैं। ऊपर दिए गए टिप्पणियों में Crysis वीडियो लिंक देखें। मुझे यकीन है कि यह पूरी तरह से यथार्थवादी नहीं है, लेकिन (ए) ज्यादातर लोगों को गहरे पानी के नीचे के वातावरण और (बी) के खेल में प्रत्यक्ष अनुभव नहीं है जो आप पानी के नीचे जा रहे हैं, आपको संभवतः गेम खेलने में सक्षम होना चाहिए ।
नाथन रीड

मेरा मानना ​​है कि ज्यादातर गेम ऐसा नहीं करते हैं क्योंकि कोई भी पानी के नीचे नहीं जाना चाहेगा अगर उन्हें वहां कुछ भी दिखाई न दे। या शायद सभी खेल मुख्य पात्रों को मोकन लोगों द्वारा प्रशिक्षित किया गया था! news.nationalgeographic.com/news/2004/05/...
MartinTeeVarga

1
खेल के विकास में, इस तरह के "डॉक्टर, यह दर्द होता है जब मैं ऐसा करता हूं" समाधान आमतौर पर इष्टतम होता है।
ट्रेवर पॉवेल

1
@TrevorPowell: मैंने आपकी टिप्पणी को एक दर्जन बार पढ़ा और मुझे अभी भी आपकी बात समझ में नहीं आई। शायद आप विस्तृत करना चाहेंगे?
पांडा पजामा

2
क्षमा याचना! यह एक पुराने वाडेविल मजाक का संदर्भ है । मज़ाक कुछ इस तरह से है: रोगी: "डॉक्टर, यह दर्द होता है जब मैं ऐसा करता हूं!"। डॉक्टर: "नहीं करते करना है कि!" मेरा कहने का तात्पर्य यह था कि खेलों में, अक्सर किसी समस्या को हल करने का सबसे सरल तरीका खेल को उस स्थिति में जाने से रोकना होता है जहाँ समस्या का समाधान होना चाहिए। (जैसे: ग्राफिक्स को ठीक करने का सबसे आसान तरीका गलत है जब पास-क्लिप प्लेन पानी की सतह को काटता है "है -" पास-क्लिप प्लेन को पानी की सतह को खत्म न होने दें "
ट्रेवर पॉवेल

7

आप जिस समस्या का जिक्र कर रहे हैं, वह पानी के विमान से कैमरे की व्यू वॉल्यूम क्लिपिंग के साथ करना है; विशिष्ट "अंडरवाटर इफेक्ट्स" फुल-स्क्रीन पोस्ट-प्रोसेस प्रभावों के माध्यम से किए जाते हैं, और अगर यह इस तरह से क्लिप किया गया है, तो यह सही नहीं लगेगा (यह सिर्फ विपरीत समस्या होगी)।

यहां तक ​​कि अगर आप क्लिपिंग मामले (संभावित रूप से कठिन) और कैंची का पता लगाने के लिए परेशान करते हैं या अन्यथा पूर्ण-स्क्रीन वाले पानी के नीचे प्रभाव को क्लिप करते हैं, तो यह केवल पानी के नीचे के दृश्य पर लागू होता है (जो एक संभावित समाधान है जिसे आप देख सकते हैं), आपके पास अभी भी होगा वास्तविक जल विमान की समस्या। वहाँ संक्रमण अभी भी एक दुर्लभ दृश्य कलाकृतियों होगा। आप उस विमान का पता लगा सकते हैं और उसे जोर से उड़ा सकते हैं; यह संभवतः निकटतम है आप एक वास्तविक-विश्व सादृश्य को प्राप्त कर सकते हैं जो आंशिक रूप से जलमग्न कैमरा लेंस के माध्यम से दृश्य हो सकता है।

वैकल्पिक रूप से, इसे पूरी तरह से होने से रोकें: यदि खिलाड़ी पानी के ऊपर या पानी के विमान से "खिलाड़ी" "नीचे" हो तो कैमरा को पानी के विमान से नीचे न जाने दें। यह वास्तव में केवल तभी काम करेगा जब आपके पास पानी के ऊपर / नीचे के लिए प्लेयर ऑपरेशन मोड असतत हो, और सबसे अच्छा काम करता है अगर कोई भौतिक बटन या अन्य स्पष्ट और स्पष्ट कार्रवाई हो तो खिलाड़ी "सतह पर तैरना" और "नीचे तैरना" के बीच संक्रमण कर सकता है। सतह।"

गोता लगाने के लिए एक स्पष्ट कीस्ट्रोके के बजाय, आप आगे की गति की व्याख्या कर सकते हैं, जबकि कैमरा "गोता" का अर्थ करने के लिए पर्याप्त रूप से नीचे पिच किया गया है। फिर आप पानी के विमान के माध्यम से कैमरे के संक्रमण को छिपाने के लिए एक ग्राफिकल प्रभाव (स्पलैश या जो कुछ भी) का उपयोग कर सकते हैं, जिसे वह सामान्य रूप से पार करने में सक्षम नहीं होगा।

हमने गिल्ड वॉर्स 2 में इस तरह की तकनीक का इस्तेमाल किया।


3

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

यदि फॉग पोस्ट-पोस्ट के रूप में किया जाता है, तो एक पूर्ण-स्क्रीन पास प्रदान करके, यह विशेष रूप से आसान है - आपको बस समीप के विमान पर पूर्ण-स्क्रीन क्वाड या त्रिकोण के प्रत्येक शीर्ष के विश्व-स्थान की स्थिति की गणना करनी होगी (व्युत्क्रम के साथ) दृश्य / प्रक्षेपण मैट्रिक्स), और इस मूल्य को पिक्सेल shader के नीचे प्रक्षेपित करें; फिर आप इसके ऊर्ध्वाधर घटक की जांच कर सकते हैं और देख सकते हैं कि यह जल तल के ऊपर या नीचे है या नहीं।

बोनस अंक के लिए आप पानी की सतह पर मेनिस्कस का प्रतिनिधित्व करने के लिए कुछ पिक्सेल-मोटी बनावट जोड़ने के लिए एक ही तकनीक का उपयोग कर सकते हैं , इसलिए यह एक तेज रेखा की तरह नहीं दिखता है।


(समस्या है अगर पानी की सतह एक जाल है, लेकिन अभी भी एक महान सामान्य उत्तर है)
होगा

0

मेरे पास दो विधियां हैं; एक shader का उपयोग करता है, दूसरा एक GUI का उपयोग कर सकता है। दोनों एक ही शुरू करेंगे:

"सरलीकृत" - If, Object(Camera) is in 3d Space(Water bounding box/whatever you choose) trigger a shader/GUI.

Shader अधिक यथार्थवाद देगा, आप इस तरह एक विरूपण लागू कर सकते हैं

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

यह एक डरावनी गेम में इस्तेमाल किया गया है जिसे Drea D Out कहा जाता है। यदि खिलाड़ी किसी भूत के पास जाता है, तो स्क्रीन धूमिल हो जाएगी। हालांकि यह पानी के नीचे इस्तेमाल नहीं किया गया था लेकिन यह एक समान प्रभाव देता है :)

आप हमेशा दोनों तरीकों को चुन सकते हैं, या एक ऐसा शेडर बना सकते हैं जो रंग को बदल दे।

http://media.indiedb.com/images/games/1/21/20833/Demo_update_SS01.png

Taken from : http://sahdan-share.blogspot.com/2013/04/dreadout.html
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.