Unity Learning
2.84K subscribers
598 photos
231 videos
1.06K files
294 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
🔖 یک عمر در اشتیاق شهادت

🎞 با رفتن خود داغ سنگینی بر قلوب همگان وارد کردید. شما همیشه مشتاق این عاقبت بودید تا بالاخره حضرت حق آن را در حال تلاوت قرآن کریم در صبحگاه روز دهم رمضان المبارک به شما اعطا فرمودند.

📝 بخشی از اولین پیام رهبر انقلاب اسلامی |
۲۱/اسفند/۱۴۰۴

@UnityLearning
57👎41👍1
🎦 مجموعه ای از کلیپ های جلسات مختلف یک ترم درس بازی سازی

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


🧩 کلیپ های فوق مربوط به کلاس های درس بازی سازی دانشگاه مهاجر اصفهان می باشد و در سال های اخیر درخواست های زیادی بابت قرار دادن این کلیپ ها به طور مرتب و پشت سرهم در کانال داشتیم که در این ترم، موضوع محقق شد و مجموع فوق از این حیث نسبت به تاریخِ برگزاری جلسات دانشگاهی مرتب می باشد.

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

@UnityLearning
14👍2
⭕️ رشته «طراحی و تولید بازی‌های رایانه‌ای» در مقطع کارشناسی، پس از حدود ۱۰ سال پیگیری و تلاش دانشگاه اصفهان، به تصویب رسید.

🔹 به گزارش روابط عمومی بنیاد ملی بازی‌های ویدیویی،آیین رونمایی از رشته کارشناسی «طراحی و تولید بازی‌های رایانه‌ای» روز ۲۴ تیرماه ۱۴۰۵ با حضور معاون آموزشی وزارت علوم، تحقیقات و فناوری، جمعی از مسئولان کشوری و استانی و فعالان حوزه آموزش عالی در دانشگاه اصفهان برگزار خواهد شد.


🎮 این رشته که پس از حدود ۱۰ سال پیگیری و تلاش دانشگاه اصفهان به تصویب رسیده است، از سال تحصیلی ۱۴۰۵-۱۴۰۶ پذیرش دانشجو خواهد داشت.

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

🗓 بر اساس برنامه اعلام‌شده، در این مراسم دبیر شورای عالی انقلاب فرهنگی، دبیر شورای تحول و ارتقای علوم انسانی، استاندار اصفهان و جمعی دیگر از مسئولان نیز حضور خواهند داشت.

🎮 منبع خبر (سایت بنیاد ملی بازی‌های رایانه‌ای)

@UnityLearning
35👍4👎1
زیارت اربعین درشت خط.pdf
6 MB
🔹 متن زیارت اربعین امام حسین علیه السلام (هر دو زیارت وارد شده)

🏴 اربعین شهادت امام حسین علیه السلام را تسلیت می‌گوییم.

@UnityLearning
48👎19
Channel photo updated
Media is too big
VIEW IN TELEGRAM
🎦 #کلیپ #آموزش مفهوم Scriptable Object در یونیتی

🔍 مفهوم ScriptableObject (که به اختصار SO هم گفته می‌شود) یکی از مهم‌ترین و کاربردی‌ترین قابلیت‌های موتور بازی‌سازی یونیتی است.
به‌زبان ساده، یک اسکریپت خاص است که فقط برای نگهداری داده‌ها ساخته شده و برخلاف آبجکت‌های معمولی، نیازی به قرار گرفتن روی بازی‌ها (GameObject) در صحنه (Scene) ندارد.

🧩 برخی از ویژگی های آن که شامل مدیریت و بهینه سازی تعریف پارامترهای ورودی اسکریپت در یونیتی است، به همراه یک مثال ساده در این کلیپ ذکر شده است.

🔵 دانلود کلیپ از آپارات 🔵

@UnityLearning
12
Unity Learning
🎦 #کلیپ #آموزش مفهوم Scriptable Object در یونیتی 🔍 مفهوم ScriptableObject (که به اختصار SO هم گفته می‌شود) یکی از مهم‌ترین و کاربردی‌ترین قابلیت‌های موتور بازی‌سازی یونیتی است. به‌زبان ساده، یک اسکریپت خاص است که فقط برای نگهداری داده‌ها ساخته شده و برخلاف…
⭕️ مزایای استفاده از ScriptableObject

1️⃣ مدیریت بهینه حافظه (Flyweight Pattern)

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

2️⃣ جداسازی داده از منطق (Data-Driven Design)

