Unity Learning
2.99K subscribers
574 photos
210 videos
1.05K files
280 links
⭕️کانال آموزش حرفـــه ای موتور بازی سازی یـــونیتی

▪️ @UnityLearning ▫️

🔹ارتباط با مدیر کانال/👇

@UnityLearning_Admin

🔹 کد شامد /👇

1-1-3526-61-3-1

💰 تعرفه تبلیغات/👇

@UnityLearning_Ads

لینک گروه تبادل نظر اعضای کانال
@UnityLearning_Group
Download Telegram
نحوه ساخت Skybox.pdf
249.1 KB
⭕️نحوه ساخت SkyBox در یونیتی

🔹 آموزش تصویری در قالب فایل PDF

[نحوۀ ساخت یک Skybox از روی تکسچرهای دو بعدی در یونیتی]

@UnityLearning
⭕️ کاربرد Material

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

🔸تکسچر ها برای نمایش روی سطوح باید از Material ها استفاده کنند و به خودی خود قابلیت قرار گیری روی آبجکت ها را ندارند. درست است که بیان می کردیم، تکسچر را روی آبجکت بکشید اما در اصل با این کار شما یک Material برای آبجکت درست می کردید و #تکسچر مورد نظر به Material داده می شد. Material ها در یونیتی از طریق منوی زیر ساخته می شوند./🔻
Assets->Create->Material

📍با این کار در پنجره Inspector منویی باز می شود تا تنظیمات را در آن وارد کنید. مهمترین تنظیم برای یک Material نوع آن است که در پارامتر Shader قابل تنظیم است. نوع یک Material یعنی آن برای چه کاربردی قرار است ساخته شود/ ساخت تکسچر ساده، استفاده به عنوان Skybox و...

👈 #ادامه_دارد

@UnityLearning
Unity Learning
⭕️ استفاده از یک آسمان برای تمام دوربین های فعال [تنظیم یک آسمان به عنوان Default Skybox برای همه دوربین ها] 🔸در یونیتی برای اینکه بخواهیم یک آسمان را روی تمام دوربین های فعال بازی اعمال کنیم و دیگر نخواهیم برای تک تک دوربین ها کامپوننت Skybox قرار دهیم،…
🔹در صورتی که بخواهیم این کار یعنی قرار گیری یک آسمان به عنوان پیش فرض (Global) در کد نویسی انجام شود. باید از کلاس RenderSettings استفاده کنیم. تنظیمات مربوط به Rendering در یونیتی در این کلاس موجود است و با دستور skybox از این کلاس می توانیم به آسمان Global در یونیتی دسترسی داشت. /🔻
RenderSettings.skybox=mat;

همانطور که مشاهده می کنید نوع این دستور Material بوده و همان Materialییست که برای آسمان در یونیتی ساخته شده است. در فرض بالا mat یک متغیر سراسری برای مقدار دهی در یونیتی است که به شکل زیر تعریف شده است./🔻
var mat:Material;

[که البته باید بعداً در یونیتی با Material مناسب مقدار دهی گـــردد]

👈 این دستور (دستور RenderSettings.skybox)
برای تغییر آسمان در یونیتی استفاده می شود و زمانی کاربرد دارد که بخواهید به هر دلیلی در یونیتی آسمان تغییر کند یکی از این دلایل می تواند شبیه سازی محیط شب و روز در بازی باشد که با دستور بالا در محل مناسب آسمان بازی تغییر خواهد کرد.

@UnityLearning
BTScript.cs
2.4 KB
⭕️ اسکریپت آماده جهت ایجاد ارتباط با دستگاه های بلوتوث مثل Joystickها و کیبوردهای بلوتوثی

🔹 این اتصال به وسیله پورت ها برقرار می شود. (محل های کد نویسی در اسکریپت مشخص شده است)

@UnityLearning
⭕️ کامپوننت Mesh Collider

🔹 در مورد Meshها در یونیتی قبلاً توضیحاتی داده شد. Mesh در یونیتی بخش های سازندۀ آبجکت هستند که به وسیله آنها فضای دیداری آبجکت ساخته می شود. Mesh Rendrer با Material ها متفاوت است. آنچیزی که فضای حجمی آبجکت را می سازد، Mesh است و آنچه روی آن Mesh تکسچر قرار می دهد Materialها
هستند، بنابراین این دو در #یونیتی بسیار نزدیک به هم هستند.

