2 ডি জল সিমুলেশন জন্য ধারণা


18

আমি 2 ডি তে জলের অনুকরণের জন্য কোনও ইনপুট খুঁজছি, বরং একটি বৃহত্তর (কল করুন) ব্লকড / ব্লকড অ্যারে (পাশ থেকে দেখা) এর বিপরীতে। আমি নিম্নলিখিত ধারণা নিয়ে এসেছি:

সেল অটোমেটা

সেল অটোমেটা ব্যবহার করে সিপিইউতে প্রচুর পরিমাণে পারলেল সিমুলেশন করুন । বিধি যেমন সহজ:

  • নীচে খোলা কোনও সেল থাকলে এটিতে সরান।
  • বাম এবং ডান কক্ষগুলি পরীক্ষা করুন, দুটির মধ্যে একটি এলোমেলো একটি চয়ন করুন এবং এটিতে যান।

পেশাদাররা

  • কার্যকর করা সহজ।
  • একটি মাল্টিপ্লেয়ার সিস্টেমের অর্থবহ / সংজ্ঞাবাদী।

কনস

  • সম্ভবত সত্যই ধীর।
  • বিশ্বাসযোগ্য নয়।

জিপিইউতে ফ্লুড ডায়নামিক্স

নীচের মতো কোনও টেক্সচারের বিপরীতে জিপিইউতে তরল গতিবিদ্যার মোটামুটি পরিমাণ সম্পাদন করুন:

+------+-----+-----+-------+
|R     |G    |B    |A      |
+------+-----+-----+-------+
|vX    |vY   |NULL |Density|
+------+-----+-----+-------+

পেশাদাররা

  • সম্ভবত সত্যিই দ্রুত।
  • বেশ বিশ্বাসযোগ্য হতে পারে।
  • আরও একটি পিক্সেল শেডার এটি সরাসরি উপস্থাপন করতে পারে।

কনস

  • কার্যকর করা কঠিন।
  • টুইঙ্ক করতে অসুবিধা।
  • আমি আমার স্তরের আকারের একটিও জমিন বরাদ্দ করতে পারি না।
    • আমি গ্রিড অঞ্চলগুলি ওভারল্যাপ করতে পারি, তবে এটি আরও জটিলতা যুক্ত করবে।

কণা

জল অনুকরণ করতে কণা ব্যবহার করুন। অ্যাডিটিভ ব্লেন্ডিং ব্যবহার করে রেন্ডারিংয়ের সময় এবং তারপরে জলকে খাস্তা প্রান্তগুলি দেওয়ার জন্য আলফা চ্যানেলে একটি গুণ গুণ প্রয়োগ করুন।

পেশাদাররা

  • সম্ভবত দেখতে সুন্দর লাগবে।
  • কার্যকর করা সহজ।
  • রেন্ডার করা সহজ।
  • মাল্টিপ্লেয়ার সিস্টেমে অর্থবহ, যদিও স্থানান্তর করতে বেশ কিছুটা ব্যান্ডউইথের প্রয়োজন হয়।

কনস

  • আন্তঃকণা প্রভাব সম্ভবত ধীর হবে (আশেপাশের অনুসন্ধান)।
  • শক্ত জায়গাগুলির মাধ্যমে জলের 'ফাঁস' হতে পারে (কারণ শক্ত স্থানটি ছোট, যেমন 1px)।
  • কণার আকারের উপর নির্ভর করে পানিতে অদ্ভুত গর্ত হতে পারে।
  • উপরের উভয়টি কণাকে তাদের আসল আকারের সাথে একত্রে প্রবাহের অনুমতি দিয়ে হ্রাস করা যেতে পারে, তবে আন্তঃকণা এবং কণা / ল্যান্ডস্কেপ পারফরম্যান্সে সমস্যা সৃষ্টি করবে।

আরও কোন ধারণা?

দ্রষ্টব্য: এটি প্রায় অনুমান, আমি এখানে শারীরিকভাবে সঠিক জল খুঁজছি না - কেবল এমন কিছু যা 'যথেষ্ট ভাল' (দ্রুত এবং ময়লার জন্য বোনাস পয়েন্ট)। গেমটি মাল্টিপ্লেয়ার, সুতরাং দুর্ভাগ্যক্রমে পুরো স্তরটি ধারাবাহিকভাবে অনুকরণ করা দরকার।

