Unity Technologies
265 subscribers
129 photos
3 videos
173 files
194 links
channel: @Unity_Technologies
site: hd-games.blog.ir
youtube: youtube.com/channel/UCEzBhjvahxYnFcC_1CIVMfg

🚫 هر گونه کپی برداری از این کانال بدون ذکر منبع (آیدی) شرعا حرام است. 🚫
🆔 @Unity_Technologies
Download Telegram
#آموزش نوشتن #اسکریپت اجرای رندوم چند آهنگ
ابتدا یک متغیر AudioSource آرایه ای تعریف میکنیم:
public AudioSource[] audios;

حال در تابع استارت یک متغیر که عددش بین ۰ تا Length متغیر audios به صورت رندوم انتخاب شه تعریف میکنیم:
int a = Random.Range (0, audios.Length);

حالا باز در تابع استارت میگیم که آهنگ شماره ای که به صورت رندوم انتخاب شده اجرا شه :
audios[a].Play();


🆔 @Unity_Technologies
#اسکریپت دادن تکسچر به متریال آماده
ابتدا متغیر از نوع Material تعریف میکنیم:
public Material mat;

و یک متغیر دیگر برای تکسچر :
public Texture texture;

حالا توی هر تابع یا شرط و.. ای میگیم که :
mat.SetTexture ("_MainTex",texture);

mat.SetTexture ("در این قسمت نام متغیری که توی شیدر استفاده شده رو مینویسیم",در این قسمت تکسچر یا ... مربوط به متغیری که نامش را نوشته ایم را قرار میدهیم);


🆔 @Unity_Technologies
نام همه متغیر های #تکسچر #شیدر استاندارد #یونیتی :

_MainTex - Albedo
_MetallicGlossMap - Metallic
_BumpMap - Normal Map
_ParallaxMap - Height Map
_OcclusionMap - Occlusion
_EmissionMap - Emission
_DetailMask - Detail Mask
_DetailAlbedoMap - Detail Albedo x2

🆔 @Unity_Technologies
#اسکریپت نمایش پیام یا یک صفحه وقتی برای اولین بار بازی رو اجرا میکنی
در تابع استارت :
if (PlayerPrefs.HasKey ("S") == false) {
//welcome
PlayerPrefs.SetInt ("S",1);
}
اگر کلید S ذخیره نبود این شرط اجرا میشه و کلید S رو ذخیره میکنه و اگه بود اجرا نمیشه و صفحه ای برای اولین بار باز نمیکنه.

🆔 @Unity_Technologies
پکیج Control Freak نسخه 2.0.1 : دانلود
پکیج FPS Guns 12 Pack نسخه 1.0 : دانلود
پکیج PlayMaker نسخه 1.9.0 : دانلود
پکیج SkyBox نسخه 1.0 : دانلود
پکیج Persian Text نسخه 1.0 : دانلود
پکیج Character Controller نسخه 1.0 : دانلود
پکیج Easy Save نسخه 3.0.1 : دانلود
پکیج Advanced AI Pro نسخه 7.2 : دانلود
پکیج Terrain To Mesh نسخه 1.23 : دانلود
پکیج Anti Cheat Toolkit نسخه 1.5.0.1 : دانلود
پکیج Terrain Composer نسخه 1.9 : دانلود

🆔 @Unity_Technologies
نام پکیج : Weapon Pack Assault Rifles
نسخه پکیج : 1.0
لینک دانلود : دانلود

🆔 @Unity_Technologies
پکیج FuturisticWeaponsSet مجموع صدای اسلحه برای یونیتی.
برای دانلود این پکیج کلیک کنید.

🆔 @Unity_Technologies
#آموزش حلقه for
حلقه for یه متغیر عدد صحیح در نظر میگیره و یه مقدار عددی دیگه هم میگیره و میاد چک میکنه و میگه که تا وقتی مقدار متغیرم از این مقداری که از ما میگیره کمتر بود بیا و یکی به متغیرم اضافه کن و کدی که ما نوشتیم رو اجرا کن به صورت زیر :

for (int i = 0; i < my value; i++) {
//my code
}


🆔 @Unity_Technologies
Calculator.rar
18.5 KB
کتابخانه ماشین حساب #سی_شارپ.
آموزش استفاده از این کتابخانه در فایل rar قرار دارد.

