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
MoveToTarget.mkv
262.8 MB
🎦 #فیلم #آموزش حرکت دادن یک آبجکت به سمت دیگری

🔸در این فیلم آموزشی نحوه حرکت آبجکت به سمت آبجکت دیگر (حالت دنبال کردن) توضیح داده می‌شود. مثالی که در این آموزش مد نظر است، حرکت یک آبجکت ماشین به سمت بازیکن و توقف آن در زمان قرار گیری در یک فاصله خاص نسبت به آبجکت هدف(FPSContoller) است.

🎞 امکان دانلود فیلم از آپارات، نماشا و یوتیوب نیز فراهم شده است، ضمنا این مثال به #درخواست کاربران در کانال به صورت #یادآوری قرار گرفت.

@UnityLearning
Media is too big
VIEW IN TELEGRAM
💿 فیلم آموزشی حرکت یک آبجکت به سمت آبجکت دیگر (هدف) با کیفیت 720p

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

💡 اسکریپت نوشته شده در فیلم آموزشی نیز به زودی در کانال قرار خواهد گرفت.

@UnityLearning
Unity Learning via @buttonsbot
MoveToTarget.mkv
MoveToTarget.cs
810 B
⚪️ #اسکریپت استفاده شده در فیلم آموزشی حرکت یک آبجکت به سمت دیگری

🔹 این اسکریپت را می توان به آبجکتی قصد حرکت دادن آن به سمت آبجکت دیگر را داریم، متصل کرد و در ضمن برای حرکت به سمت بازیکن، تگ آن را روی Player تنظیم کرد.

☑️ اسکریپت دارای دو پارامتر کلی برای سرعت حرکت و حداقل فاصله ای که باید به آبجکت نزدیک شود، می باشد.

@UnityLearning
MoveToClick.cs
807 B
⚪️ #اسکریپت آماده برای قرار دادن آبجکت در محلی که بازیکن کلیک می کند.

🔹 این اسکریپت با استفاده از دستور Raycasting محلی که کاربر روی آن کلیک کرده (نسبت به Terrain) محاسبه کرده و سپس آبجکت را در آنجا قرار می دهد.

☑️ جهت استفاده از این اسکریپت آن را به یکی از آبجکت های فعال بازی (مثلا آبجکت حرکت کننده) بدهید، سپس آبجکتی که قصد تنظیم موقعیت آن روی محل کلیک شدن را دارید به عنوان پارامتر MovingGameObject به اسکریپت معرفی کنید. دقت کنید، اسکریپت با دوربین اصلی بازی یا MainCamera کار می کند، اگر دوربین اولیه بازی را حذف کردید، باید تگ دوربین جدید را روی MainCamera قرار دهید. اسکریپت موقعیت محل کلیک را بر اساس آنچه توسط این دوربین قابل مشاهده است، بدست می آورد.

@UnityLearning
MoveToClick.mkv
260 MB
🎦 #فیلم #آموزش حرکت دادن یک آبجکت به سمت محلی که بازیکن با ماوس روی آن کلیک میکند.

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

🔹 دقت کنید دوربین 🎥 بازی باید دارای تگ MainCamera باشد، چراکه نقطه محل کلیک بر اساس آنچه از دوربین اصلی بازی دیده می‌شود، محاسبه می‌شود.

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

@UnityLearning
Media is too big
VIEW IN TELEGRAM
🎞 فیلم آموزش حرکت آبجکت خاص به محلی از Terrain که بازیکن روی آن کلیک میکند. (با کیفیت 720p)

حرکت آبجکت در این فیلم با دستور velocity از کامپوننت Rigidbody انجام می‌شود. آبجکت همواره به سمت محلی که بازیکن روی آن کلیک کرده، با یک سرعت خاص حرکت میکند و اگر به یک فاصله خاص نسبت به آن(محل کلیک شده) برسد، توقف میکند.

💿 به‌منظور تسهیلِ دانلودِ فیلمِ آموزشی، برای افرادی که محدودیت حجم دانلود دارند، این فیلم با کیفیت 720p و با حجم کمتر نیز در کانال قرار گرفت.

@UnityLearning
Media is too big
VIEW IN TELEGRAM
⚪️ #اسکریپت آماده چرخش یک آبجکت حول یک نقطه (یا به مرکزیت یک آبجکت دیگر)