طراحان بازی و برنامه‌نویسان می‌توانند همزمان و بدون تداخل کار کنند. برنامه‌نویس منطق (Logic) را می‌نویسد و طراح مستقیماً در پنجره Inspector داده‌ها را تغییر می‌دهد، بدون اینکه نیازی به دستکاری کد یا صحنه‌های سنگین داشته باشد .

3️⃣ ذخیره‌سازی و پایداری داده‌ها

تغییراتی که روی یک ScriptableObject در حالت Play Mode اعمال می‌کنید، پس از خروج از این حالت نیز ذخیره می‌شوند و از بین نمی‌روند. این ویژگی برای تنظیم دقیق (Tuning) و بالانس بازی فوق‌العاده کاربردی است.

⭕️ کاربردهای رایج

🔹 مخزن داده (Data Container): ذخیره اطلاعات کاراکترها، آیتم‌ها، سلاح‌ها و تنظیمات سطح .

🔹 متغیرهای سراسری (Global Variables): جایگزینی برای متغیرهای Static و Singleton برای مدیریت داده‌هایی مثل تعداد سکه‌ها یا وضعیت بازی در صحنه‌های مختلف .

🔹 سیستم رویداد (Event Channel): ایجاد یک سیستم پیام‌رسانی کاملاً غیرمتمرکز جهت مقدار دهی در بخش های مختلف

@UnityLearning
9
🧩 اسکریپت آماده بازی Minesweeper ویندوز XP برای یونیتی

🔹 اسکریپت بسیار ساده برای طراحی بازی Minesweeper را می توانید از پست بعدی دانلود کنید.

🛡 مین‌یاب (Minesweeper) یک بازی ویدیویی در سبک پازل منطقی است، این بازی دارای شبکه‌ای از کاشی‌های قابل کلیک است که "مین‌های" پنهان (که در بازی اصلی به عنوان مین‌های دریایی نشان داده شده‌اند) در سراسر صفحه پراکنده شده‌اند.

💣 توضیحات بیشتر مرتبط با اسکریپت نیز در پست بعدی قرار خواهد گرفت.

@UnityLearning
9
MinesweeperXP.zip
59.4 KB
📜 اسکریپت آمادۀ بازی Minesweeper برای استفاده در یونیتی

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

🔹 تمام بخش های طراحی روی یک UI Image انجام می شود، بنابراین آبجکت اصلی این محیط UI Image است که می توانید از منوی Game Object - UI به محیط بازی اضافه و اندازۀ آن را تنظیم کنید.

☑️ پارامتر Grid Image به این متغیر اشاره خواهد کرد، پارامتر Grid Size تعداد سلول ها در سطر و ستون و پارامتر Mine Count تعداد مین در کل محیط بازی است.

🔸 تصاویر نمایشی بازی از طریق بخش Sprite برای اسکریپت مشخص می شود، پارامتر Miine Sprite برای تصویر مین و آرایه NumberSprite برای اعداد استفاده می شود. همچنین اسپرایت های دیگری برای Flag و ... همچنین تنظیم رنگ ها 🎨 نیز برای اسکریپت موجود است که می توانید در پنجرۀ Inspector برای اسکریپت تنظیم کنید.

📷 چند فایل Sprite مانند آنچه در تصویر پست قبل بود، نیز در این فایل zip جهت تست قرار گرفته است. شامل تصویر مین، پرچم، اعداد یک تا چهار



@UnityLearning
11
This media is not supported in your browser
VIEW IN TELEGRAM
⚫️ فرا رسیدن ایام پایانی ماه صفر، شهادت پیامبر گرامی اسلام، امام حسن مجتبی و امام علی بن موسی الرضا علیهم السلام را تسلیت می‌گوییم.

@UnityLearning
49👎11👍1
Update_FixedUpdate.pdf
4.3 MB
📋 مطلب آموزشی در رابطه با توابع Update و FixedUpdate

🔹 هر آنچه در مورد این دو تابع و تفاوت های لازم است بدانیم.

🔸 در این جزوه کاربردها و تفاوت های این دو تابع از توابع چرخه حیات در یونیتی همراه با مثال ذکر شده است.

@UnityLearning
👍43
Unity Learning
Update_FixedUpdate.pdf
Media is too big
VIEW IN TELEGRAM
🎦 کلیپ آموزشی برای توضیح جزوه «معرفی توابع Update و FixedUpdate»

☑️ سعی گردید در این کلیپ به صورت خیلی ساده برخی از نکات ذکر شده در جزوه آموزش داده شود.

@UnityLearning
7👍1👎1
Forwarded from Unigame
دوره آموزش بازی سازی با یونیتی و سی‌شارپ

