Unity Learning
2.99K subscribers
574 photos
211 videos
1.05K files
280 links
⭕️کانال آموزش حرفـــه ای موتور بازی سازی یـــونیتی

▪️ @UnityLearning ▫️

🔹ارتباط با مدیر کانال/👇

@UnityLearning_Admin

🔹 کد شامد /👇

1-1-3526-61-3-1

💰 تعرفه تبلیغات/👇

@UnityLearning_Ads

لینک گروه تبادل نظر اعضای کانال
@UnityLearning_Group
Download Telegram
SentryGun.js
1.1 KB
#اسکریپت_نویسی
⭕️کد #استاندارد مربوط به هوش مصنوعی SentryGun

🔰برای رفتن به #توضیحات کامل کد به

http://Telegram.me/UnityLearning/205

مراجعه کنید.



⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning
⭕️مطالب #گرافیکی به #درخواست کاربران

🔰 #مختصات نقاط دایره روی محور های مختصات نسبت به خطوط X=Y و X = -Y




⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️در #ادامه_مطلب بحث شلیــک شدن تیر #آموزش #یونیتی #اسکریپت_نویسی #کد_نویسی #دانلود

👈در اینجا می خواهیم، نحوۀ حذف شدن آبجکت تیر(به طور مثـــال موشک) با برخـــورد به اشیای دیگر و زمیــن(Terrain) را #آموزش بدهیم.

@UnityLearning

🔸برای اینکار از تابع OnCollisionEnter با پارامتـــر ورودی استفاده می کنیم. در واقع مانند توابع Trigger ورودی توابع شیئی است که وارد کالیدر یا تریگر مربوط به شی شده است، می باشد.

🔻با پیدا کردن موقعیت این شی می توان محل ایجاد شدن شی جدید (مثلا آتش) را می توان پیـــدا کرد.

💢بــرای اینکار از دستورات زیر استفاده می شود(در تابع OnCollisionEnter با پارامتر ورودی c)

var p:ContactPoint=c.contacts[0];

if (explo)

var explo1:GameObject=Instantiate(explo,p.point,transform.rotation);

👈در واقع دستور
c.contacts[0]
مختصات اولین نقطه ای که تیر برخورد کرده را بدست بیاوریم.

🔹اگر بخواهیم در همینجا از جان بازیکن مقابل که تیر به آن برخورد می کند کم شود با تابع

c.BroadcastMessage("Min_Health");

این عمل را انجام میدهیم.

@UnityLearning

▫️حال باید موشک را از بین ببریم، تا بازی طبیعی به نظر بیاید. برای اینکار از تابع Kill استفاده شده است. تابع Kill باعـــث از بین رفتن موشک و دود پشت آن می شود.(دود باید به شکل محو شدنی از بین برود)

var e:ParticleEmitter=GetComponentInChildren(ParticleEmitter);
if(e)
e.emit=false;

Destroy(gameObject);

▪️دستـــور emit باعث محو شدنِ Particle Emitter یا اشیای مثل دود و باد می شود.


🔺کـــد کامل آن چه توضیح داده شد در پست بعدی قرار می گیرد.



⭕️کانال یـــونیتی لرنینگ⭕️
💢@UnityLearning💢
Script7_Explo.js
509 B
اسکریپت کامل مربوط به حذف شدن یک آبجکت در هنگام برخورد به آبجکت دیگر و ساخته شدن یک آبجکت دیگر در محل برخورد.

به طور مثال این کد را به موشک می دهیم



⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
مرجع اصــــلی #اسکریپت_نویسی یونیتی

http://docs.unity3d.com/ScriptReference/index.html

با رفـــتن به این سایت می توانید به بزرگ ترین مرجع #کد_نویسی در یونیتی به زبان های #سی_شارپ، #جاوا و بو اسکریپت دسترسی پیدا کنید.

در این سایت به کدهای استاندارد یونیـــتی نیز دسترسی خواهید داشت.



🔰توجه داشته باشید به علت تحریم بودن، بخش هایی از سایت یونیتی از جمله همین Script Refrence از دسترس ایرانی ها خارج شده است. برای رفتن به بخش های خاصی از سایت #یونیتی از فــیلتر شکن استفاده کنید❗️


