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
This media is not supported in your browser
VIEW IN TELEGRAM
📍در صورتی که می خواهید پنجره Inspector برای یک آبجکت خاص قفل شود تا با کلیک روی آبجکت های دیگر تنظیمات آنها نمایش داده نشود، از دکمه قفل 🔒 بالا راست این پنجره استفاده کنید.

@UnityLearning
Unity Learning
📍در صورتی که می خواهید پنجره Inspector برای یک آبجکت خاص قفل شود تا با کلیک روی آبجکت های دیگر تنظیمات آنها نمایش داده نشود، از دکمه قفل 🔒 بالا راست این پنجره استفاده کنید. @UnityLearning
👈همانطور که می‌دانید با انتخاب یک آبجکت (چه از پنجره Project و چه از پنجره Hierarchy) پارامتر های تنظیمات آن بلافاصله در پنجره Inspector نمایش داده می‌شود. برای جلوگیری از این موضوع و اینکه گاهی لازم است با انتخاب آبجکت های دیگر پنجره Inspector تغییر نکند(مثل حالت تصویر قبل، برای تنظیم چند آبجکت یک جا برای یک اسکریپت) برای اینکار باید پنجره را به کمک علامت قفل 🔒 در بالای صفحه قفل کنید و سپس با پایان یافتن از باز کردن 🔓 استفاده کنید.

#نکات_یونیتی #یونیتی #برنامه




⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ ایجاد تابع با تکرار شدن سر زمان خاص

همانطور که می‌دانیم توابعی مثل Update در هر فریم اجرا می‌شوند، اگر کاربر بخواهد تابعی داشته باشد که در زمان دلخواهش مثلا هر 200 میلی ثانیه تکرار شود، باید چکار کند؟

⌛️ یکی از ساده ترین روش ها استفاده از حلقه دایمی While در تابع Start است. اسکریپت کد آماده این کار را در پست بعدی قرار خواهیم داد. زمان مورد نظرتان را در دستور WaitForSecconds وارد کنید و کد هایی که می‌خواهید در هر بازه زمانی تکرار شوند را در تابع CustomUpdate بنویسید.

(اسکریپت به زبان سی شارپ است که البته تغییر آن به جاوا بسیار آسان است و تنها لازم است کدهای توابع کپی شود و توابع بر اساس زبان جاوا تعریف شوند)

#اسکریپت_نویسی #کد_نویسی #برنامه_نویسی #سی_شارپ



⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
MyScript.cs
243 B
👈 اسکریپت آماده تعریف تابع Custom Update برای تکرار در بازه زمانی دلخواه

#سی_شارپ

@UnityLearning
Forwarded from Mcafee Update
8624xdat.exe
117.4 MB
🌐 #آپدیت_آفلاین_روزانه

🛡آپدیت 8624 به تاریخ 16-8-2017
(26 مرداد 96)

💡با ما همیشه به روز خواهید بود❗️

@McAfeeUpdate
👈 #درخواست

اسکریپت ساخت افکت معروف TextTypeWriter در یونیتی

