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
⭕️راه اندازی آی دی جدید برای خرید از یونیتی لرنینگ



#فروش

🔹برای خرید و دریافت محصولات فروشی کانال می توانید به آی دی تلگرام زیر پیام دهید.

💢@UnityLearning_Shop💢

🔸در صورتی که ریپورت هستید به ربات زیر رفته و روی گزینه خرید از یونیتی لرنینگ کلیک کرده و اطلاعات (ایمیل یا هر راه ارتباطی دیگر) را وارد کنید تا با شما تماس گرفته شود.

💢@FooladUniversityBot💢




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

مطالب کانال همواره با آخرین نسخه ارایه شده تلگرام ارایه می‌شود.


🔆تلگرام خود را با گوگل پلی آپدیت کنید❗️


🔹با تشکر 🔸





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

#آموزش #اسکریپت_نویسی #کد_نویسی در #یونیتی

⭕️برای اینکه بازی به سبک امتیازی داشته باشیم، از روشی کاملاً مشابه آنچه در روش جان بیان شد، استفاده خواهیم کرد.

🔵این یعنی ابتدا برای بازیکن مان یک اسکرپیت برای شبیه سازی امتیاز تعریف میکنیم، که در آن متغیری برای امتیاز به صورت سراسری در نظر میگیریم.

⚠️کاملا توجـــه گردد که، امتیاز از صفر شروع می شود-برعکس جان که مثلا از صد شروع میشد.

🔸بر اساس نوع بازی توابع Add_Score یا Min_Score را برای اسکریپت خود و متغیر یاد شده تعریف می کنیم.

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

@UnityLearning

👈این می تواند برای اضافه شدن امتیاز، محیط Trigger یک سکه (آبجکتی که به آن تکسچر سکه داده ایم) باشد.

🔸برای توضیح بیــــشتر بــه پست زیر سر بزنید:

telegram.me/UnityLearning/166

🔹دو کد به عنوان #مثال در دو پست بعدی برای استفاده تان قرار خواهد گرفت.



⭕️کــــانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
Script8_Score.js
219 B
⭕️ #اسکریپت شبیه سازی امتیاز دار بودن بازی

⭕️دارای کد اضافه کردن امتیاز و داشتن تکست ورودی برای نمایش امتیاز

⚠️این پست در ادامه پست قبلی است.



⭕️کانال یونیتی لرنینگ⭕️
💢 @UnityLearning 💢
Script9_Add_Score.js
199 B
⭕️ #اسکریپت شبیه سازی امتیاز دار بودن بازی

🔸این اسکریپت تابع اضافه شدن امتیاز را در تریگر شی صدا می زند.

⚠️این پست در ادامه پست قبلی است.



⭕️کانال یونیتی لرنینگ⭕️
💢 @UnityLearning 💢
Forwarded from MohajeruniverCity
Audio
⭕️صدای زنگ تلفن از آهنگ ابتدایی #موسیقی زیبای انسانم آرزوست از علیرضا عصار

👈برای آهنگ زنگ تلفن تون زیباست و آرامش بخش.

🔹کانال یونیتی لرنینگ
@UnityLearning


🔸مهاجر یونیورسیتی
@mohajerunivercity
⭕️ #شهادت حضرت امام حســن عسکــری علیه السلام را به همه شیعیان جـهان و پیروان ایشان #تسـلیت عرض می‌کنیم.

💢السلام علیک يا اَبا مُحَمَّد يا حَسَنَ بْنَ عَلِيٍّ، اَيُّهَا الزَّكِيُّ الْعَسْكَرِيُّ يَا بْنَ رَسُولِ اللهِ، يا حُجَّةَ اللهِ عَلي خَلْقِهِ، يا سَيِّدَنا وَمَوْلينا، اِنّا تَوَجَّهْنا وَاسْتَشْفَعْنا وَتَوَسَّلْنا بِكَ اِلَي اللهِ، وَقَدَّمْناكَ بَيْنَ يَدَيْ حاجاتِنا، يا وَجيهاً عِنْدَ اللهِ، اِشْفَعْ لَنا عِنْدَ اللهِ

🔹التماس دعا🔸



⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
Sentry_Gun(Full_Version)by_@UnityLearning.rar
1.4 MB
⭕️کلیه #آبجکت ها، #صدا و... مربوط به آبجکت تیر بار یا Sentry Gun به صورت یک جا

🔰این #فایل کلیه موارد لازم را دارد مثل تکسچر ها و...

🔸#دانلود کنید


⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ #دانلود این #آبجکت به همراه کلیه تکسچر ها، صداها و... (به همین شکل که می بینید) در پست زیر :

http://Telegram.me/UnityLearning/197



⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
به #مناسبت سالروز شروع امامت امام زمان

⭕️آغاز ۱۱۷۸ مین سال امامت حضرت اباصالح المهدی را به همه شیعیان و منتظران آن حضرت تبریک و تهنیت عرض می‌کنیم.


