با اموزش جدیدی در خدمت شما هستم که در مورد مش (Mesh) است . اما پیش از شروع این آموزش مسائل جدیدی پیش آمده . اولا اینکه آموزش ها بیش از آنچه که فکر میکردم طول خواهد کشید . چند مورد جدید پیش آمده ، چون آموزش هایی که من تهیه میکنم برای عموم کاربران است بنابراین سعی کردم آنها را تا میشود به طور ساده و کاربردی ارائه کنم بنابراین پس از پایان آموزش ها ، یک ویدیوی آموزشی از آموزش هایی که دادم تهیه میکنم چون اینطوری رغبت خواننده برای دنبال کردن آموزش ها بیشتر میشه . قسمت تهیه مدل سه بعدی را به دلیل اینکه هیچ توضیح ساده و کوتاهی برای آن وجود ندارد از لیست آموزش ها حذف کردم شاید ساده ترین برنامه برای تهیه مدل های سه بعدی برنامه google sketchup باشد که البته یاد گرفتن اون هم چند صد صفحه آموزش و تجربه میبره اما برنامه ای هست به نام Instant Object Maker که میشه مدل های ساده ای را با اون ساخت که کار با اون هم بسیار ساده است و آموزشش رو بعدا خواهم داد . اما بخش جدیدی رو که اضافه کردم آموزش اصولی ساختن فرودگاه است که به طور اصولی و همراه با توضیحات فراوان و قابل فهم نحوه ساخت فرودگاه رو از صفر نشان میده و برای این آموزش هم از برنامه های ساده استفاده میکنیم . بقیه آموزش ها نیز سر جای خودش است و به مرور به هر تاپیک جزیئات اضافی و به قول فرنگی ها FAQ رو اضافه میکنم .
مشاین تاپیک به 3 بخش تقسیم میشود ، بخش اول نگاهی کلی به مش ، بخش دوم ساختن مش و مسائلی که در هنگام ساختن مش باید به آنها توجه کرد، و بخش سوم مشکلات و نحوه حل آنها بعد از اصلاح مش.
بخش اول
نگاهی بر مش
ارتفاع و شیب زمین تاثیر زیادی را بر سیاره ما دارد. برای مثال تاثیر بر روی آب و هوا ،منابع طبیعی ، و پراکندگی جنگل ها و حیوانات و انسان ها . اما شاید مهمترین نقش آنها در شبیه ساز پرواز کمک به خلبانان در پروازهای VFR و همچنین زیبایی افزاینده محیط باشد.
داده های ارتفاع برای یک منطقه به طور معمول در فواصل معین افقی اندازه گیری میشود (رزولوشن سورس) که از این طریق شبکه هایی از نقاط اطلاعات داده ای تولید میشود .فواصل بین این نقاط (داده های ارتفاع) در نهایت تعیین کننده دقت زمین مورد نظر است.
**متاسفانه در این لحظه که دارم عکس ها رو آپلود میکنم گالری ایران سیم از کار افتاده و من مجبورم عکس ها رو در سایت های دیگر آپلود کنم**رزولوشن سورسی که در شبیه ساز پرواز مورد استفاده قرار میگیرد جا به جا فرق میکند .بعضی جاها دقیقتر از جاهای دیگر میباشند . این طور به نظر میرسه که به طور معمول بین هر نقطه داده ای فاصله ای بیش از 350 متر باشد .اگر چه بعضی جاها بسیار بهتر هستند . با اینکه هزار متر به نظر زیاد میرسد اما باز هم پیشرفت قابل توجهی نسبت به نسخه قبلی شبیه ساز است و شاید برای بیشتر مقاصد کافی باشد . برای مثال به تصویر زیر نگاهی بیندازید:
در بالا خط سیاه اولی ناهمواریهای زمین است که در واقعیت وجود دارد . همان طور که اشاره شد در بیشتر مواقع شبیه ساز در هر 350 متر اطلاعات داده ای ارتفاع را میگیرد و آنها را نشان میدهد . خطوط آبی هر 350 متر را نشان میدهد . خط سیاه دوم در پایین نحوه نمایش بلندی های زمین در شبیه ساز است که فقط هر 350 متر را به هم وصل کرده . همانطور که میبینید پستی بلندی هایی که در میان این 350 متر قرار گرفته اند به طور کامل در شبیه ساز از قلم انداخته شده اند که من آنها را با نقاط زرد رنگ مشخص کردم و همچنین پستی بلندی هایی که در زمین اصلی وجود دارد را با پیکان های سبز رنگ نشان داده ام .البته همیشه اینگونه نیست و در بعضی جاهای ایران به جای مش با رزولوشن
1000 متر ، رزولوشن
152 متر در نظر گرفته شده است که این بالاترین رزولوشن در ایران است . اما در مورد آمریکا در بیشتر جاها رزولوشن 38 متر و یا حتی 19 متر است
تصویر بالا فقط یک مثال بود و در مورد رزولوشن و مشکلات و پیچیدگی های آن بعدا سخن خواهم گفت.
وقتی که شبیه ساز ارتفاع را برای جایی که در آن پرواز میکنید مشخص کرد ، شبکه های سیاه و سفیدی را که در عکس اول مشخص کردم را با
تکسچر ،
پوشش های گیاهی و
اطلاعات تراکم جمعیت میپوشاند.(در مورد اطلاعات تراکم جمعیت و کاربرد آن در ترافیک هوایی در آموزش های آینده سخن میگویم) .شبیه ساز محدوده عظیمی از تکسجرهای تصویری را با هم ترکیب کرده و به گردش در میآورد تا سطح زمین را هر چه بیشتر به واقعیت نزدیک کند
در نهایت سنری های ثابت ( همان Scenery complexity ) و اتوژن ها (Auto-gene) و درختان به صحنه اضافه میشود.
حداقل از لحاظ تئوری اینگونه است ، اما در عمل اوضاع پیچیده تر است: تجسم (یا به تصویر کشیدن) زمین ، برای برنامه هایی مثل شبیه ساز که احتیاج دارند مقادیر عظیمی از تصاویر با دقت بالا (مثلا LOD 19) را با فریم بالا نمایش دهند ،مشکلیست بس عظیم. موتوری که به طور پیوسته سطح جزئیات زمین را پردازش میکند ( به اختصار CLOD ) مقدار چند ضلعی ها( polygons ) را که باید کشیده شود را کاهش میدهد.یکی از راههای انجام این کار تقسیم کردن تکه های زمین به اندازه های نامشخص است .این تکه ها سپس به 2 مثلت تقلیل پیدا میکنند که در این حالت نقاط heightmap (تصویری که برای ذخیره اطلاعات مثلا اطلاعات ارتفاع مورد استفاده قرار میگیرد) از قلم انداخته میشوند .سپس کامپیوتر موقعیت احتمالی مثلث در صفحه را حساب میکند و اینها را با نقاطی که قبلا از قلم افتادند مقایسه میکند.اگر تفاوت ارتفاع در مقیاس پیکسل بین مثلت و heightmap بیشتر از آستانه مشخصی ( مثلا 3 پیکسل ) بود ، آنگاه مثلث به دو بخش تقسیم میشود . بعد از آن ، دو مثلث جدید دوباره مورد محاسبه قرار میگیرند و این فرآیند دوباره تکرار میشوند تا زمانی که خطای روی صفحه نمایش کمتر از مقدار آستانه شود.
در نتیجه CLOD مثلث های بیشتری را در منظره جلوی عکس (foreground) و مثلت های کمتری را در خط افق تولید میکند.CLOD همچنین در تکه هایی که کاملا صاف هستند چند ضلعی ها را تلف نمیکند.این یک فرآیند دینامیک است و شکل گیری زمین بعضی مواقع که شما بر فراز مناطق COMPLEX پرواز میکنید قابل مشاهده است .همچینین صحنه های auto-gen برای قرار گرفتن در ارتفاع صحیح مشکل دارند .
رزولوشن مش
در زیر دو تصویر را مشاهده میکنید که مربوط به اطلاعات واقعی ارتفاع زمین یکی با رزولوشن بالا و دیگری با رزولوشن پایین است
همان طور که در ابتدای همین تاپیک هم توضیح دادم و با عکس هم نشان دادم .رزولوشن 1000 به این معناست که اطلاعات ارتفاع در هر 1000 متر گرفته شده و هر پستی و بلندی که بین آنهاست نادیده گرفته مشود و به لحاظ تئوری و عمل هم این فرآیند توضیح داده شد.برای روشن شدن موضوع شما این کوه را که در واقعیت وجود دارد در نظر بگیرید
من مانند گراف بالا داخل آن را سبز میکنم و پستی بلندی کوه را با رنگ سیاه نشان دادم تا فهم گراف بالا برای شما راحتر باشد
حالا فرض کنید ما دو نمونه اطلاعات ارتفاع در نظر داریم .یکی رو فرض کنید که همون اطلاعات ارتفاع یا مش دیفالت مایکروسافت با رزولوشن 90 متر است ( البته برای ایران نهایتا 152 متر است) و دیگری اطلاعات ارتفاعی است که ما از بعضی سرور ها که نهایتا تا 38 (البته در اینجا 30) متر رزولوشن را در اختیار عموم قرار میدهند به دست آوردیم
به بیان دیگر در تصویر سمت چپ اطلاعات ارتفاع فقط در هر 90 متر در اختیار شبیه ساز قرار میگیرد و در تصویر سمت راست اطلاعات ارتفاع در هر 30 متر در اختیار شبیه ساز قرار میگیرد . بنابراین شبیه ساز هیچ اطلاعی از ارتفاعی که بین این 90 متر یا 30 متر قرارد دارد ندارد. اگر ما این نقاط ارتفاع را به یکدیگر متصل کنیم بهترین حالتی که میتوان انتظار داشت شبیه ساز پستی و بلندی کوه را برای رزولوشن 90 و 30 متر نشان دهد به صورت زیر است :
همان طور که مشاهده میکنید با رزولوشن 90 این کوه تقریبا به مانند تپه به نظر میرسد (چیزی که برای اکثر کوههای ایران وجود دارد).در رزولوشن 30 متر اوضاع به نسبت خیلی بهتر است (اما متاسفانه فعلا رزولوشن بالاتر از 38 متر در اختیار عموم قرار ندارد .شاید در آینده رزولوشن های 19 و 10 متر هم برای ایران در دسترس قرار گیرد).
به همین ترتیب نیز میتوان انتظار داشت نمودارهایی که در بالا به صورت گراف نشان دادم به صورت زیر در آید:
این حداکثر انتظاری است که میتوان از شبیه ساز داشت تا ارتفاعات و دره ها را با رزولوشن 30 و 90 واقعی نشان دهد
در عکس سمت راست ما LOD را بالاتر از رزولوشن سورس در نظر گرفتیم و در شکل سمت چپ LOD را تقریبا هم تراز رزولوشن سورس در نظر گرفتیم
توسعه دهنده گان رزولوشن نهایی را با استفاده از یک مقدار LOD ( البته این LOD با LOD که در تکسچر از آن صحبت کردیم تفاوت دارد و در فایل INF مربوط یه ELEVATION قرار دارد) مشخص میکنند .اما هیچ کنترلی بر روی مکان samples هایی که برای ساخت اطلاعات جدید استفاده میشود ندارند .شبیه ساز پرواز از سیستم شبکه داخلی خود استفاده میکند که منطبق بر هیچ گونه رزولوشن موجود نیست .بنابراین در این مرحله مقداری دقت از بین میرود .ما هنوز چیزی از جزئیات این فرآیند تبدیل نمیدانیم اما مناطق سبز رنگ ماهیت این تحریف اضافی را نشان میدهد.توجه داشته باشید که مکان قله ها و دره ها در هر مرحله از این فرآید تغییر میکند.این باعث میشه که اطمینان از تطابق عناصر دیگر صحنه با مش جدید مشکل شود.
پایان بخش اول
نکات خیلی زیادتری در مورد مش و ساخت آن وجود دارد که در بخش دوم و سوم به آنها خواهیم پرداخت
ویرایش بوسیله ناظر
11 سال پیش
|
دلیل ویرایش: نامشخص