mohsenfff
  • mohsenfff
  • 52.26% (معمولی)
  • حرفه ای ارزشمند شروع کننده موضوع
12 سال پیش
معرفی مش-بخش دوم
Quality
واژه Quality بیانگر خیلی چیزهاست اما در اینجا منظور من واقع گرایی سطح زمین(پستی و بندی ها ) آنگونه که در شبیه ساز نشان میشود است . 3 فاکتور اصلی برای تعیین این واقع گرایی وجود دارد
1-اطلاعات سورس (یا منبع)

میزان دقت اطلاعات سورس در نهایت واقع گرایی سطح زمین را تعیین میکند .2 فاکتور این دقت را تعیین میکنند ، یکی تازگی و نحوه جمع آوری اطلاعات است . مثلا در مورد آمریکا بیشتر اطلاعات جمع آوری شده مربوط به 50 سال پیش یا قبل تر است . بعضی از ویژگی ها توپوگرافی از آن زمان تا کنون تعییر کرده ، اما این زیاد مشکل ساز نیست . ماهواره های جدیدی به فضا فرستاده شده اند که به طور مرتب اطلاعات داده ای را به روز میکنند مثلا Shuttle Radar ناسا که اطلاعات داده ای ارتفاع را تا رزولوشن 76 متر برای دنیا پوشش میدهد , و یا ASTER GDEM که نسخه 1 آن در سال 2009 وارد مدارد شد که رزولوشن آن از 120 متر بود و در سال 2011 نسخه دومی وارد مدار شد که رزولوشن را از 120 متر تا 70 متر تقلیل میداد. ویژگی های این نسخه جدید که ما برای اصلاح مش از آن استفاده میکنیم به شرح زیر است
1- بهبود رزولوشن زمین

UserPostedImage


در سمت راست نسخه 1 را میبینید و در سمت چپ نسخه 2
2- فضاهای خالی که در نسخه 1 در ارتفاعات بالا وجود داشت ،در نسخه 2 پس از اضافه کردن 350 هزار صحنه جدید تا حد خیلی زیادی برطرف شد .(منظور از فضای خالی این است که هیچ گونه اطلاعات ارتفاعی در آن نقطه وجود ندارد)

UserPostedImage


در سمت راست نسخه 1 را میبینید و در سمت چپ نسخه 2
3-سطح دریاچه های در نسخه 2 توسط الگاریتمی جدید کاملا صاف شده است.

UserPostedImage


4- تصصیح ناهنجاری ها .این بار نیز به سبب اضافه کردن 350 هزار عکس جدید ،نقاط کور پوشش داده شد

UserPostedImage


فاصله افقی ما بین اندازه گیری های ارتفاع بیشترین کمک را به دقت میکند.به طور معمول برای بعضی مکان ها رزولوشن 120 متر ، بعضی جاها 90 متر، 30 متر و 10 متر است . رزولوشن 90 متر تنها 1 نقطه اطلاعات ارتفاع را در هر 90 متر مربع دارد ، رزولوشن 30 متر 9 نقطه ارتفاع را دارد و رزولوشن 10 متر 81 نقطه اطلاغات ارتفاع را در همان 90 متر مربع دارد . در مکان هایی که پستی و بلندی زیادی ندارند مثل بیابان و کویر ، این رزولوشن های مختلف تاثیر جندانی را در دقتی که شبیه ساز ارائه میدهد نداد ، اما در جاهایی که پستی و بلندی زیادی دارد .این تاثیر بسیار فزاینده میشود .
مثلا در عکس زیر ما بیابانی در حدود تقریبی مثلا 350 متر مربع داریم که زیاد هم پستی بلندی ندارد . با رزولوشن 90 متر تصویری که شبیه ساز از زمین ارائه میکند تقریبا تفاوتی با واقعیت ندارد. خط سیاه اول پستی بلندی های زمین در واقعیت است و خط سیاه دوم آن چیزی است که در شبیه ساز به نمایش در میآید

