2 ডি রেইন ক্রিয়েশন (এবং তরল ডায়নামিক্স)


11

আমি আমার একটি খেলায় আবহাওয়ার পরিস্থিতি নিয়ে পরীক্ষা নিরীক্ষা করছি এবং স্টারবাউন্ড যেভাবে বৃষ্টি সামাল দিয়েছে তাতে আমি মুগ্ধ হয়েছি। মূলত, যখন বৃষ্টিপাত মাটিতে পড়ে, তখন হয় হয় অনুভূমিকভাবে ছড়িয়ে পড়ে (এবং স্থল দ্বারা শোষিত হয়), বা এটি জলের স্তুপ সৃষ্টি করে (যখন বৃষ্টিপাত মাটির গর্তের অভ্যন্তরে অবতরণ করে)।

এই ভিডিওটি এটি পরিষ্কারভাবে দেখায়: http://imgur.com/gallery/CKCGKbG

আমি জানি কীভাবে বৃষ্টিপাত করা যায় এবং এটি মাটিতে কোথায় পড়ে যায় তা খতিয়ে দেখি, তবে আমি সেখানে আটকে যাই। আমার প্রশ্ন: এটি কীভাবে তৈরি করা যেত? আর কোনও মডেল কীভাবে পারফরম্যান্সটি না মেরে এতটা নিখুঁতভাবে জল প্রবাহ করতে পারে?

আগাম ধন্যবাদ!


1
মূলটি হ'ল তরল ডায়নামিক্স সিস্টেম। আমার সন্দেহ হয় যে যখন কোনও বৃষ্টিপাত মাটিতে পড়ে তখন এটি সেই স্থানে অল্প পরিমাণে জল উৎপন্ন করে যা ততক্ষণে যথারীতি তরল ডায়নামিক্স সিস্টেম দ্বারা প্রক্রিয়াজাত করা হয়। সমতল পৃষ্ঠতলগুলিতে এটি বাষ্পীভবন দ্বারা প্রতিরোধ করা হয়, কিন্তু যখন slালুগুলি কোনও অঞ্চলে জলকে ঘনীভূত করে, তখন বাতান্বিতের চেয়ে প্রবাহ আরও শক্তিশালী হয় এবং পোড়গুলি গঠন শুরু হয়।
ফিলিপ

উত্তর:


9

স্টারবাউন্ডের জলের সিস্টেমটি আসলে 2 ডি টাইল ভিত্তিক সেলুলার অটোমেটা। পর্দার প্রতিটি টাইল যাতে সামনের টাইল স্তরটি ধারণ করে না, জল ধরে রাখতে সক্ষম। জলের পরিমাণ সেলুলার অটোমেটার মাধ্যমে গণনা করা হয়।

এই কৌশল সম্পর্কে আরও তথ্য এখানে:

http://www.gamasutra.com/view/feature/134736/an_intro_to_cellular_automation.php

http://www.jgallant.com/2d-liquid-simulator-with-cellular-automaton-in-unity/

যেমন বৃষ্টির ফোঁটা, সেগুলি কণা। তারা মূলত নকল করে যে আকাশ থেকে আসলেই জল পড়ছে। জলটি কেবল জমা হয় কারণ গেমটি জানে বর্তমানে বৃষ্টি হচ্ছে। পৃথক ফোঁটাগুলির জলাশয়ের প্রকৃত গঠনের কোনও সম্পর্ক নেই।

তারা যেভাবে এটি জমে উঠবে তা হ'ল স্থলটির শীর্ষ স্তরের কোথায় ছিদ্র রয়েছে তা নির্ধারণ করে। যদি এমন কোনও অঞ্চল থাকে যা জল জমা করতে পারে তবে সেই জায়গার কোষগুলি সেই অনুযায়ী তাদের পানির স্তর বৃদ্ধি করে।

স্টারবাউন্ড জলের চাপের সাথেও কাজ করে এবং তাদের রেন্ডারিং কৌশলটি বেশ আশ্চর্যজনক। আমি দেখেছি যে সেলুলার অটোমেটা ব্যবহার করে তাদের কাছে জলের সিমুলেশন পদার্থবিজ্ঞানের সর্বোত্তম 2D বাস্তবায়ন রয়েছে।

এখানে উল্লিখিত সেলুলার অটোমেটা কৌশলটি ব্যবহার করে একটি তরল পদার্থবিজ্ঞানের ইঞ্জিনের আদিম দৃশ্য। আপনার জলকে একটি সংখ্যাসূচক মান দ্বারা প্রতিনিধিত্ব করা হওয়ায় রেন্ডারিং অংশটি আরও জটিল হয়ে ওঠে।