🔰السلام علیک یا اباصالح المهدی🔰

💢اللهم عجل لولیک الفرج💢

⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️برای بهره بردن از حداکثر کیفیت #کارت_گرافیک خود، همیشه آخرین ورژن از درایور آن را #نصب کنید.


🔰مدتی است درایور های کارت گرافیک به همراه یک نرم افزار کنترلی نصب می‌شود، که دیگر نیازی نیست شما به دنبال مدل کارت گرافیک خود بگردید.
«نرم افزار به صورت خودکار مدل را تشخیص داده و درایور را به درستی نصب میکند»


🔸برای #دانلود آخرین نسخه از نرم افزار مربوط به درایور کارت گرافیک خود به یکی از لینک های زیر مراجعه کنید.


🔰کارت گرافیک AMD به روز شده در 18.09.95

http://soft98.ir/software/drivers/208-ATI-Catalyst-Drivers.html


🔰کارت گرافیک انویدیا به روز شده در 15.09.95

http://soft98.ir/software/drivers/483-nvidia_geforce_driver.html


🔰کارت گرافیک اینتل

http://soft98.ir/software/drivers/17833-intel-graphics-drivers.html


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




⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
#هوش_مصنوعی #کد_نویسی #اسکریپت_نویسی #جاوا #آموزش #یونیتی



⭕️هوش مصنوعی مربوط به SentryGun که آبجکت آن در پست های قبل گذاشتـــه شد، در این پست توضیح داده خواهد شد.

🔰این آبجکت قرار است، چند کار انجام دهد، ابتدا در صورت قرار گیری هدفش (Target) در شعاع مورد نظر (shootAngleDistance) به سمت آن بچرخد و در صورتی که به یک شعاع دید نسبت به آن(attackRange) رسیـــد، به سمت آن شلـــیک (Fire) کند.

💢@UnityLearning💢

🔸اعمال گفته شده در کد کاملا مشهود خواهد بود.

🔻توضیحات مربوط به دستورات کد استاندارد(در پست بعدی برای دانلود قرار خواهد گرفت) به صورت کامل در این‌جا:

👈در ابتدا و در تابع Start بررسی می شود، اگر target در یونیتی مقدار دهی نشده، به احتمال زیاد به این معنی است که از tag ها استفاده شده است. (تگ ها در پست های بعدی به طور کامل مورد بررسی قرار می گیرند)

💢@UnityLearning💢

🔰این اعمال با تابع FindwithTag و نام تگ مورد نظر انجام می شود. عمل دیده شدن (یعنی در محدوده ی شعاع دید بودن و پشت جسمی دیگر نبودن_یا به طور واقعی دیده شدن نسبت به SentyGun) توسط تابع CanSeeTarget انجام می شود.

💢تابع CanSeeTarget یک تابع استاندارد است، بـــرای دیده شدن Target توسط Transform این اعمال( بررسی فاصله و در دید بودن ) توسط دستورات خاصی انجام می شود.

👈دستور بررسی فاصله :

if (Vector3.Distance(transform.position, target.position) > attackRange)

⭕️این if بررسی می کند، فاصله target از sentryGun بیشتر از فاصله ی attackRange نبـــاشد. در این صورت false توسط تابع CanSeeTarget بر می گردد.

🔰عمل دیـــده شدن با ارسال یک لیزر به سمت جلوی SentryGun و بررسی اینکه آن لیزر به هدف برخورد می کند یا خیر انجام میشود. کـــد های زیر:


var hit : RaycastHit;

if (Physics.Linecast (transform.position, target.position, hit))
return hit.transform == target;

🔸در تابع Update بررسی می شود که آیا CanSeeTarget است یا خیر ؟ در صورت صحیح بودن تابع باید بــه سمت هدف چرخید و در نهایت در صورتی که زاویه دید از آن چه در attackRange آمده است کمتر باشد به سمت آن شلیک شود. کلیه اعمالی که ذکـــر شد(چرخش و شلیک) در کد های زیر آمده است.

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

🔻دستور Slerp باعث چرخش به صورت آهسته سمت هدف می شود.

var targetPoint = target.position;

var targetRotation = Quaternion.LookRotation (targetPoint - transform.position, Vector3.up);
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, Time.deltaTime * 2.0);

var forward = transform.TransformDirection(Vector3.forward);

var targetDir = target.position - transform.position;

if (Vector3.Angle(forward, targetDir) < shootAngleDistance)
SendMessage("Fire");

▫️دستور Vector3.Angle زاویه روبروی بین دو Transform را بر می گرداند.

▪️⚠️کلیه حقوق این متن محفوظ است. برای یونیتی لرنینـــگ


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

⛔️هر گونه کپی این متن و قرار دادن آن در سایر سایت ها و کانال های دیگر از نظر اخلاقی و شرعی مـــجاز نیست❗️





⭕️کانال یونــــیتی لرنینـــگ⭕️
💢@UnityLearning💢
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💢