کـــانال یــونیتی لـرنینگ⭕️

💢@UnityLearning💢
⭕️کار با #صدا ها 🎵 در #یونیتی

🔰برای استفاده از صداها در یونیتی می توان از #کامپوننت های مربوط به Audio در یونیتی استفاده کرد.

👈برای دسترسی به این کامپوننت ها از منوی Component-Audio استفاده کنید.

🔰معرفی مهمترین کامپوننت های Audio


💢ـAudio Source منبع تولــید کننده ی صدا در یونیتی📣، در واقع این کامپوننت را به هر شیئی بدهید، تولید کننده ی صدا خواهد بود.

🔸به طور مثال اگر می خواهید یک آبشار در بازی داشته باشید، صدای آبشار را به #آبجکت آبشار بدهید.

🔹برای اضافه کردن یک صدا به بازی، صدای مورد نظر (با فرمت های Mp3 و سایر فرمت های صوتی) را به پنجره Project درگ کنید.
🔸با این کار صدا را به پروژه بازی خود اضافه کردید. در ادامه این آهنگ را به ویژگی Source مربوط به کامپوننت Audio Soruce بدهید یا اگر کامپوننت را از قبل اضافه نکردید، آهنگ را مستقما از پنجره پروجکت به آبجکت خود بکشید. در واقع با این کار خود یونیتی کامپوننت های لازم را به آبجــکت اضافه خواهد کرد.



💢ـAudio Listener. بر خلاف Audio Source این کامپوننت دریافت کننده ی صداست، در واقع مانند گوش عمل می کند.

⚠️به این نکته توجه کنید که در هر بازی باید فقط و فقط یک دریافت کننده ی صدای فعال داشته باشیم. اما به هر تعداد Audio Source می توانیم داشته باشیم.

🔻معمولا کارکتر فعال در بازی گوش کننده ی صدا هاست، بنابر این خود یونیتی به First Person یا 3rd Person Controller به طور خود کار Audio Listener داده است.





⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️میلاد با سعادت رسول گرامی اسلام حضرت محمد بن عبدالله و حضرت امام جعفر صادق علیهما السلام را به همه مسلمانان جهان تبریک عرض می نمائیم.




⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ #دانلود #نرم_افزار Ashampoo Driver Updater برای بروز رسانی #درایور سخت افزار


🔰سعی کنید همیشه آخرین نسخه از درایور سخت افزار ها را روی سیستم خود نصب کنید.


🔸لینک صفحه دانلود از سافت 98

http://soft98.ir/software/drivers/2408-ashampoo-driver-updater.html

🔰این کار باعث می‌شود، از حداکثر قابلیت های سخت افزار های خود در محیط نرم افزاری بهره ببرید.

⚠️توجه داشته باشید، استفاده از این نرم افزار به علت تحریم بودن سرور آپدیت درایور ها با استفاده از فیـــلتر شـکن امکان پذیر خواهد بود.


⚠️همچنین توجه کنید که برای Patch کردن این برنامه از حالت Safe Mode ویندوز خود استفاده کنید.




⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
کــاربرد #تگ ها (Tag) در یــونیتی


🔸 تگ ها در یونیتی برای دسته بندی اجسام به کار گرفته می شود. به طور #مثال فرض کنید، بخواهیم گروهی از دشمن ها(Enemy) و بازیکنان(Players) داشته باشیم. که هوش های مصنوعی را بر اساس آن ها تنظیم کنیم. برای این کار از تگ ها استفاده می شود. در صورتی که از تگ استفاده نشود، برای Target هوش های مصنوعـــی باید تک تک بازیکنان را معرفی کنیم، که کار اشتباه و اضافــی است.

🔹 برای رفع هــمین مشکل است که تگ ها می توانند به دسته بندی اجسام در یونیتی کمک کنند.

یک سری تگ آماده مثل Player و... در یونیتی وجود دارد اما در صورت نیاز بازی ساز می تواند تگ هایی را با استفاده از منوی

Edit - Project Setting - Tag & Layers

تگ های جدیدی برای بازی خود تعریف کنیم.

در ادامه کد نویسی های آموزشی نحوه بررسی تگ ها(در کد نویسی) مورد بررسی قرار می گیرد.

