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
👥 همراهان عزیز و محترم کانال و گروه یونیتی لرنینگ، لطفا در این نظر سنجی شرکت کنید. با تشکر
🎞 کدام یک از سرورها را برای قرارگیری فیلم‌های آموزشی ترجیح می‌دهید؟
Anonymous Poll
63%
تلگرام
16%
یوتیوب
7%
نماشا
14%
پیکوفایل
SpaceshipMovement3.mkv
484.6 MB
🎦 #فیلم #آموزش ساخت بازی فضایی #دو_بعدی #قسمت_سوم و پایانی

⚪️ تولید تصادفی دشمن (در یک محدوده‌ی خاص) و امتیازی کردن بازی (نمایش تعداد دشمنانی که توسط بازکن از این می‌روند) و همچنین Health (جان) دار کردن سفینه بازیکن

🔹 در آخرین قسمت از سری آموزش های بازی فضایی #دو_بعدی برخی دستوراتی که تاکنون در کانال به آنها اشاره‌ای نشده است، آموزش داده می‌شوند‌.

#مطالب جدید آموزشی مطرح شده

1⃣ با استفاده از دستور InvokeRepeating می‌توان دستورات یک تابع را در بازه‌های زمانی خاص تکرار کرد. این دستور سه پارامتر ورودی دارد، ۱-نام تابعی که قصد اجرای دستورات آن را در بازه زمانی داریم (از نوع String)
۲- زمان اجرای دستور (از نوع عددی float )
۳- بازه زمانی مورد نظر (float)

2⃣ جهت بدست آوردن اندازه‌ای که یک آبجکت روی محورهای مختصات (xyz) گرفته نیز از #کامپوننت Renderer و دستور bound استفاده می‌شود.

GetComponent<Renderer>().bound.size

از نوع بردار بوده و می‌توان از پارامتر های x ، y و z آن جهت دسترسی به اندازه اشغال شده توسط آبجکت در هر یک از محورها، استفاده کرد.

@UnityLearning
Media is too big
VIEW IN TELEGRAM
🎬 فیلم آموزش ساخت بازی فضایی دو بعدی با کیفیت 720p #قسمت_سوم

#یادآوری:

🔸 با استفاده از #کلاس Random می‌توان مقادیری مثل رنگ‌ها، اعداد و... به طور تصادفی تولید کرد و از آن در هر قسمت از برنامه استفاده کرد. به منظور امتیازی کردن بازی می‌توان یک تابع برای تغییر امتیاز در یکی از اسکریپت‌های ثابت و دائم‌الاجرای بازی تعریف کرد و در اسکریپت‌های دیگر آن را فراخوانی کرد (روش‌های مختلف این‌کار مثل SendMessage یا استفاده از دستور GetComponent قبلا در کانال بررسی شده‌اند)

🔹 به منظور تسهیل دانلود برای افرادی که محدودیت حجم دانلود دارند، این فیلم با کیفیت کمتر نیز جهت دانلود قرار می‌گیرد. در صورتی که نیاز به کیفیت پایین‌تر دارید، فیلم را از نماشا مشاهده نمایید. فایل‌های پروژه نیز، با توجه به اتمام آموزش، در کانال به‌روز رسانی خواهد شد.

@UnityLearning
SpaceshipGame.7z
11.5 MB
📥 #دانلود فایل‌های کامل پروژه ساخت بازی فضایی #دو_بعدی در #یونیتی ۲۰۱۹.۳.۴

🔹 تمام فایل‌های (پروژه) طراحی شده در سری فیلم‌های آموزشی ساخت بازی فضایی دو بعدی به صورت فشرده شده شامل تکسچرها، پریفاب‌ها، اسکریپت‌ها و محیط ساخته شده

@UnityLearning
SpaceshipProjectFullVersion(@unitylearning).unitypackage
54.4 KB
📥 #پکیج بازی فضایی دو بعدی به جهت اضافه کردن به پروژه قبلی

در صورتی که پروژه‌ای برای بازی خود طراحی کرده باشید و فقط بخواهید فایل خاصی از پروژه فیلم‌های آموزشی را به آن اضافه کنید، نیازی به دانلود فایل فشرده قبل نیست و این پکیج شامل اسکریپت‌ها و تکسچرهای آن بازی می‌باشد که به راحتی می‌توانید آن را به محیط پروژه خود Import کنید.