🔸 در یونیتی علاوه بر تمام انواع کالیدر که بررسی کرده ایم یک کالیدر دیگر به نام Mesh وجود دارد. Mesh Collider به شکلی است که ما می خواهیم. یعنی مربع و سیلندر و... نیست و همان شکلی است که Mesh معادل آن را در برنامــه های تولید آبجکت ساخته و به کامپوننت داده می شود، در این صورت کالیدری که ساخته می شود معادل شکل آبجکت خواهد بود.

👈 #ادامه_دارد

@UnityLearning
Unity Learning
⭕️ کامپوننت Mesh Collider 🔹 در مورد Meshها در یونیتی قبلاً توضیحاتی داده شد. Mesh در یونیتی بخش های سازندۀ آبجکت هستند که به وسیله آنها فضای دیداری آبجکت ساخته می شود. Mesh Rendrer با Material ها متفاوت است. آنچیزی که فضای حجمی آبجکت را می سازد، Mesh است…
⭕️ زمانی که از Mesh Collider استفاده می‌شود، کالیدر ها دقیقاً روی آبجکت قرار می‌گیرد.

[ همچنین پکیج هایی وجود دارد که قابلیت ایجاد Mesh به شکل آبجکت ها رادارند که به زودی در کانال قرار خواهند گرفت ]
⭕️ #پکیج ساخت کالیدر برای آبجکت ها

🔹پکیجی برای ساخت Mesh Collider به صورت کاملا دقیق و پیچیده روی سطح آبجکت ها در یونیتی وجود دارد. نام این پکیج concave collider می باشد و پکیجی بسیار کاربردی برای دادن کالیدر به آبجکت های دانلودی است که کالیدر ندارند. پیشنهاد حتمی کانال استفاده از این پکیج در ساخت بازی ها می باشد.

💲 قیمت این پکیج در استور یونیتی 40 دلار تعیین شده که می توانید به رایگان از یونیتی لرنینگ دریافت کنید. ضمنا کلیه حقوق این فایل برای دانلود از یونیتی لرنینگ محفوظ می باشد.

📕 راهنمای استفاده از پکیج: برای اعمال کالیدر با این پکیج بعد از import کردن آن به پروژۀ بازی سازی خود به جای کالیدرهای دیگر از منوی Component استفاده کنید./🔻
Component >Ultimate Game Tools>Collider

👈 با اضافه شدن این #کامپوننت به آبجکت شما یک بخش (اسکریپت) به پنجره Inspector اضافه می شود که با زدن دکمه Compute hull کالیدر برای آبجکت مورد نظر ساخته می شود که بر اساس نوع آبجکت ممکن است چند دقیقه طول بکشد.

@UnityLearning

📍این پکیج بسیار کاربردی برای اولین بار در پست بعدی برای دانلود قرار خواهد گرفت.
Concave Collider.unitypackage
3.7 MB
⭕️ #دانلود #پکیج Concave Collider

[ساخت کالیدر آماده برای آبجکت ها]

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

@UnityLearning
Unity Learning
Concave Collider.unitypackage
⭕️ #آموزش تصویری استفاده از پکیج Concave Collider به صورت مرحله به مرحله

📍ابتدا پکیج را به پروژه خود import کنید.

@UnityLearning
⭕️ #پکیج کامل مجموعه ماشین های نظامی برای استفاده در بازی های جنگی

#دانلود رایگان در پست بعدی🔻
Combat Vehicle.unitypackage
11 MB
⭕️ #پکیج Combat Vehicle مجموعه از ماشین های نظامی آماده استفاده

@UnityLearning
Unity Learning
Concave Collider.unitypackage
⭕️ مطالب تکمیلی در مورد پکیج کاربردی Concoave Collider

[رفع مشکلات احتمالی]

