تغییر تکستچر و متریال(texture/material) در حین اجرا در یونیتی
چهارشنبه, ۲۰ اسفند ۱۳۹۳، ۰۵:۴۳ ب.ظ
Unity.Pro.v4.3.4f1
شاید دلتون بخواد در حین اجرا با فشردن یک کلید تکستچر عوض بشه یا متریال .
ابتدا دو متریال ایجاد کنید به نام های mat1 و mat2 و تکستچر های دلخواه یا رنگ دلخواه رو بهش نسبت بدید.
نکته: برای ایجاد متریال در قسمت project راست کلیک کنید و Create Material رو بزنید.
(اگه تکستچر می خواد بذارید باید تکستچر رو بکشید با ماوس توی assets در بخش project به پروژه اضافه کنید و بعدش متریال رو انتخاب کرده و سپس تکستچر رو بکشید روی texture توی inspector از متریال انتخاب شده و رها کنید یا اونجا از کادر باز شده تکستچر رو براش set کنید که من فرض می کنم اینو بلدین اگه سوال داشتید بپرسید ازم)
سپس یک Plane ایجاد کنید.
سپس یک اسکریپت java بسازید و اسمشو بذارید: chColor.js و اونو بکشید روی Plane در hierarchy و کدهای زیر رو بریزید توش:
Material mat1,mat2;
void Update ()
{
if (Input.GetKeyUp (KeyCode.R)) renderer.material = mat1;
if (Input.GetKeyUp (KeyCode.G)) renderer.material = mat2;
}
سکریپت رو با ctrl+S ذخیره یا Save کنید.
(نکته : بعضی اوقات یونیتی قاطی می کنه و مجبورید اسکریپت رو ببندید و دوباره باز کنید تا کد ها درست کپی بشن)
بعد از ذخیره ی اسکریپت به محیط پروژه برگردید و Plane رو انتخاب کنید .
توی inspector(پنجره ی خصوصیات)، در زیر شاخه ی همین اسکریپتی که اضاف کردید به Plane،باید دو تا گزینه Mat1 و Mat2 اومده باشه که جلوی هر کدوم یه کادر هست.از توی اون کادر متریال 1 و 2 رو به هر کدوم نسبت بدید(mat1 و mat2)
شکل پروژه باید شبیه این باشه:
http://s5.picofile.com/file/8117468600/c...ad3011.jpg
پروژه رو Play کنید
اگه R بزنید باید رنگ plane قرمز بشه و اگه G بزنید باید رنگش سبز بشه.
شما می تونید تکستچر دلخواه رو بدید ولی من تکستچر ندادم فقط رنگ قرمز و سبز رو به ترتیب به متریال mat1 و متریال mat2 نسبت دادم.
امیداورم لذت برده باشید.
نکته:
(فقط روی دکمه ی play بزنید تا Run بشه و دوباره برای خروج روی Play بزنید . دقت کنید روی دکمه های دیگه مثل pause و اینا نزنید کمی قاطی می کنه و undo میشه و اگه مبتدی هستید شما رو گیج می کنه و مجبورید دوباره تنظیمات اسکریپت ها رو بنویسید و اعمال کنید)
۹۳/۱۲/۲۰