تکسچر ها در یونیتی

اموزش بازی سازی با موتور یونیتی

تکسچر ها در یونیتی

سیستم تکسچر یونیتی فوق العاده هست. استفاده ازش خیلی اسونه اما چندتا نکته مهم هست که با رعایتشون میتونین بازی های با کیفیت بالا بسازین.

سناریوی فرضی

برای تست کردن بعضی چیزها ، یک پروژه جدید میسازیم ، اسکریپتی براش مینویسیم و به دوربین اصلی میکشیمش.
یک همچین کدی :

یک تکسچر هم برای تست لازم داریم ، خب یک همچین چیزی :

لوگو فرضی

بعد از اینکه اسکریپت رو به دوربین دادیم باید تکسچرمون رو داخل فیلد T بکشیم. به این صورت :

افزودن لوگو به اسکریپت

اگر دکمه اجرا بازی رو بزنیم همچین چیزی میبینیم :

تکسچر با تنظیمات پیش فرض

تصویر جالب نیس انگاری کشیده شده ، شارپ نیس اطرافش و ابعادشم مناسب نیس.ولی چرا؟

ابعاد تکسچر

لوگو ما سایزش 300*100 هست.یونیتی همیشه تکسچر هایی با سایزای مربعی مثه 2×2, 4×4, 8×8, 16×32, 128×256, 512×1024, 2048×20 و … بارگذاری میکنه.  اگر سایز های تصویر این مدلی نباشه یونیتی خودش سایزهارو طوری عوض میکنه که مربعی بشه برا ی همین حالت کشیدگی داره.

بنابراین قانون ساده اینه که همیشه تکسچرهاتون مربعی باشه تا درست به نظر برسن.

سوال اینه که چرا یونیتی اینکارو میکنه ؟ با اینکه یک موتور بازیسازی پیچیدست ولی از همه سایز ها نمیتونیم استفاده کنیم؟

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

خب بیاین با یک تکسچر مربعی امتحانش کنیم :

استفاده از قانون مربعی در تکسچر

به خوبی نمایش داده میشه.

فشرده سازی تکسچر ها

معمولا وقتی ادما قانون مربعی رو یاد میگیرن دیگه فکر میکنن چیز جدیدی وجود نداره ولی هنوزم هست.

یونیتی یکسری تنظیمات کیفیت داره. که گرافیک رو در حالت Fastest, Fast, Simple, Good, Beautiful یا Fantastic تنظیم میکنه . حالا نکته ای که درباره تنظیمات کیفیت هست اینه که بعضی وقتا یونیتی کیفیت رو خودش تنظیم میکنه بدون اینکه ما بخوایم .

بهترین مثال برای حالتی هست که یک بازی برای وب یا موبایل میسازیم.

این پلتفرم ها نیمتونن گرافیک Fantastic رو داشته باشن . به همین دلیل یونیتی اونهارو در حالت Fastest قرار میده. یک تکسچر 512*128 روی یک گوشی یا وب با گرافیک Fastest اینطور نمایش داده میشه :

نمایش تکسچر روی بازی موبایل یا وب

اول از همه اینکه : این تکسچر برای حالتی خوبه که به کلاه بازیکن یا همچین چیزی اعمال بشه. بنابراین ما تفاوت کیفیت زیادیو نمیبینیم چون یک جز کوچیک تو دنیای سه بعدی حساب میشه.تنها فرقی که میبینیم افزایش FPS هاس که خیلی هم عالیه.

سیستم کیفیت کار خیلی خوبی برامون انجام میده ، مشکل اینه که ما تکسچرمونو به درستی تنظیم نکردیم.
از پنجره پروژه تکسچر رو انتخاب کنین . داخل اینسپکتور :

تنظیم تکسچر

مهمترین چیز نوع تکسچره :
  • texture : به عنوان متریال روی مدل های 3 بعدی استفاده میشه که لازم نیست کیفیت خیلی بالایی داشته باشن.
  • GUI :  برای چیز هایی مثه لوگو که میخوایم با بالاترین کیفیت نمایش داده بشه.

استفاده از gui همه جا توصیه نمیشه چون میتونه به شدت کارایی رو تحت تاثیر قرار بده.پس فقط در مواقع ضروری ازش استقاده کنین.

چیزایی که تا الان گفته شد تقریبا مهمترین مسائل درباره تکسچر ها بود . فقط یک مورد دیگه هست که ممکنه خیلی کم سروکارتون باهاش بیوفته .

رندر تکسچر ها

رندر تکسچر ها اساسا متغیر هایی هستن . در ترکیب با دوربین های دیگه تو صحنه بکار میرن.

بهترین مثال براشون استفاده تو اینه های عقب ماشینه . که دوربین اضافی پشت ماشین رو نشون میده و در واقع یک رندر تکسچر هست.

(البته توجه کنین که رندر تکسچر ها از کارایی بازی میکاهن. بنابراین بازم در مواقع لازم استفاده کنین.)

امیدوارم این مقاله براتون مفید بوده باشه.

منبع : Noobtuts