UserPostedImage


حالا اگر همین 350 متر مربع از زمین پستی بلندی های زیادی داشته باشد و رزولوشن ما همان 90 متر باشد چیزی که شبیه ساز از واقعیت ارائه میدهد به صورت زیر است

UserPostedImage


به همین خاطر است که شما در بیشتر مناطق ایران چیزی به نام کوه یا پستی بلندی نمیبینید.کیفیت اطلاعات سورس فاکتور نهایی در کیفت محصول نهایی است. این وجه به آسانی برای کاربران شبیه ساز مشهود نیست اما برای توسعه دهندگان باید مهم باشد .دو مسئله در اینجا حائز اهمیت است یکی تمامیت اطلاعات و دیگری در دسترس بودن اطلاعات با رزولوشن یکسان برای منطقه مورد نظر است
اطلاعات ناقص میتواند حتی به کوچکی یک نقطه ارتفاع در یک منطقه میتواند مشکل ساز باشد ، و این اطلاعات گمشده در محصول نهایی مش میتواند بسیار تابلو باشد . مثلا یکدفعه در صحنه یک ستون مثل ستون برق را میبنید که تا ارتفاع 40 هزار فوتی بالا رفته یا دره ای را در وسط بیابان میبنید که به اندازه گودال ماریانا عمق دارد .

مسئله مشکل ساز تر در مورد مناطق وسیع رخ میدهند جایی که داده از دست رفته در امتداد مرزها هستند . یکی از دلایل آن این واقعیت میتواند باشد که اطلاعات در زمان های محتلف و توسط سازمان یا اشخاص مختلفی گرد آوری شده اند.اگر از چنین اطلاعاتی به عنوان سورس مورد استفاده قرار گرفت توسعه دهندگان باید به طریقی خلا بین این اطلاعات گمشده را پر کنند ، در غیر این صورت شبیه ساز آنها را به صورت پستی و بلندی های مصنوعی خیلی تابلو نشان خواهد داد. ( که البته در مورد این اطلاعات ناقص و چگونگی تصیح آنها بعدا خواهم گفت)

2- فرآیند تبدیل
وقتی که اطلاعات ارتفاع مورد نظر بدست آمد ،توسعه دهنده باید آن را تبدیل به فرمت مورد استفاده شبیه ساز بکند(Bgl) . این کار توسط Terrain SDK و با استفاده از resample انجام میشود. در این مرحله 3 فاکتور وجود دارد که تحت کنترل توسعه دهنده میباشد
مرتب کردن اطلاعات
یک توسعه دهنده باید مطمئن شود که هیچ گونه داده از دست رفته ای وجود ندارد.پر کردن یک نقطه اطلاعات گمشده کار آسانی است و میتواند به طور خودکار انجام شود.مناطق وسیع احتیاج به تبحر خاصی دارد . نتیجه حاصله نمیتواند کاملا دقیق باشد اما تغییرات و ماست مالی هایی که ما میکنیم در پرواز اصلا قابل مشاهده نیست.

اطمینان از پوشش دادن کل منطقه
در فرآیند تبدیل ، نرم افزار Sdk گوشه های داده را میچیند تا منطبق بر شبکه داخلی شبیه ساز شود. این وظیفه توسعه دهنده است که از بلوک های اطلاعاتی به اندازه کافی بزرگ استفاده کند ، در غیر این صورت شکافی مابین نواحی با رزولوشن بالا و مش دیفالت شبیه ساز به وجود میآید .تاثیر این فرآیند معمولا به صورت صخره هایی بر آمده در امتداد بین مرزها قابل مشاهده است .