📌سرفصل ها:
🔺 مفاهیم پایه و پیشرفته برنامه نویسی#C
🔺 کار با محیط یونیتی و ابزار های آن
🔺 طراحی سیستم های بازی و مکانیک ها
🔺 ساخت صحنه ها، انیمیشن و رابط کاربری
🔺 بهینه سازی در حد مقدماتی

🎥 تمام جلسات ضبط شده و در اختیار شرکت‌کنندگان قرار می‌گیرد.

💻 دوره پروژه محور خواهد بود.

📝15 ساعت محتوای آموزشی
👨‍🏫 مدرس: امیرحسین محمدی پور
🗓  از 30 مرداد ماه تا 27 شهریور ماه ۱۴۰۵
ساعت 18:00 الی 21:00
📅 به تعداد 5 جلسه
💻 به صورت مجازی

💰 هزینه ثبت‌نام
دانشجویان دانشگاه تهران: 650 هزار تومان
دانشجویان سایر دانشگاه‌ها: 800 هزار تومان
آزاد: 900 هزار تومان

🎮 کانون بازی های رایانه ای دانشگاه تهران


📞 کسب اطلاعات بیشتر و ثبت نام:
🆔 @UniGameSupport


💠BALE
💠TELEGRAM
3👎2
Unity Learning
Update_FixedUpdate.pdf
⭕️ تابع Late Update #ادامه_مبحث

🔹 تابع LateUpdate در هر فریم اجرا می‌شود، درست مانند Update ، اما یک تفاوت مهم وجود دارد:
📌تابع LateUpdate همیشه بعد از اجرای تمام Updateها در همان فریم اجرا می‌شود.

📊 ترتیب ساده اجرای آن‌ها به این شکل است:

Update
⬇️
LateUpdate

🎥 مهم‌ترین کاربرد: دنبال کردن بازیکن توسط دوربین

🔹 یکی از بهترین کاربردهای LateUpdate()، کنترل دوربین است. فرض کنید بازیکن در Update حرکت می‌کند:

void Update()
{
transform.Translate(
Vector3.forward * speed * Time.deltaTime
);
}


🔸 حالا دوربین باید موقعیت جدید بازیکن را دنبال کند. اگر دوربین قبل از اعمال حرکت بازیکن موقعیت او را بررسی کند، ممکن است یک فریم تأخیر ایجاد شود. به همین دلیل می‌توانیم دوربین را در LateUpdate حرکت دهیم:

void LateUpdate()
{
transform.position = player.position + offset;
}

👈 در این حالت:

1️⃣ ابتدا بازیکن حرکت می‌کند.
2️⃣ سپس LateUpdate اجرا می‌شود.
3️⃣ دوربین موقعیت جدید بازیکن را دریافت می‌کند.

🎯 نتیجه: حرکت دوربین نرم‌تر و هماهنگ‌تر خواهد بود.

🤔 چرا دوربین را در Update قرار ندهیم؟
🔹 فرض کنید هم بازیکن و هم دوربین در Update حرکت کنند. در این حالت ترتیب اجرای اسکریپت‌ها همیشه چیزی نیست که به‌صورت ساده از روی کد انتظار داریم و ممکن است دوربین قبل از اعمال آخرین تغییر موقعیت بازیکن اجرا شود. در نتیجه، دوربین می‌تواند یک فریم از حرکت واقعی بازیکن عقب بماند. اما با استفاده از LateUpdate مطمئن می‌شویم که ابتدا تغییرات مربوط به Update انجام شده‌اند و سپس دوربین موقعیت نهایی شیء را بررسی می‌کند.

@UnityLearning
6👍1
Unity Learning
🌸 ... و مانند سال های گذشته در چنین روزی 🔸 به #مناسبت سالروز شروع امامت امام زمان (عج) ⭐️ آغاز هزار و صد و هشتاد و هفتمین سال امامت حضرت «اباصالح المهدی» را به همه شیعیان و منتظران آن حضرت تبریک و تهنیت عرض می‌کنیم. 🌹السلام علیک یا اباصالح المهدی یا صاحب…
🌸 ... و مانند سال های گذشته در چنین روزی

🔸 به #مناسبت سالروز شروع امامت امام زمان (عج)

⭐️ آغاز هزار و صد و هشتاد و هشتمین سال امامت حضرت «اباصالح المهدی» را به همه شیعیان و منتظران آن حضرت تبریک و تهنیت عرض می‌کنیم.


🌹السلام علیک یا اباصالح المهدی یا صاحب الزمان🌹

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

🌸 با آرزوی سلامتی و موفقیت برای همه شما عزیزان 🌸

@UnityLearning
17👎5