کاربرد تگ ها در یونیتی بسیار زیاد است و فقط بــرای این منظور(کنترل در #هوش_مصنوعی) به کار گرفته نمی شود.

🔷 برای تگ دار کردن یک #آبجکت، از پنــجره Inspector استفاده می شود. در بالای صفحه از پنجره Inspector برای تمام اشیا کلمه Tag را مشاهده می کنید کـه می توانید آن را با هر کدام از تگ های مورد نظرات مقدار دهی کنید.


کـــانال یونیتی لرنینگ
💢@UnityLearning💢
⭕️آیا از مطالب کانال یونیتی لرنینگ راضی هستید؟

بـــــله – 57
👍👍👍👍👍👍👍 77%

خــیـــر – 17
👍👍 23%

👥 74 people voted so far. Poll closed.
⭕️مفاهیمی از هوش های مصنوعی استاندارد


⭕️ #مقدمه برای #هوش_مصنوعی_متحرک

🔰آبجکت هایی که به عنوان هوش مصنوعی در بازی ها مورد استفاده قرار می گیرند، یک سری ویژگی و رفتار خواهند داشت:


🔸گشت زنی یا Patrol این عمل در واقع مسیری است که آبجکت روی آن حرکت خواهد کرد. این عمل در کد های هوش مصنوعی با یک تابع معروف به همین نام انجام می‌شود.

🔹این تابع (Patrol) در محل های خواسته شده باعث حرکت آبجکت خواهد شد. (در پست های آینده کد ها توضیح داده می‌شود)


▪️در صورتی که آبجکت هدف مربوط به هوش مصنوعی(Target) در محدوده خاصی قرار بگیرد. این آبجکت( #هوش_مصنوعی ) به سمت آن می رود، در صورتی که به فاصله ای نسبت به آن برسد ایستاده و به سمت آن شلیک می کند.

▫️تابع این اعمال در کد های #اسکریپت_نویسی استاندارد AttackPlayer می‌باشد.

🔸حال این اعمال می تواند دقیق تر (واقعی تر) هم شود، که بستگی به نوع هوش مصنوعی استاندارد که استفاده می‌شود، دارد.

🔹به طور #مثال می توان کاری کرد اگر آبجکت هوش مصنوعی پشت به هدفش است، عمل Attack را انجام ندهد. این عمل نیز به وسیله تابعی به نام CanSeeTarget انجام می‌شود.






⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
#تگ های مطالب کانال تاکنون


▪️بـرای رفتن به پست های دارای هر تگ روی آن کلیک کنید و با دکــمه های بالا و پایین(در بالای صفحه) بین مطالب جابجا شوید.

🔰تـــــگ ها


🔸 #اسکریپت_نویسی
🔹 #هوش_مصنوعی
🔸 #مثال
🔹 #مقدمه
🔸 #درایور
🔹 #نرم_افزار
🔸 #دانلود
🔹 #آبجکت
🔸 #کامپوننت
🔹 #یونیتی
🔸 #صدا
🔹 #جاوا
🔸 #سی_شارپ
🔹 #کد_نویسی
🔸 #آموزش
🔹 #نصب
🔸 #کارت_گرافیک
🔹 #مناسبت


🔰آمــوزش بازی سازی با مــوتور یونیتی در کانال
🔰 @UnityLearning


▫️لطفا ً کانال را به دوستان و آشنایان خود معرفی کنید.


⭕️کــانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ #مقاله ای «انگلیسی» در رابطه با نحوه ی ساخت موتور یونیتی در حالت شبکه ای با عنوان


▪️Design and development of unity 3D game engine based smart SNG ▫️

▫️▪️▫️▪️▫️▪️▫️▪️
▫️@UnityLearning▪️
▪️▫️▪️▫️▪️▫️▪️▫️

در پست بعدی برای مطالعه بیشتر اعضا قرار می گیرد.

👇👇👇👇👇👇👇👇👇
کار با #زمان در یونیتی
#اسکریپت_نویسی #کد_نویسی #جاوا #آموزش #یونیتی
🔸برای استفاده از مباحـــث مربوط به زمان در یونیتی از کلاس Time به همیــن منظور اســتفاده می شود. در واقع کلاس تایم در یونیتی به منظور بهره گیری و شبیه سازی زمان ایجاد شده است.

🔹 دستورات زیادی مربوط به زمان می شود، مثلا اجرای بازی در یک زمان خاص، بخش بندی زمان، متوقــف کردن بازی (Pause) و...

دستــور Time.timeScale :
در واقـــع این دستور به منظور سرعت بازی را تغییر می دهد. اگر مقدار آن را برابر یک قرار دهیم یعنی سرعت بازی به صــورت طبیعی و عادی باشد، در صــورتی که مقدار آن را بین 0 و 1 قرار دهیم، یعنی سرعت بازی را کاهش داده ایم و اگر مقداری بیشتر از 1 به این دستور بدهیم، به ایــن معنی خواهد بود که سرعت بازی سریع شود.

- به طور #مثال اگر

Time.timeScale=0.5;

باشد، یعنی سرعت بازی نصف (به صورت slowmation) خواهد بود.

نکتــه ای کــه در این جا لازم است بیان شود، این است کــه اگر مقدار این دستور برابر 0 شود در واقع بازی شما متوقف یا Pause می شود.

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

توجه کنید با توجه به اضافه شدن هشتگ #زمان به مطالب کانال شما می توانید برای دسترسی به ادامه مطالب مربوط به کلاس Time روی این هشتگ کلیک کنید.




کانال یونیتی لرنینگ
💢@UnityLearning💢
⭕️ادامه مطالب #کلاس Time

(شبیه سازی مطالب مربوط به #زمان در #یونیتی )

▫️دستور Time.time :
این دستور زمان بازی از ابتدای شروع آن را بر می گرداند.
توجه گردد که این دستور به صورت Read Only است و فقط برای دسترسی به زمان بازی مورد استفاده قرار می‌گیرد.

🔹توجه کنید که شمارش زمان بازی توسط این دستور بر اساس هزارم ثانیه است.

▫️دستور Time.deltaTime :
به منظور اجرای یک دستور در بازه ی زمانی خاص مثلا هر ثانیه از این دستور در شرط ها استفاده می‌شود. این برای زمانی است که بخواهیم بدون ایجاد وقفه در کد یک بازه ی زمانی ایجاد کنیم.




⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
آموزش ایجاد #انیمیشن در #یونیتی

🔹 برای ایجاد #آبجکت های دارای انیمیشن از نرم افزار هایی مثل Maya یا 3D Max استفاده می شود.

🔜 نرم افزار 3D Max برای ایجاد آبجکت های انیمیشن دار در پست های بعدی آموزش داده می شود.

با فرض داشتــن آبجکت دارای ویژگــی انیمیشن در یونیتی، در صورتی که این آبجکت را بعد از اضافه کردن به پنجره Project ، به محیـــط بازی مان اضافه کنیم، این آبجکت بــه صورت خودکار دارای #کامپوننت Animator برای شبیه سازی عملیات ایجاد انیمیشن خواهد بود. در صورتی که آبجکت مورد نظر فاقد این کامپوننت بود، آن را از منوی

Component - Miscellaneous - Animator

به آن اضافه می کنیم.


🔸 آبجکت هایی که دارای انیمیشن هستند، می توانند برای هر انیمیشن خود یک نام انیمیشن داشتــه باشند. به طور مثال آبجکت صندوقچه (که در پست های بعدی برای دانلود قرار خواهد گرفت) دارای انیمیشن Open و Close برای باز و بسته شدن درب آن است.

در این صورت برای اجرا شدن هر انیمیشن نام آن را بــه Animation مربوط به کامپوننت Animator می دهیم.

🔹 در صورتی که بخوهیم این انیمیشن در ابتدای شروع بازی، شروع شود، تیــک گزینه ی Play Automatically را می زنیم. سایر انیمیشن های آبجکت نیز در Animations دیــده می شود.


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

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





کانال یونیتی لرنینگ
🔹 @UnityLearning🔹
فرا رسیدن سال نو میلادی بر شما مبارک🎉🎈


⭕️کانال یونیتی لرنینگ فرا رسیدن سال 2017 میلادی را به تمام کاربران تبریک عرض می‌کند.🎉🎊


💢 @UnityLearning 💢
#کد_نویسی ها و #اسکریپت_نویسی های مربوط به کامپوننت صدا در یونیـــتی

#آموزش کار با صدا در #یونیتی

🔹 برای کار با #کامپوننت ها در یونیـــتی و در زمان کد نویسی از این روش کد نویسی استفاده می کنیم

gameObject.GetComponent.<Comp_Name>().Attr();

👈که در این کــد Comp_Name نام کامپوننتی است که می خواهیم به آن دسترسی داشته باشیم و Attr نام ویژگی مورد نظر ما خواهد بود«که می خواهیم به ویژگی ها آن دسترسی داشته باشـــیم»


🔸 برای اجرای (شـــروع پخش) یک صدا از کد زیر استفاده می شود. در واقع این کد صدای متصل شده به Source مربوط بــه کامپوننت Audio را از ابتــــدا پخش می کند، کد خط بعدی هم صدا را قطع خواهد کرد.

gameObject.GetComponent.<AudioSource>().Play();

GetComponent.<AudioSource>().Stop();


نکات این دو خط کد: این کــد ها هر دو به یک معنا هستند، یعنی اگر gameObject نوشته شود یا نشود در هر دو حالت تابع GetComponent کامپوننت های آبجکتی که کد به آن متـــصل شده را بر می گرداند.

🔸 برای تعویض صدای یک کاپوننت نیز باید به ویژگی Source آن دسترسی داشت، به این ترتیب که باید یک موزیک در ورودی کد تعریف کنیم(یعنی یک متغیر از نوع Audio) و آن را به ویژگیِ Source مربوط به AudioSource نسبت بدهیم.

GetComponent.<AudioSource>().Source=AudioM;

👈 در این کد فرض کنید AuidoM یک متغــیر از نوع Audio است که در یونیتی به آن یک موزیک از پنجره پروجکت نسبت می دهیم.

🔷 @UnityLearning🔷

آنچه برای کد نویسی های مربوط به #صدا در بازی لازم است بدانیم، تغییر دادن گوش کننده ی صدا یا AudioListener است. همانطور که قبلاً نیز توضیح داده شد، در هر بازی باید فقط یک AudioListener داشته باشیم. بنابراین اگر می خواهیم به هر دلیلی(به طور #مثال برای سوار ماشین شدن) گوش کننده صدای بازی تغییر کند، می توانیم به این نحو کد نویسی کنیم.

transform.GetComponent(AudioListener).enabled=true;

و

player.GetComponent(AudioListener).enabled=false;

👈 این کــد ها در واقع جابجا کردن AudioListener از آبجکتِ player به transform که کد به آن متصل شده است، می باشد.




هر گونــه کپــی برداری از مطــالب کانال غیر مجـــاز است






کانال یونیتی لرنینگ
💢@UnityLearning💢
⭕️پاسخ به #درخواست کاربران

🔰رفع #مشکل #کرک نشدن #یونیتی

‼️گاهی اوقات یونیتی ورژن 5 به بعد، با استفاده از فایل Patch کرک نمی‌شود.

🔸در این رابطه به نکات زیر توجه کنید.


✔️حتما فایل Patch را Run as administrator کنید.


✔️در صورتی که مورد قبل کار ساز نبود، به پوشه نصب یونیتی دسترسی کامل دهید.

✔️از محیط Safe Mode استفاده کنید.

✔️ممکن است ورژن انتخاب شده با ورژن یونیتی یکی نباشد.


👌فایل Patch قرار داده شده در کانال یکی از پر کاربرد ترین کرک ها برای یونیتی تا کنون است.

⚠️در صورتی که کرک جدیدی برای یونیتی ارایه شود، حتما در کانال قرار خواهد گرفت.


👈به روز ترین آموزش های یونیتی در یونیتی لرنینگ👉




🔰به ما بپیوندید🔰

⭕️کانال یونیتی لرنینگ⭕️
💢 @UnityLearning💢
🔹میلاد با سعادت حضرت امام حسن عسکری پدر بزرگوار امام زمان علیها السلام را به همه مسلمانان جهان تبریک عرض می‌کنیم.

السلام علیک یا امام حسن عسکری



⭕️کانال یونیتی لرنینگ⭕️
💢 @UnityLearning 💢