@UnityLearning
⚫️ #شهادت جمعی از دلاور مردان ارتش جمهوری اسلامی ایران در حادثه شناور کنارک را به ملت شریف ایران تسلیت عرض می نمایم.

#ایران_تسلیت

@UnityLearning
Pixel Art Fonts v1.5.unitypackage
415.9 KB
📥 #دانلود #پکیج فونت های پیکسلی

⚪️ این پکیج شامل تعدادی فونت انگلیسی کاملاً آماده جهت استفاده در یونیتی می باشد.

🅰️ نام کامل پکیج: Pixel Art Fonts
💰 قیمت: €6.94
💻 قابل اجرا روی: یونیتی 5.6.5 به بعد (تست شده در یونیتی 2019)

🔹 مناسب برای ساخت دیالوگ بین کاراکتر ها در بازی های Low Poly و دارای چندین Scene آماده جهت نمایش نوع فونت ها

🔘 لینک به استور یونیتی

@UnityLearning
Media is too big
VIEW IN TELEGRAM
#️⃣#فیلم #آموزش کامل کار با فونت ها در یونیتی 2019

🔹 با توجه به قدیمی بودن و بعضاً منسوخ شدن برخی دستوراتی که سابقاً در کانال در رابطه با فونت ها قرار گرفته بود، اکنون می توانید آموزش کار با فونت ها در یونیتی شامل اضافه کردن فونت، دسترسی به فونت UI Text ها در کد نویسی، تغییر رنگ و سایز فونت ها را در کدنویسی به زبان #سی_شارپ مشاهده نمایید.

@UnityLearning
Forwarded from Unity Learning
🔲 انا انزلناه فی لیله القدر

⚫️ فرا رسیدن ایام شهادت مولای متقیان حضرت علی بن ابیطالب (ع) را به تمام شیعیان جهان تسلیت عرض می‌کنیم.

⚪️ در این اولین شب قدر از شما التماس دعا داریم.

@UnityLearning
#ترفند #ویندوز

⚪️ رفع مشکل عدم نمایش گزینه Hibernate در Power Option یا Power Setting جهت خاموش کردن سیستم

🔹 همانطور که می دانید، قابلیت Hibernate در ویندوز، ویژگی است که در آن سیستم خاموش می شود اما نرم افزار های باز همچنان فعال می مانند و در صورت روشن کردن مجدد سیستم همان میزکار آخر (شامل تمام نرم افزار های باز هنگام خاموش شدن سیستم) را در دسترس خواهید داشت. البته باید خاطر نشان کرد، این ویژگی به میزان حافظه سیستم شما بستگی دارد و اینکه سیستم قابلیت این را داشته باشد که بتواند این نرم افزار ها را روی هارد سیستم به صورت موقت ذخیره کند.

به هر حال این ویژگی، به طور پیش فرض در ویندوز ها (از ویندوز 7 به بعد) غیر فعال است و برای فعال سازی آن باید به تنظیمات Power Option در کنترل پنل مراجعه کرد،
اما گاهی این ویژگی (مانند تصویر بالا) در این پنجره هم غیر فعال است،
در صورتی که برای فعال سازی ویژگی Hibernate از طریق Power Option با مشکل فوق مواجه شدید، به راحتی دو دستور زیر را به صورت جداگانه در Command Prompt ویندوز خود اجرا کنید.

powercfg /hibernate on

powercfg /h /type full


@UnityLearning
Parent_Child.mkv
274 MB
🎦 #فیلم #آموزش کامل دستورات مربوط به آبجکت های فرزند و پدری

⚪️ در این فیلم آموزشی به طور کامل مطالبی در رابطه با سلسله مراتب آبجکت ها بیان خواهد شد.

🔹 علت و نحوه ساخت آجکت های زیر مجموعه (فرزند) یک آبجکت دیگر در محیط طراحی و همچنین در #کد_نویسی با استفاده از دستورات parent ، GetChild ، Detach Children در این ویدیو آموزشی به طور کامل بیان شده است. همچنین دسترسی به آبجکت ها (فرزند به پدر و برعکس) و نیز دستورات GetComponent برای اینکار نیز در این ویدیو بررسی شده اند. با استفاده از دستور GetChildCount می توان تعداد فرزندانِ یک گیم آبجکت (Transform) را بدست آورد، بنابراین با استفاده از این دستور می توان فهمید آیا یک گیم آبجکت فرزند دارد یا خیر؟