🆔 @Unity_Technologies
#سوال : من میخوام یه کاری کنم که مثلا اگه شخصیتم به یه جای مشخصی رسید یه اتفاق رخ بده یا بره مرحله بعد
___________________________________________________________________
#جواب : اول یک گیم آبجکت خالی میسازید و بهش باکس کلایدر میدید و تیک is trigger رو میزنید
بعد شخصیتتون میخواید وقتی وارد کلایدر شد بره مرحله بعد میاید و یه کد ساده برای اینکار مینویسید با استفاده از تابع OnTriggerEnter که ورودی کلایدر میخواد :
void OnTriggerEnter (Collider col) {
if (col.name == "Next") {
UnityEngine.SceneManagement.SceneManager.LoadScene ("level name");
}
}
الان من گفتم اگه اسم گیم ابجکت کلایدری که شخصیت واردش میشه Next بود بیاد و بره مرحله بعد که اسمشو میتونید بجای level name بنویسید
یا میتونید یه شرط دیگه بجای این بنویسید و از تگ استفاده کنید یه تگ یه کلایدرتون میدید و مثلا اسمشو Next میزارید و شرط زیر رو تو تابع بالا مینویسید :
if (col.CompareTag ("Next")) {
UnityEngine.SceneManagement.SceneManager.LoadScene ("level name");
}

امیدوارم موفق باشید

🆔 @Unity_Technologies
سلام دوستان.
مدلسازی هست که وقت داشته باشه و سطحشم حداقل متوسط باشه و بتونه حداقل یه کاراکتر کامل بسازه ؟
اگه کسی هست و توی تیمی عضو نیست میتونه بیاد پیوی و توی تیممون عضو شه : @Unity3D_Developer
رندر بلندر با انجین EEVEE

🆔 @Unity_Technologies
سلام دوستان، یکی از کاربران مشکل پر شدن درایو C مواقعی که یونیتی کار میکرد داشت و گفت یونیتی و حتی پروژه ها رو توی درایو دیگه ذخیره کردم ولی باز درایو C پر میشه.
من گفتم بیام تو کانال آموزش رفع این مشلکو براتون بزارم تا همه استفاده کنید، خب ابتدا میرید منوی Edit و بعد Preferences... حالا صفحه ای باز میشه توی اون صفحه برید قسمت GI Cache و دکمه Clean Cache رو بزنید تا درایو سی هرچی ذخیره شده بوده از این طریق پاک شه قسمت متنی که با رنگ قرمز بدون شماره مشخص شده هم محل ذخیرش هست میتونید دستی پاکش کنید.
امیدوارم موفق باشید❤️❤️.

🆔 @Unity_Technologies
#آموزش استفاده از #Navigation (مسیر یابی) و نوشتن #اسکریپت برای عملکرد آن :
ابتدا پنجره Navigation رو از قسمت Window/Navigation باز میکنیم.
حالا همه اجسامی که بی حرکت و بی انیمیشن هستند را در حالت Static قرار دهید (اجسام رو انتخاب کنید و در بالای صفحه اینسپکتور Inspector کنار نام گیم آبجکت روی گزینه Static کلیک میکنیم تا تیک بخوره).
در این پنجره Navigation به قسمت Bake میریم و Agent Radius رو روی 0.2 تنظیم میکنیم حالا روی دکمه Bake کلیک میکنیم و صبر میکنیم...
حالا یک #اسکریپت با نام دلخواه میسازیم و بازش میکنیم... ، کتابخانه ی مربوط به Navigation رو تعریف میکنیم : using UnityEngine.AI;
خب حالا متغیر از نوع NavMeshAgent و با نام دلخواه مثلا enemy میسازیم و میریم تابع استارت و کد زیر رو میزنیم :
enemy = this.GetComponent<NavMeshAgent> ();
حالا میریم تابع آپدیت و میتونیم توی شرط چک فاصله بین دشمن و پلیر بنویسیمش و یا بدون شرط که از همون اول بازی میره دنبال پلیر :
enemy.destination = player.transform.position;
خب دوستان میتونید یه متغیر دیگه از نوع Transform بسازید و با اسم player و بعد = پوزیشن این متغیر رو بگیرید و بریزید توی متغیر destination کامپوننت navMeshAgent دشمنمون و یا میتونید از تابع SetDestination این کامپوننت استفاده کنید به شکل زیر :
enemy.SetDestination (player.transform.position);
اینجا هم اومدیم پوزیشن متغیر پلیر رو دادیم به تابع SetDestination کامپوننتمون.
حالا میتونید اسکریپت رو به دشمن بدید و پلیر رو به متغیر player اسکریپتمون نسبت بدید و بازی رو تست کنید...
امیدوارم موفق باشید🌹🌺.

🆔 @Unity_Technologies
Unity Pro Patch 2018.exe
364.5 KB
#پچ یونیتی 4 تا 2018

🆔 @Unity_Technologies