منطبق کردن اطلاعات سورس با شبکه داخلی شبیه ساز
به این موضوع به صورت یک فرآیند دو مرحله ای نگاه کنید ، اول تصور کنید که موتور شبیه ساز از اطلاعات اصلی برای ساخت یک مدل 3 بعدی فرضی که نمایانگر زمین است استفاده میکند . دقت این سطح بستگی به رزولوشن اطلاعات اصلی دارد ، سپس تصور کنید که برنامه وارد این محیط فرضی میشود و مجموعه جدیدی از نقاط داده ای ارتفاع را از آن سطح دریافت میکند ، درست مثل یک نقشه خوان ، این دریافت های جدید داده هایی هستند که برای ساخت فایل مش نهایی مورد استفاده قرار میگیرند

توسعه دهنده فاصله افقی این نقاط ارتفاع جدید را با استفاده از پارامتر LOD تعیین میکند.مقادیر LOD معمول 9 ( معادل با رزولوشن 76 متر) و 10 (معادل با 38.2 متر ) است.دوباره باید یاد آور شد که هر چه نقاط ارتفاع جدید نزدیکتر باشند( یعنی LOD بالاتر باشد) بهتر میتوانند سطح واقعی زمین را نشان دهند .بهترین کار این است که مقدار LOD فایل INF را مطابق بر رزولوشن سورس اصلی کنیم .برای مثال برای رزولوشن 90 متر از LOD 9 استفاده کنیم و برای رزولوشن 30 متر از LOD 10 . استثناهای زیادی میتوان در این مورد قائل شد اما فعلا این راهنمای خوبی است.

تنظیمات شبیه ساز
این دیگر کاری است که کاربران شبیه ساز میتوانند انجام دهند
مایکروسافت تنظیمات دیفالت را در نرم افزار متعادل کرده است تا کاربرانی که حداقل سیستم مورد نیاز برای اجرای شبیه ساز را دارند بتوانند تجربه رضایت بخشی را داشته باشند .اما موتور شبیه ساز به گونه ای است که میتوان بسیاری از این تنظیمات را بهبود بخشید که البته در بعضی مواقع باعث افزایش بار پردازش بر سیستم میشود .این تنظیمات باعث میشود که ما بتوانیم بر روی وجه خاصی از صحنه ( مثل تکسچر یا مش) منابع بیشتری را اختصاص داده و بر روی وجوح دیگر (مثل اتوژن و آب و ...) منابع کمتری را اختصاص دهیم.

استفاده از مش با رزولوشن بالا نیز از این قاعده مستثنا نیست .در فایل CFG شبیه ساز گرینه ای به نام MESH_RESOLUTION وجود دارد . مقدار پیش فرض این گزینه 25 است که معادل با رزولوشن 38 متر و پایین تر است . برای رزولوشن 76 متر مقدار این گزینه 19 است .البته اسلایدرهایی که در خود تنظیمات نرم افزار وجود دارد قابلیت تنظیم این مقادیر را برای FSX دارد . اما در FS9 در زیر قسمت [TERRAIN] گزینه ای به نام TERRAIN_MAX_VERTEX_LEVEL (که البته به طور پیش فرض آنجا نیست و باید اضافه شود) وجود دارد که مقدار پیش فرض آن 19 میباشد .این مقدار به نظر میرسد برای بیشتر مقاصد کافی باشد .اما اگر ما از مش هایی با رزولوشن 30 متر یا کمتر استفاده میکنیم بالا بردن مقدار این گرینه به 20 یا 21 باعث افزودن قابل توجهی از جزئیات به محیط میشود هم قله ها نوک تیز تر میشوند و هم دره ها صاف تر.
کلام آخر آنکه زمانی که قصد اضافه کردن مش با رزولوشن بالا را به شبیه ساز دارید ،هم رزولوشن داده سورس و همچنین رزولوشن نهایی را که توسط فرآیند تبدیل تولید میشود را کنترل نمایید.

فکر میکنم تا اینجا فعلا برای معرفی مش کافی بوده باشد .اطلاعات اضافی دیگر در بخش دوم که مربوط به گرد آوری اطلاعات و کامپایل آن است در اختیار شما قرار خواهد گرفت .بخش سومی هم وجود دارد که مربوط به مشکلات بعد از اعمال مش و ریزه کاری های دیگر است