🎦 خروجی اسکریپت را در بالا مشاهده می کنید (در این مثال اسکریپت به دوربین داده شده و مرکز چرخش نیز آبجکت ماشین تعیین شده است) ، این اسکریپت به صورت کلی نوشته شده تا در هر حالتی قابل پیاده سازی باشد. مرکز چرخش هم می تواند یک آبجکت باشد و هم می تواند یک نقطه سه بعدی (Vector3) و محدودیتی در این رابطه وجود ندارد.

☑️ توضیحات بیشتر و همچنین دانلود از طریق پست بعدی کانال امکان پذیر خواهد بود.

@UnityLearning
SinX.cs
957 B
📋 #اسکریپت آماده جهت حرکتِ چرخشی یک آبجکت حول یک نقطه

💡 همانطور که در پست قبل ذکر شد، این اسکریپت به صورت جامع طراحی شده است تا بتوان از آن در پروژه های بیشتری استفاده کرد. عملکرد اسکریپت بر اساس توابع Sin و Cos طراحی شده و در یک شعاع و با یک سرعت معین آبجکت را حول یک نقطه می چرخاند.

🔘 جهت تعیین مرکز چرخش (مرکز دایره) دو راه وجود دارد: 1- معرفی یک آبجکت به عنوان این مرکز که در این صورت آبجکت دیگر حول این آبجکت خواهد چرخید، 2- در صورتی که مورد یک تعیین نشود، امکان وارد کردن موقعیت مکانیِ مرکز چرحش به صورت Vector3 نیز به صورت سه متغیر XYZ می باشد.

🔹 پارامترهای دیگر نیز، سرعت حرکت (Speed) و شعاع (فاصله تا مرکز|Radius) می باشد که در اسکریپت قابل تغییر می باشند.

@UnityLearning
Google Sheets For Unity v1.5.unitypackage
395.4 KB
📥 #دانلود #پکیج Google Sheets برای یونیتی

🔹 مدیریت Spreadsheet های گوگل درایو در پروژه‌های یونیتی

🔹 ذخیره و دریافت اطلاعات از Spreadsheet های گوگل به صورت آنلاین (در زمان طراحی و اجرای بازی)

⚠️ #تست_نشده

🅰 نام کامل: Google Sheets For Unity
#⃣ نسخه پکیج: ۱.۵ (آخرین نسخه ۳)
💻 نسخه یونیتی پشتیبانی شده: ۲۰۱۸.۳.۲ به بعد
💰 قیمت: ۱۹.۹۹ $

@UnityLearning
Forwarded from Unity Learning
This media is not supported in your browser
VIEW IN TELEGRAM
MusicPlayer.mkv
493.2 MB
🎦 #فیلم #آموزش ساخت یک موزیک پلیر با استفاده از یونیتی

🎵 در این فیلم آموزشی اقدام به طراحی یک Scene که شامل دکمه‌هایی برای پخش/توقف/موزیک‌بعدی/موزیک‌قبلی باشد، خواهیم کرد. همچنین با استفاده از پارامتر name از AudioClipها نام موسیقی در حال پخش را روی صفحه نمایش می‌دهیم.

☑️ اسکریپت به صورت عمومی طراحی شده است و برای هر پروژه‌ای که به یک موزیک پلیر نیاز داشته باشد، قابل اِعمال است.

🔸 تعداد نامحدودی کلیپ صوتی با توجه به تعریف آرایه‌ای قابل معرفی به اسکریپت هستند که با استفاده از یک متغیر شمارنده (cnt) بین این کلیپ‌ها جابجایی انجام می‌شود. دستورات Play Stop Pause از #کلاس AudioSource برای کار با صداها استفاده شده‌اند که قبلاً در کانال مفصلاً بررسی شده‌اند.

@UnityLearning
Optimizers v1.0.4.unitypackage
6.5 MB
📥 #دانلود #پکیج Optimizers

🔹 ابزارهای بهینه‌سازی کامل بازی جهت انتشار

این ابزار جهت بهینه‌سازی تمام بخش‌های بازی مثل 💡 نور پردازی، 📹دوربین‌ها، 🌎 زمین‌بازی (terrain) ، 🏃NavMeshها و... طراحی شده است.

#تست_نشده

💎 نام کامل: Optimizers
#⃣ شماره نسخه: 1.04
💰 قیمت: 14.44 $
📆 تاریخ ِآخرین آپدیت: Apr 6, 2020
💻 قابلیت اجرا روی: یونیتی 5.6 به بعد

💿 برخی لینک‌های مربوط به پکیج در انتهای پست قابل دسترسی هستند.

@UnityLearning
SpaceShipMoveMent.mkv
215.4 MB
🎦 #فیلم #آموزش ساخت بازی فضایی #دو_بعدی #قسمت_اول