🔍 سایر کیفیت های این ویدیو آموزشی و همچنین لینک های دانلود از نماشا و یوتیوب به زودی در کانال به روز رسانی خواهد شد.

@UnityLearning
Media is too big
VIEW IN TELEGRAM
🎬 فیلم آموزش کامل دستورات مربوط به آبجکت های فرزند و پدری با کیفیت 720

🔍 همچنین امکان دانلود فیلم از سرور نماشا و یوتیوب نیز فراهم شده است. همانطور که می دانید در این فیلم تمام دستوراتی که ممکن است برای ارتباط آبجکت های زیر مجموعه و آبجکت Parent نیاز باشد، بررسی شده است.

این فایل به منظور تسهیل دانلود برای کاربرانی که با مشکل حجم یا سرعت اینترنت مواجه هستند، در کانال قرار می گیرد.

@UnityLearning
Dideh Begosha ~ UpMusic
Mohammad Esfahani ~ UpMusic
🎵 آهنگ دیده بگشا به مناسبت شهادت امیرالمومنین از محمد اصفهانی

▪️ ای کاش علی شویم و عالی باشیم
◾️ هم سفره کاسه سفالی باشیم
▪️ چون سکه به دست کودکی برق زنیم
◾️ نان آور سفره های خالی باشیم

⚫️ #شهادت مولای متقیان علی (ع) #تسلیت باد.
Switch_Guns.mkv
428.8 MB
🎦 #فیلم #آموزش سوئیچ بین گیم‌آبجکت‌های فرزند یک آبجکتِ پدر

🔹 در این فیلم آموزشی با استفاده از دستوراتی که در فیلم قبل به آنها اشاره شده بود، به موضوع سوئیچ کردن بین آبجکت‌های خاص پرداخته می‌شود.

🔸 مثالی که در اینجا مد نظر می‌باشد، تعویض اسلحه بازیکن با کلیدهای عددی است که طبق #درخواست کاربران به آن پرداخته شده است.

🔹 ابتدا جهت فعال کردن یک آبجکت از میان تمام فرزندان (سلاح‌ها) یک تابع تعریف می‌شود که در آن با ساخت حلقه‌ای تمام فرزندان غیر از آبجکت فرزند مورد نظر غیر فعال (setActive=false) میشوند.

▪️ اسکریپت نوشته نیز در پست‌های بعدی در کانال به‌روز رسانی خواهد شد. همچنین کیفیت‌های دیگر این ویدئو قرار خواهد گرفت‌.

@UnityLearning
SwitchGun.cs
859 B
⚪️ #اسکریپت طراحی شده برای موضوع سوئیچ بین گیم آبجکت ها در فیلم آموزشی

🔹 این اسکریپت دارای یک تابع به نام SwitchGameObject است که با استفاده از یک حلقه for عمل جابجایی را انجام می دهد. در واقع این تابع یک آرگومان ورودی به نام index دارد که اندیس گیم آبجکت فرزندی است که قصد فعال شدن آن را داریم، حلقه for غیر از این اندیس سایر آبجکت های فرزند متصل شده به این اسکریپت را در زمان فراخوانی غیر فعال می کند.

👈 این فراخوانی نیز، طبق #مثال جابجایی اسلحه، با کلید های عددی کیبورد انجام می شود که بررسی آن بر عهده if های موجود در تابع Update با استفاده از #کلاس Input می باشد.

@UnityLearning
Media is too big
VIEW IN TELEGRAM
🎬 فیلم آموزش سوئیچ بین آبجکت‌های فرزند با کیفیت معمولی

#یادآوری: با استفاده از دستور childCount از یک Transform می‌توان به تعداد آبجکت‌های زیر مجوعه‌ی آن دسترسی داشت، این پارامتر از نوع int بوده که در واقع تعداد فرزندان یک آبجکت را در آن لحظه برمی‌گرداند.

🔹 با توجه به حجم بالای فیلم آموزشی و به منظور تسهیل دانلود برای کاربرانی که مشکل حجم یا سرعت اینترنت دارند، این فیلم با کیفیت پایین‌تر نیز در کانال قرار گرفت.

@UnityLearning
Raycasting.mkv
277 MB
🎦 #فیلم #آموزش معرفی دستور Raycast از کلاس Physics

#یادآوری #معرفی دستور Raycast

🔸 از دستور Raycast به منظور ارسال یک اشعه Ray از مورد نظر به یک جهت خاص استفاده می‌شود، در پست‌های متعدد قبلی از این دستور به‌وفور استفاده شده است.