🔹این پکیج تنها به آبجکت (GameObject)هایی کالیدر می دهد که دارای کامپوننت Mesh Rendrer هستند و در واقع عمل ساخت کالیدر از روی Mesh داده شده در این #کامپوننت صورت می گیرد. بنابراین همواره این کامپوننت (Concave Collider) را در کنار کامپوننت Mesh Rendrer قرار دهید. در غیر این صورت هیچ عملی اجرا نخواهد شد. [در مورد کامپوننت Mesh Rendrer به طور خلاصه اینکه این کامپوننت رندر کننده ظاهر یک آبجکت است، یعنی هر آنچه در ظاهر از یک آبجکت می بینیم توسط این کامپوننت شکل می گیرد، بنابراین لازم ساخت کالیدر بر اساس آن صورت گیرد] عمل بدست آوردن محیط بیرونی (مساحت خارجی) یک آبجکت از روش های مختلفی محاسبه می شود(مثل انتگرال و...) این روش در پارامتر Algorithm قابل انتخاب می باشد.

@UnityLearning
⭕️ پکیج بسیار کاملی برای ایجاد آب و هوای خاص و همچنین ساخت آبشار در یونیتی

🔹این پکیج دارای پنج پریفاب می باشد که به کمک آن می توانید به راحتی حالت های مختلفی از شرایط جوی (🌧بارندگی[Rain] ، ❄️برف [Snow] ) و همچنین شرایط مختلف آبی (مثل آبشار[Waterfall] و 💦فواره [Font] و همچنین محل برخورد آب|🌊ایجاد موج [Surface Splash] ) را ایجاد کنید. ممکن است در پروژه تان بعد از import کردن #پکیج این پنج پریفاب به درستی عمل نکنند، در صورتی که این اتفاق افتاد، فایلی که در پست بعدی قرار خواهیم داد را دانلود و در پوشه بازی جایگزین Prefab کنید.

🔸پکیج Water Fx را به رایگان در پست بعدی دانلود و از پریفاب های آن (موجود در پوشۀ Prefab) استفاده کنید. (حالت ایجاد باران و برف این پکیج بسیار عالی است)

@UnityLearning
Water Fx Particles.unitypackage
1.5 MB
🔹 #دانلود #پکیج ساخت آبشار و ایجاد حالت بارش برف و باران

🔸در صورت کار نکردن Prefabهای پکیج محتویات فایل پست بعدی را در پوشه Prefab جایگزین کنید.

@UnityLearning
Prefab.7z
11.1 KB
⭕️ مجموعه Prefabهای اصلاح شده #پکیج Water Fx Particles

🔹محتویات را با محتویات پوشه Prefab واقع در پوشه های پکیج جایگزین کنید. [برای این کار از Explorer ویندوز استفاده کنید]

@UnityLearning
Lerp.js
532 B
⭕️ اسکریپت آماده چرخش یک آبجکت (که کد به آن متصل می شود|gameObject.transform) در جهت و به میزان زاویه بین دو آبجکت دیگر

[#آموزش تصویری نتیجه اجرای اسکریپت در پست بعدی]

@UnityLearning
⭕️ نحوۀ چرخش در دستور Lerp از #کلاس Quaternion

این تابع سه پارامتر اصلی دارد. 1-جهت آبجکت اول 2-جهت آبجکت دوم 3-پارامتر زمانی (سرعت چرخش)

@UnityLearning
⭕️ #مثال هایی کاربردی از دستور FindGameObjectsWithTag

🔹 همانطور که می دانید از این دستور برای پیدا کردن تمامی آبجکت هایی که دارای تگ خاصی هستند استفاده می شود. یعنی این دستور در قالب یک آرایه از نوع GameObject تمامی آبجکت های داری تگ مورد نظر را بر می گرداند. این دستور از #کلاس GameObject بوده و نحوۀ استفاده از آن به شکل زیر است./🔻

var gos : GameObject[];
gos = GameObject.FindGameObjectsWithTag("TagName");

🔸با اجرای کد بالا کلیه آبجکت هایی که تگشان (TagName) می باشد در آرایۀ gos قرار می گیرد.

💡در پست های بعدی، مثال هایی از این دستور در قالب «قطعه کد» قرار خواهد گرفت.

@UnityLearning