⚪️ انواع روش‌های حرکتی کاراکتر(سفینه) در بازی‌های Spaceship

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

🚀 همانطور که می دانید حرکت سفینه‌ی بازیکن در این سبک بازی‌ها انواع مختلفی دارد، مثلا اینکه آیا آبجکت اجازه چرخش دارد یا خیر؟ در این صورت حرکت باید به سمت روبروی آبجکت باشد نه صرفا بالا و پایین، این مسائل در این ویدیو آموزش داده شده‌اند.

#یادآوری:

🔸 دستور GetAxis از #کلاس Input برای ورودی‌های مختلف مقادیر منفی یک، صفر و یک را در شرایط مختلف (مثلا در هنگام زدن کلید های جهتی بالا و پایین در حالت Vertical و هنگام زدن کلید های چپ و راست در حالت Horizontal ) را برمی گرداند. این دستور مفصلاً در پست‌های قبلی کانال بررسی شده است.

💿 ویدئو در کیفیت‌های مختلف قابل مشاهده و دانلود می‌باشد.

@UnityLearning
Media is too big
VIEW IN TELEGRAM
🎞 فیلم آموزش انواع حرکت در بازی‌های #دو_بعدی فضایی #قسمت_اول با کیفیت 720p

📥 به جهت دانلود سریع‌تر این فیلم با کیفیت و حجم پایین‌تر نیز قرار می‌گیرد.

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

@UnityLearning
Texture2d.rar
27.3 KB
🎨 مجموعه تکسچرهای استفاده شده در سری فیلم‌های آموزشی ساخت بازی فضایی #دو_بعدی

🎬 این فایل فشرده، شامل #تکسچر های فضاپیما، دشمن، تیر و آسمان بازی به صورت آماده و با فرمت png بوده که در این سری از فیلم‌های آموزشی مورد استفاده قرار می‌گیرند.

● اسکریپت‌ها و فایل‌های دیگر پروژه نیز در پایان آموزش بر روی کانال قرار خواهند گرفت.

@UnityLearning
SpaceShipMovement2.mkv
294.3 MB
🎦 #فیلم #آموزش ساخت بازی فضایی #دو_بعدی #قسمت_دوم

⚪️ تیراندازی و ایجاد دشمن

🔹 در این قسمت از سری فیلم‌های آموزشیِ ساخت بازی دوبعدی فضایی اقدام به ایجاد حالت تیراندازی با زدن کلید Space و همچنین طراحی prefab برای دشمن خواهد شد. اگر تیر به دشمن بخورد آن را حذف کرده و اگر دشمن به بازیکن (Player) برخورد کند، باعث GameOver شدن بازی خواهد شد.

👾 حالت تولید رندوم دشمن و همچنین امتیازی شدن بازی در قسمت بعدی، آموزش داده خواهند شد.

#یادآوری:

1⃣ دستور Instantiate در یونیتی برای تولید گیم‌آبجکت‌ها بکار می‌رود، در این آموزش با توجه به ماهیت تیر (bullet) ، آن را ساخته و به سمت روبروی Player پرتاب خواهد شد.

2⃣ برای بررسی برخوردِ آبجکت‌ها در #یونیتی از توابع OnCollision استفاده می‌شود، این توابع در زمان برخورد Colliderها به یکدیگر اجرا می‌شوند که مفصلاً در پست‌های قبلی کانال توضیح داده شده است.

3⃣ به منظور حذف آبجکت‌ها (تیر، دشمن یا بازیکن) از تابع Destroy استفاده می‌شود، این تابع #گیم‌آبجکت/ #کامپوننت / #اسکریپت را در زمان مورد شما حذف میکند‌.

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

#ادامه #یادآوری:

🔸 در این فیلم همچنین از تابع OnDestroy برای اعلام GameOver شدن بازی استفاده می‌شود، این تابع در زمان Destroy شدن گیم‌آبجکت‌ها اجرا می‌شوند‌. با توجه به اینکه در این بازی یکی از شرایطی که بازی تمام می‌شود و بازیکن می‌بازد، Destroy شدن گیم‌آبجکت Player است، می‌توان از این تابع برای این منظور(نمایش متن GameOver) استفاده کرد.

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

@UnityLearning
👥 همراهان عزیز و محترم کانال و گروه یونیتی لرنینگ، لطفا در این نظر سنجی شرکت کنید. با تشکر
🎞 کدام یک از سرورها را برای قرارگیری فیلم‌های آموزشی ترجیح می‌دهید؟
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