🔹 حالت پر استفاده‌ی این دستور دارای چهار پارامتر است که به ترتیب ۱- مختصات مبدا (از نوع Vector3)
۲- جهت ارسال (از نوع Vector3 یا Quaternion)
۳-لیزری که ارسال می‌شود و به Collider برخورد میکند (از نوع RaycastHit)
۴- حداکثر فاصله‌ای که Ray طی می‌کند تا به یک آبجکت برخورد کند (از نوع عددی) می باشد.

🔻 این دستور معمولا در ساختار if به عنوان شرط قرار می‌گیرد، به این دلیل که خروجی تابع Raycast به صورت boolean می‌باشد. اگر لیزر ارسال شده به آبجکت دارای Collider برخورد کرد خروجی تابع true و در غیر این صورت خروجی آن false خواهد بود.

@UnityLearning
Media is too big
VIEW IN TELEGRAM
🎬 فیلم آموزش و توضیحات کامل دستور Raycast با کیفیت 720p

#ادامه #یادآوری اطلاعاتی در رابطه با نوع RaycastHit

🔸 در صورتی که لیزر Ray ارسال شده به Collider یک آبجکت برخورد کند، مقدار آن در متغیری که بعنوان پارامتر سوم (RaycastHit) به آن داده شده، برمی‌گردد. در واقع به همین علت است که قبل از نام این متغیر از کلمه کلیدی out استفاده می‌شود. این متغیر، دارای اطلاعات خاصی برای استفاده‌ی بازی‌ساز ساز است. اطلاعاتی مثل موقعیت دقیق برخورد لیزر به Collider (دستور point ) ، مقدار فاصله‌ای که لیزر طی کرده تا از مبدا به Collider برخورد کند (diatance) گیم‌آبجکتی که لیزر به کالیدرِ آن برخورد کرده (دستور transform.gameObject) و.... که در این فیلم معرفی و از آنها استفاده می‌شود.

🌎 امکان دریافت این ویدیو از یوتیوب و نماشا نیز فراهم می‌باشد.

@UnityLearning
Tilling_Texture.mkv
170.7 MB
🎦 #فیلم #آموزش تغییر اندازه تکسچرها در یونیتی

🔸 با استفاده از ویژگی‌های Tilling مربوط به تکسچرها در یونیتی می‌توان اندازه یا موقعیت مکانی تکسچر ها روی آبجکت را تغییر داد.

🔹 در این فیلم همچنین به مبحث تغییر اندازه تکسچر روی Terrain نیز پرداخته می‌شود.

🔘 در قسمت‌ Tilling Setting مربوط به تنظیمات تکسچرِ Terrain در پنجره Inspector ، دو پارامتر Size برای اندازۀ تکسچر و Offset برای تغییر موفقیت مکانی تکسچر در دسترس است.

@UnityLearning
Media is too big
VIEW IN TELEGRAM
🎬 فیلم آموزش تغییر اندازه و موقعیت تکسچر یک آبجکت با کیفیت 720p

🔸 در تنظیمات مربوط به Terrain امکان تغییر اندازه تکسچر در محور مختصات x و y فراهم شده است، بنابراین شما هر چقدر این مقادیر را بزرگ‌تر کنید، شاهد بزرگ شدن تکسچر رسم شده روی Terrain خواهید بود اما در تنظیمات تکسچر سایر آبجکت‌ها (کامپوننت Renderer) تنظیمات مربوط به Tilling به نحوی است که عدد وارد شده معادل تعداد تکرار تکسچر روی آبجکت خواهد بود، بنابراین زیاد کردن عدد باعث کوچک شدن تکسچر و در واقع تکرار شدن بیشتر آن در محور مورد نظر می‌شود.

🔹 همه این تنظیمات به‌طور خاص برای هر تکسچر به صورت جداگانه نیز موجود است که شما می‌توانید با انتخاب آن (#تکسچر) در پنجره Project خصوصیات آن را در پنجره Inspector مشاهده کنید.

@UnityLearning
Forwarded from Unity Learning
This media is not supported in your browser
VIEW IN TELEGRAM
🌹عید رمضان آمد و ماه رمضان رفت / صد شکر که این آمد و صد حیف که آن رفت

🌺 حلول ماه شوال و فرا رسیدن عید سعید فطر بر تمام مسلمین جهان مبارک باد.

🌸 از همه شما عزیزان التماس دعا داریم.

@UnityLearning