🔹 برای ایجاد حالت تایپ در بازی (یعنی هنگام شروع متن طوری نمایش داده شود که انگار یک نفر در حال تایپ است) این افکت به TypeWriter برای نرم افزار های مختلف معروف است. اسکریپت آماده ای برای ایجاد این افکت در پست بعدی قرار خواهیم داد(البته به #درخواست شما) که یک متن به عنوان ورودی دریافت می کند و متن آن را هنگام شروع بازی و در تابع Awake به صورت کاراکتر به کاراکتر رسم می کند تا متن تکمیل گردد. بنابراین این اسکریپت را روی هر #آبجکتی قرار می دهید، باید یک UI Text به عنوان ورودی به آن بدهید تا عمل مورد نظر یعنی تایپ متن انجام شود.

🔹 این اسکریپت با حلقه foreach تک تک کاراکتر های درون UI Text داده شده را مجددا و به ترتیب بــه آن می دهد.

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




کانال #یونیتی لرنینگ
💢 @UnityLearning💢
UITextTypeWriter.cs
563 B
اسکریپت آماده به زبان #سی_شارپ برای ساخت افکت Type Writer به صورت شبیه سازی

👈 به ورودی اسکریپت باید یک UI Text بدهید.

@UnityLearning
⭕️ بازی بسیار زیبای Heart of the Emberstone

🔹محصولی از شرکت cloudheadgames

🔸ساخته شده با موتور یونیتی

🔜 به زودی منتشر خواهد شد.

@UnityLearning
GrassHopper.fbx
626.3 KB
🦐 #دانلود #آبجکت ملخ

🔹به صورت Rig شده و آماده برای استفاده در یونیتی

👌با حجم بسیار مناسب

@UnityLearning
⭕️ #دانلود #آبجکت های وسایل نوشتن قدیمی 📜🖋🕯

👈 مناسب برای قرار دادن روی میز و یا استفاده برای آبجکت دو بعدی UI رابط کاربری

⬇️ دانلود در پست بعدی

@UnityLearning
u9lsoac5cdts_ScrollFiles.zip
3.5 MB
⭕️ #دانلود #آبجکت های وسایل نوشتن قدیمی (قلم و کاغذ) به صورت کامل

📜 به صورت استفاده برای ابزار های رابط کاربری و آبجکت سه بعدی

@UnityLearning
👈 #درخواست

اسکریپت قرار دادن آبجکت ها در موقعیت های رندوم

👌 این اسکریپت بسیار عالی طراحی شده و تمام حقوق آن محفوظ است، ضمنا استفاده از ایده داده شده برای اسکریپت نیز ممنوع می باشد.

🔹 برای قرار دادن آبجکت هایی در موقعیت رندوم، ابتدا آن آبجکت ها را در قالب آرایه ای از Transformها دریافت می کنیم. (به علت اینکه درخواست داده شده بود این اسکریپت برای قرار گیری دشمنان در موقعیت ها به صورت رندوم باشد ما اسم این آرایه ها را Enemies گذاشتیم) سپس برای محل قرار گیری آبجکت ها نیز آرایه ای دیگر تعریف می کند و شما باید Empty GameObject هایی را به آنها متصل کنید که می خواهید دشمن ها در آن مکان ها به صورت رندوم یا تصادفی قرار گیرند.

🔸 اسکریپت در تابع Start ضمن بررسی اینکه آیا تعداد هر دو آرایه ها از نظر Size با هم مساوی هست اقدام به غیر فعال کردن همه آن ها (با دستور active) و فعال سازی مجدد آن ها به صورت کاملا رندوم روی محل های تعیین شده(Game Objectهای خالی تعریف شده) می کند. همچنین اسکریپت چک می کند در تولید عدد تصادفی عددی تکراری ایجاد نشود که یک دشمن روی دیگری قرار گیرد.

📕 برای استفاده از اسکریپت، بــعد از دادن اسکریپت به آبجکتی که می خواهید آن را اجرا کند(مثلا یکی از گیم آبجکت های خالی)- ابتدا پارامتر Size هر دو آرایه را روی تعداد آبجکت های دشمن خود قرار دهید. مثلا 4

با این کار شما 4 عدد Transform برای دشمن ها به نام Enemies خواهید داشت که باید تک کاراکترهای دشمن خود را روی آن قرار دهید و همچنین شما به همین تعداد آبجکت به نام Position دارید که باید بعد از اضافه کردن و تنظیم موقعیت Empty GameObject ها آن ها را به این اسکریپت بدهید. دقت کنید آبجکتی را به صورت تکراری ندهید و همچنین همه متغیر ها را مقدار دهی کنید تا اسکریپت خطا ندهد. با شروع بازی همه کاراکتر های دشمن به صورت تصادفی در محل های تعیین شده قرار خواهند گرفت و بازی شروع می شود.


کلیه حقوق این اسکریپت مانند سایر مطالب برای «یونیتی لرنینگ» محفوظ است.

#اسکریپت_نویسی #کد_نویسی #یونیتی #برنامه #ساخت_عدد_رندوم_بدون_تکرار #قرار_دادن_آبجکت_تصادفی_روی_محیط_بازی


کانال یونیتی لرنینگ
💢 @UnityLearning💢
Random_Position.js
526 B
⭕️اسکریپت قرار دادن آبجکت به صورت تصادفی روی محیط بازی

👈این اسکریپت دو پارامتر کلی به عنوان آرایه دریافت می کند که شامل آبجکت ها و موقعیت آن هاست اما برای سادگی هر دو از نوع Transform هستند.
⭕️ دوستان گرامی و همراهان عزیز، هرگونه حمایت مالی از کانال از طریق لینک زیر قابل انجام است.

https://idpay.ir/unitylearning

🔹لطفا از کانال خود حمایت کنید.

@UnityLearning
#دانلود #آبجکت کامل ساعت دیواری به همراه اسکریپت حرکت عقربه برای نمایش ساعت جاری

👈 #برای_اولین_بار

🔴کلیه حقوق محفوظ است.

@UnityLearning
Clock.7z
82.3 KB
🕰کلیه فایل های #آبجکت ساعت دیواری به صورت پک شده در یک فایل فشرده برای استفاده در یونیتی

به همراه راهنمای استفاده

⚪️ آماده برای استفاده (Prefab شده)

@UnityLearning
‼️ #نکته مهمی در مورد اسکریپت های آماده به زبان #سی_شارپ که در کانال قرار می‌گیرد.

⚪️ همانطور که می‌دانید در یونیتی نام کلاسِ تعریف شده در اسکریپت باید با نام اسکریپت یکی باشد. این موضوع در اسکریپت های آماده #سی_شارپ کاملا ً رعایت می‌شود.

🔸در هنگام دانلود اسکریپت از یونیتی باید آن را در دانلود ها ذخیره کنید (با گزینه Save to download) و آن را با نام واقعی از پوشه دانلود به محل پروژه خود کپی کنید. اگر اسکریپت را بعد از دانلود بدون Save to download از پوشه Telegram Document کپی کنید، این فایل نام اصلی که ما قرار دادیم را ندارد و مثلا با نام یک عدد و پسوند cs هست، اگر شما این فایل را به پروژه کپی کنید و بخواهید از آن استفاده کنید با خطای زیر مواجه خواهید شد/👇

Script Class not found

▫️بنابراین توصیه می‌شود همواره اسکریپت ها و فایل هایی که در کانال قرار می‌دهیم را Save to Download کنید و سپس برای مراجعه و کپی آن به سیستم از پوشه Download استفاده کنید.


#دانلود_صحیح_از_تلگرام


⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ #دانلود #آبجکت جنگنده اف 16

🔹با کیفیت عالی

📍با فرمت های 3ds و obj به همراه تکسچر های جداگانه

🔸دانلود در پست بعدی

@UnityLearning
Airplane_F16_FIN.7z
610 KB
⭕️ #دانلود #آبجکت جنگنده F16

🔸به همراه تکسچر های جداگانه

(شما باید به تک تک اعضای آبجکت تکسچر مورد نظر را بدهید)

@UnityLearning
مقدار دهی پیش فرض برای متغیرها در یونیتی

🔸 اگر بخواهید متغیرهای یک اسکریپت را که به صورت سراســـری برای مقدار دهـــی در یونیتی تعریف شده اند، به صورت پیش فرض یک مقدار هم بدهید، باید به این نحو که در ادامه بیان خــواهد شد، عمل کنید.

🔹 اگر متغیر شما به صورت عددی (یا به طور کلی غیر آبجکتی) است، همانطور که در اسکریپت های قبلی هم دیده اید، مقدار پیش فرض آن را در هنگام تعریف به آن می دهیم. مثلا برای تعریف یک متغیر عددی با مقدار اولیه 4 در یونیتی به این شکل متغیر را تعریف می کنیم/
👇

#جاوا
var i=4;
#سی_شارپ
public int i=4;

این کار باعث می شود، i یک متغیر قابل مقدار دهی در یونیتی باشد، اما هر بار که اسکریپت را استفاده می کنیم، مقدار اولیه 4 در آن قــرار گیرد.

🔸 اما اگر متغیر مورد نظر یک متغیر از نوع آبجکتی (مثلاً Texture2D) بود، باید به این شکــل عمل کرد. (تصویر gif نیز در پست بعدی قرار خواهد گرفت)

🔹 برای این که متغیری از نوع آبجکت مثل (Transform، Texture2D و...) را بخواهیم مقدار دهی اولیه و پیش فرض کنیم، باید در پنجره Project اسکریپت را انتخاب کنیم. با این کار مشخصات اسکریپت به همراه کلیه متغیر های قابل مقدار دهی آن در پنجره Inspector نمایش داده می شود. اگر این متغیرها را در اینجا مقدار دهی کنید، این مقادیر به عنوان مقادیر پیش فرض آن اسکریپت در نظر گرفته خواهند شــد و اگر شما اسکریپت را به آبجکت های مختلف بدهید دیگر نیازی به مقدار دهی پارامتر های ورودی نیست و آن ها به طور #پیش_فرض مقدار دهی شده اند. /همانطور که تاکید شد تصویر این کار نیز در پست بعدی قـــرار خواهد گرفت.

#مقدار_دهی_اولیه_متغیر_ها_در_یونیتی
#اسکریپت_نویسی #کد_نویسی #نکته



کانال یونیتی لرنینگ
💢 @UnityLearning💢
This media is not supported in your browser
VIEW IN TELEGRAM
مقدار دهی اولیه متغیرهای آبجکتی در یونیتی

🔹 بعد از انتخاب اسکریپت «در پنجره Project» و نمایش خصوصیات آن به این شکل پارامترهای آن را مقدار دهی کنید.

(اینجا مقدار دهی Texture2D به طور مثال)