دوستان کلاس Quaternion هم تابع Lerp داره که مثل تابع Lerp کلاس Vector3 هست.
#آموزش تابع EnableKeyword و DisableKeywork کلاس Shader در #یونیتی :
EnableKeywork باهاش میتونید یه کلمه کلید جهانی تنظیم کنید یه ورودی داره به نام keywork.
DisableKeywork باهاش میتونید کلمه کلیدی که تنظیم کردید رو از تنظیم در بیارید.
این دو تابع رو کلاس متریال (Material) هم داره.
🆔 @Unity_Technologies
EnableKeywork باهاش میتونید یه کلمه کلید جهانی تنظیم کنید یه ورودی داره به نام keywork.
DisableKeywork باهاش میتونید کلمه کلیدی که تنظیم کردید رو از تنظیم در بیارید.
این دو تابع رو کلاس متریال (Material) هم داره.
🆔 @Unity_Technologies
#آموزش توابع و متغیر های کلاس Screen در #یونیتی :
متغیر fullScreen : این متغیر از جنس bool هست به عنوان فول اسکرین بودن و نبودن صفحه که میشه set و get کرد.
متغیر currentResolution : این متغیر رزولیشن فعلی رو نمایش میده که فقط میشه get کرد read only هستش و از جنس Resolution هست.
متغیر width و height : این دو متغیر read only هستن و فقط میشه get کرد چیزی که برگشت میدن اندازه افقی وعمودی صفحه هستش و جنسشون int هست.
متغیر dpi : این متغیر مقدار DPI فعلی رو نشون میده و فقط read only هست و میشه get کرد.
متغیر resolutions : این متغیر از جنس Resolution آرایه ای هستش و read only هست و میتونی رزولیشن هارو ازش بگیرید.
متغیر autorotateToPortraitUpsideDown : برای فعال کردن چرخش اتوماتیک portrait upside down و جنس bool و get , set میشه کرد.
متغیر autorotateToPortrait : برای فعال کردن چرخش اتوماتیک portrait و جنس bool و get, set میشه کرد.
متغیر autorotateToLandscapeRight : برای فعال کردن چرخش اتوماتیک landscape right جنس bool و get , set میشه کرد.
متغیر autorotateToLandscapeLeft : برای فعال کردن چرخش اتوماتیک landscape left جنس bool و get , set میشه کرد.
تابع SetResolution : این تابع برای تنظیم رزولیشن صفحه هستش و چهار تا ورودی داره width و height و fullScreen و preferredRefreshRate هستن.
طرز استفاده دوم از تابع :
🆔 @Unity_Technologies
متغیر fullScreen : این متغیر از جنس bool هست به عنوان فول اسکرین بودن و نبودن صفحه که میشه set و get کرد.
Screen.fullScreen = مقدار (true, false);
متغیر currentResolution : این متغیر رزولیشن فعلی رو نمایش میده که فقط میشه get کرد read only هستش و از جنس Resolution هست.
print (Screen.currentResolution.ToString());
متغیر width و height : این دو متغیر read only هستن و فقط میشه get کرد چیزی که برگشت میدن اندازه افقی وعمودی صفحه هستش و جنسشون int هست.
print (Screen.width
);
print (Screen.height);
متغیر dpi : این متغیر مقدار DPI فعلی رو نشون میده و فقط read only هست و میشه get کرد.
print (Screen.dpi);
متغیر resolutions : این متغیر از جنس Resolution آرایه ای هستش و read only هست و میتونی رزولیشن هارو ازش بگیرید.
print (Screen.resolutions[0].ToString());
متغیر autorotateToPortraitUpsideDown : برای فعال کردن چرخش اتوماتیک portrait upside down و جنس bool و get , set میشه کرد.
Screen.autorotateToPortraitUpsideDown = مقدار (true, false);
متغیر autorotateToPortrait : برای فعال کردن چرخش اتوماتیک portrait و جنس bool و get, set میشه کرد.
Screen.autorotateToPortrait = مقدار (true, false);
متغیر autorotateToLandscapeRight : برای فعال کردن چرخش اتوماتیک landscape right جنس bool و get , set میشه کرد.
Screen.autorotateToLandscapeRight = مقدار (true, false);
متغیر autorotateToLandscapeLeft : برای فعال کردن چرخش اتوماتیک landscape left جنس bool و get , set میشه کرد.
Screen.autorotateToLandscapeLeft = مقدار (true, false);
تابع SetResolution : این تابع برای تنظیم رزولیشن صفحه هستش و چهار تا ورودی داره width و height و fullScreen و preferredRefreshRate هستن.
Screen.SetResolution(350, 450, true);
پارامتر اخری پیش فرض 0 هست.طرز استفاده دوم از تابع :
Screen.SetResolution (800, 600, false, 60);
حالا خودمون دستی اخرین پارامتر رو 60 دادیم🆔 @Unity_Technologies
#آموزش غیرفعال و فعال کردن کامپوننت های یک آبجکت در #یونیتی :
دوستان هر کامپوننتی enabled داره که میتونید set و get کنید وقتی غیرفعال شه تیکی که کنار ایکونش هست میره ولی اگه فعال باشه تیک میاد به معنی اینه که فعال و غیرفعال هست و میتونید دستی با کلیک روش فعال و غیرفعالش کنید.
از طریق کد هم به این شکل هست :
و بجاش میتونید گیم ابجکت رو غیرفعال و پنهانش کنید :
دوستان هر کامپوننتی enabled داره که میتونید set و get کنید وقتی غیرفعال شه تیکی که کنار ایکونش هست میره ولی اگه فعال باشه تیک میاد به معنی اینه که فعال و غیرفعال هست و میتونید دستی با کلیک روش فعال و غیرفعالش کنید.
از طریق کد هم به این شکل هست :
GetComponent<Rigibody> ().enabled = false;این میاد کامپوننت ریجید بادی ابجکتی که کد بهش وصله رو میگیره و غیرفعال میکنتش.
public GameObject Player;
Player.GetComponent<CharacterController> ().enabled = false;
دوستان کامپوننت هایی هستن مثل Transform که enabled ندارن!و بجاش میتونید گیم ابجکت رو غیرفعال و پنهانش کنید :
gameObject.SetActive(false);
🆔 @Unity_Technologies#آموزش تابع SetCursor کلاس Cursor در #یونیتی :
دوستان با این تابع میتونید ماوس تنظیم کنید مثلا تکسچر بدید مکان و مودشو تنظیم کنید.
طرز استفاده از تابع :
سه تا متغیر با جنس های Texture2D و CursorMode و Vector2 تعریف میکنیم تا توی تنظیم ماوس ازشون استفاده کنیم.
طرز استفاده و تنظیم ماوس :
🆔 @Unity_Technologies
دوستان با این تابع میتونید ماوس تنظیم کنید مثلا تکسچر بدید مکان و مودشو تنظیم کنید.
طرز استفاده از تابع :
public Texture2D curTex;
public CursorMode curMode = CursorMode.Auto;
public Vector2 hotSpot = new Vector2(10, 20, 30);
سه تا متغیر با جنس های Texture2D و CursorMode و Vector2 تعریف میکنیم تا توی تنظیم ماوس ازشون استفاده کنیم.
طرز استفاده و تنظیم ماوس :
Cursor.SetCursor(curTex, hotSpot, curMode);
🆔 @Unity_Technologies
#اجرای صدای رندوم (تصادفی) به صورت داینامیک با #سی_شارپ کلاس Random و تابع Range در نرم افزار #یونیتی :
برای اینکار یه متغیر از جنسAudio Source تعریف میکنیم که صدا هارو بدیم بهش و پخش کنیم :
برای اینکار یه متغیر از جنسAudio Source تعریف میکنیم که صدا هارو بدیم بهش و پخش کنیم :
public AudioSource audioSource;و یه متغیر ارایه ای از جنس AudioClip که اهنگ هایی هستش ک رندوم انتخاب میشن :
public AudioClip[] audios;حالا برای اینکه یه صدای رندوم بین صدا هایی که اختصاص دادیم به متغیر audios رو انتخاب کنیم از تابع Range کلاس Random استفاده میکنیم و length رو length متغیر audios میدیم و کمترین عدد هم 0 و میریزیم توی یه متغیر عدد صحیح :
int rand = Random.Range(0, audios.Length);خب حالا برای اینکه صدا رو انتخاب کنیم با عدد بدست اومده تصادفی میایم [] جلوی متغیر audios میزاریم که یه عدد میگیره int که مثلا 5 بدین میاد چهارمین صدا رو برای ما انتخاب میکنه چون از 0 شروع میشه پس 4 انتخاب میکنه حالا این صدا رو باید بدیم به Audio Source مون :
audioSource.clip = audios[rand];خب به همین راحتی تونستیم صدای تصادفی انتخاب کنیم و بدیم به audio source حالا میخوایم که اجرا کنیم صدا رو :
audioSource.Play();🆔 @Unity_Technologies
سوال:
چکار کنم که یه مسیری قفل باشه و پلیر باید بره و چند جا رو بگرده و یا کلید پیدا کنه وبعد مسیر باز شه؟؟
جواب:
وقتی کاربر داره اینکارو انجام میده مثلا در رو باز میکنه مثلا روی در کلیک کرد در باز شد اونموقع که در باز میشه اونجا مثلا یه متغیر بولین رو فعال کن بعدا چک کن اگه فعال بود بدون که این درو باز کرده حالا باید بره در دوم باز کنه.
یا میتونی یه متغیر از جنس int بسازی هر مرحله رو که برد یکی به متغیر اضافه شه بعد مثلا میتونی چک کنی اگه ۵ دور از بازی برنده شد دیگه کلا برنده شه.
حالا شاید بخوای کاربر به یه مکانی پا گذاشت و رفت توی اون مکان بفهمی این هم با کلایدر انجام میشه تیک is trigger کلایدر رو میزنی بعد از تابع OnTriggerEnter استفاده میکنی ک یه پارامتر یا ورودی از جنس Collider داره برای برخورد با جسم دیگری از تابع OnCollisionEnter که یه پارامتر یا ورودی از جنس Collision داره که توی این پارامتر مشخصات اون چیزی که برخورد کرده رو میده حالا مثلا میخوای اگه از برخورد خارج شد یا از اون محل خارج شد اینو چک کنی میای بجای Enter از Exit استفاده میکنی OnTriggerExit یا مثلا میخوای وقتی داخل اون مکان بود چک کنی OnTriggerStay استفاده کن.
🆔 @Unity_Technologies
چکار کنم که یه مسیری قفل باشه و پلیر باید بره و چند جا رو بگرده و یا کلید پیدا کنه وبعد مسیر باز شه؟؟
جواب:
وقتی کاربر داره اینکارو انجام میده مثلا در رو باز میکنه مثلا روی در کلیک کرد در باز شد اونموقع که در باز میشه اونجا مثلا یه متغیر بولین رو فعال کن بعدا چک کن اگه فعال بود بدون که این درو باز کرده حالا باید بره در دوم باز کنه.
یا میتونی یه متغیر از جنس int بسازی هر مرحله رو که برد یکی به متغیر اضافه شه بعد مثلا میتونی چک کنی اگه ۵ دور از بازی برنده شد دیگه کلا برنده شه.
حالا شاید بخوای کاربر به یه مکانی پا گذاشت و رفت توی اون مکان بفهمی این هم با کلایدر انجام میشه تیک is trigger کلایدر رو میزنی بعد از تابع OnTriggerEnter استفاده میکنی ک یه پارامتر یا ورودی از جنس Collider داره برای برخورد با جسم دیگری از تابع OnCollisionEnter که یه پارامتر یا ورودی از جنس Collision داره که توی این پارامتر مشخصات اون چیزی که برخورد کرده رو میده حالا مثلا میخوای اگه از برخورد خارج شد یا از اون محل خارج شد اینو چک کنی میای بجای Enter از Exit استفاده میکنی OnTriggerExit یا مثلا میخوای وقتی داخل اون مکان بود چک کنی OnTriggerStay استفاده کن.
🆔 @Unity_Technologies
سوال:
میخوام یه کاری بکنم که پلیر که راه میره دوربین دنبالش بره
جواب:
ببین یه متغیر از جنس ترنسفرم تعریف میکنی و توی ادیتور یونیتی میای بهش دوربین رو نسبت میدی و یه متغیر هم برای پلیر میسازی از جنس ترنسفرم
بعد میای پوزیشن دوربین رو مساوی قرار میدی با یه وکتور تیری جدید میسازی و x , y , z پوزیشن پلیر رو میدی بهش بعد پوزیشن z رو منفی یه عددی میکنی مثلا وقتی پلیر رفت جلو دوربین یکم عقب تر از پلیر قرار بگیره پس مثلا منفی ۸ چیز کن خودت تست کن هرکدوم خوب بود یا میتونی براش یه متغیر بسازی و توی ادیتور تنظیم کنی بقیه جهت ها هم همینطور
حالا این یکم خشک هست میتونی از تابع Lerp کلاس Vector3 هم استفاده کنی.
🆔 @Unity_Technologies
میخوام یه کاری بکنم که پلیر که راه میره دوربین دنبالش بره
جواب:
ببین یه متغیر از جنس ترنسفرم تعریف میکنی و توی ادیتور یونیتی میای بهش دوربین رو نسبت میدی و یه متغیر هم برای پلیر میسازی از جنس ترنسفرم
بعد میای پوزیشن دوربین رو مساوی قرار میدی با یه وکتور تیری جدید میسازی و x , y , z پوزیشن پلیر رو میدی بهش بعد پوزیشن z رو منفی یه عددی میکنی مثلا وقتی پلیر رفت جلو دوربین یکم عقب تر از پلیر قرار بگیره پس مثلا منفی ۸ چیز کن خودت تست کن هرکدوم خوب بود یا میتونی براش یه متغیر بسازی و توی ادیتور تنظیم کنی بقیه جهت ها هم همینطور
حالا این یکم خشک هست میتونی از تابع Lerp کلاس Vector3 هم استفاده کنی.
🆔 @Unity_Technologies