উত্তর:


12

প্রতিবার যখন আমি জল অনুকরণ করার চেষ্টা করেছি তখন আমি সবেমাত্র পানির স্তর উপস্থাপন করে এমন একটি টেক্সচারে লোপাস ফিল্টার প্রয়োগ করে শেষ করেছি । এটি প্রয়োগ করা খুব সহজ তবে আপনি যখন পানির স্তরে ব্যাপক পরিবর্তন আনতে পারেন যা বড় তরঙ্গ তৈরি করতে পারে তা ব্যর্থ হয়। এই পদ্ধতিতে এমন কিছু জায়গা রয়েছে যেখানে নদীর সর্বদিকের মতো জলের সর্বদা কিছু স্থির স্তর থাকে। এই ক্ষেত্রে আপনি নির্দিষ্ট নির্দিষ্ট পিক্সেলের জন্য সঠিক রঙের উপরে রয়েছেন।

পেশাদাররা:

  • কার্যকর করা সহজ
  • শান্ত জলের ক্ষেত্রে বাস্তব ফলাফল
  • জিপিইউ ব্যবহার করে দ্রুত গণনা করুন
  • স্থির জলের স্তর বা জলের উত্সগুলি সংজ্ঞায়িত করা সহজ

কনস:

  • তরঙ্গ অনুকরণ করতে অক্ষম

avyেউয়ের পানির জন্য আমি আপনার সেল অটোমাতা অ্যালগরিদমের সাথে কিছুটা অনুরূপ ব্যবহার করি তবে একটি সামান্য পরিবর্তন যা আমাকে বর্তমান পরিস্থিতি থেকে পরবর্তী ধাপ গণনা করতে শেডার ব্যবহার করতে দেয়, এখানে একটি সুডো কোড রয়েছে, আবার আমি প্রতিটিতে জলের স্তর উপস্থাপন করার জন্য একটি টেক্সচার পেয়েছি পিক্সেল রঙ:

foreach (pixel p) in oldTexture
{
    newtexture.pixels[p.x,p.y]    += p.color / 5;
    newtexture.pixels[p.x+1,p.y]  += p.color / 5;
    newtexture.pixels[p.x-1,p.y]  += p.color / 5;
    newtexture.pixels[p.x,p.y+1]  += p.color / 5;
    newtexture.pixels[p.x,p.y-1]  += p.color / 5;
}

এই অ্যালগরিদমের আগের মতো সমস্ত বৈশিষ্ট্য রয়েছে তবে এটি শান্তের পরিবর্তে avyেউয়ের জলে আরও ভাল কাজ করে। এটি আপনার পছন্দ সমুদ্রের উপর নির্ভর করে আপনি যে কোনও একটি ব্যবহার করার জন্য অনুকরণ করছেন।

শেষ পর্যন্ত আপনি একটি জমিন পেয়েছেন যা আপনাকে প্রতিটি পদের জন্য জলের স্তর বলে দেয়, পরবর্তী ধাপে আপনি কোনওভাবে ফলাফল আঁকতে পারেন, সবচেয়ে সহজ উপায় হ'ল জলের স্তর ডেটার উপর ভিত্তি করে জাল তৈরি করা।


ধন্যবাদ, এটি একটি উজ্জ্বল উত্তর। আমি প্রশ্নটি আরও কিছুক্ষণ খোলা রেখে দেব; তবে মনে হচ্ছে এখানে প্রায় এক উত্তর প্রশ্ন জিজ্ঞাসা করার জন্য আমার কাছে কোনও নকশ আছে :)।
জোনাথন ডিকিনসন

আরও ভাল ফলাফল পেতে আপনি এই অ্যালগরিদমগুলিও মিশ্রিত করতে পারেন।
Ali1S232

কিভাবে একটি স্ক্রিনশট?
ashes999

@ ashes999 আমার কোনও স্ক্রিনশট নেই, তবে এখানে একই অ্যালগরিদম প্রয়োগ হয়েছে! youtube.com/watch?v=avJPrL9UJ28
Ali1S232
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.