http://www.jgallant.com/images/pressuretest.gif

এই উদাহরণস্বরূপ, একটি খুব সাধারণ উন্নতি হ'ল জলের কোষগুলিতে এটির টাইলের 1 টিরও কম ইউনিট কম জল থাকে তবে যদি তার নিচে কোনও শক্ত টাইল না থাকে hide তবে, আপনি জলের প্রবাহটি গোপন করছেন। এটি লুকানোর পরিবর্তে, আপনাকে কীভাবে জল প্রবাহিত হচ্ছে তা নির্ধারণ করতে হবে এবং তারপরে উপযুক্ত জল স্প্রিটটি আঁকতে হবে।


2
বৃষ্টিপাতের কণাগুলি জলের ঝরে পড়া প্রভাবকে জাল করে তোলে: এই পৃষ্ঠের উপরের সামান্য বোঁটা স্প্ল্যাশগুলি প্রকৃত বৃষ্টির কণার সাথে সম্পর্কিত নয় তবে একটি পৃথক প্রভাব রয়েছে। সমন্বয় করে তোলে চেহারা যদি ফোঁটা splashes হিসাবে।
ফেলসির

বাহ, আমি ঠিক সেটাই খুঁজছিলাম আমি ভেবেছিলাম কণার উপর ভিত্তি করে আমাকে কিছু অতিরিক্ত জটিল তরল সিস্টেম অবলম্বন করতে হবে, তবে গ্রিড সিস্টেমগুলি ঠিক তেমনভাবে কাজ করবে বলে মনে হচ্ছে। যদিও, জলচাপ যুক্ত করার জন্য আমি অনুমান করি যে আপনার কেবল একটি দ্বিতীয় অ্যারে দরকার যা চাপের মানগুলি সংরক্ষণ করে এবং উচ্চ চাপ থেকে নিম্নচাপের জায়গায় প্রবাহিত হয়? যদি তা হয় তবে কম্পিউটারের জন্য এটি এখনও খুব বেশি শক্ত হওয়া উচিত নয়।
পান্ডাকী

না, চাপের সাথে আপনাকে যা করতে হবে, একটি নিয়ম যুক্ত করা যেমন একটি টাইলকে 1 টিরও বেশি ইউনিট তরল ধারণ করার অনুমতি দেওয়া হয়। যদি সেই টাইলটিতে 1 টিরও বেশি পূর্ণ তরল থাকে এবং এটি নিয়মের সাধারণ সেট অনুযায়ী প্রবাহিত করতে সক্ষম না হয় - তবে এটিকে উপরের দিকে প্রবাহিত করুন। সামঞ্জস্য করুন যাতে এটি সেই টাইলের চাপযুক্ত মানের ভিত্তিতে আরও বেশি জল প্রবাহিত করতে দেয়।
জাগল্যান্ট

3

এটির কাছে যাওয়ার অনেকগুলি উপায় রয়েছে। সর্বদা হিসাবে 'এটি নির্ভর করে'

এবং তাই আমি অনুমান করি যে এটির একটি উপায় হবে .. জমিতে একটি স্বেচ্ছাচারিত 'ডুব দেওয়া' ওভারলে একটি 'জলের বাক্স' যা এটি আবদ্ধ। গ্রাউন্ড এবং ওয়াটারবক্স স্তরগুলিতে আঁকা যাতে মাটি প্রথমে প্রদর্শিত হয়, তার পরে ওয়াটারবক্স।

প্রতিবার একটি জলের ড্রপ মাটিতে ডুবিয়ে মারলে জলবক্সে একটি যুক্ত হয়। যখন ওয়াটারবক্সটি কোনও যাদু সংখ্যায় পৌঁছে যায়, তখন একটি লাইন জল যোগ করুন। সুতরাং ডুবলে 10 ফোটা জমির কথা বলুন, এটি ওয়াটারবক্সে একটি লাইন যুক্ত করে।

সুতরাং বলুন যে জলবক্সটি 32X32 পিক্সেল। 0,31-31,31 থেকে জলের রঙের এক লাইন যুক্ত করুন। আর 10 টি ড্রপ, 0,30 - 31,30 থেকে একটি লাইন আঁকুন। সুতরাং ড্রপ জমে যাওয়ার সাথে সাথে আপনি নীচে থেকে পুরোটি অবধি ওয়াটারবক্সটি তৈরি করেন।

আশা করি তা বোধগম্য হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.