⭕️ #پکیج ساخت کالیدر برای آبجکت ها
🔹پکیجی برای ساخت Mesh Collider به صورت کاملا دقیق و پیچیده روی سطح آبجکت ها در یونیتی وجود دارد. نام این پکیج concave collider می باشد و پکیجی بسیار کاربردی برای دادن کالیدر به آبجکت های دانلودی است که کالیدر ندارند. پیشنهاد حتمی کانال استفاده از این پکیج در ساخت بازی ها می باشد.
💲 قیمت این پکیج در استور یونیتی 40 دلار تعیین شده که می توانید به رایگان از یونیتی لرنینگ دریافت کنید. ضمنا کلیه حقوق این فایل برای دانلود از یونیتی لرنینگ محفوظ می باشد.
📕 راهنمای استفاده از پکیج: برای اعمال کالیدر با این پکیج بعد از import کردن آن به پروژۀ بازی سازی خود به جای کالیدرهای دیگر از منوی Component استفاده کنید./🔻
Component >Ultimate Game Tools>Collider
👈 با اضافه شدن این #کامپوننت به آبجکت شما یک بخش (اسکریپت) به پنجره Inspector اضافه می شود که با زدن دکمه Compute hull کالیدر برای آبجکت مورد نظر ساخته می شود که بر اساس نوع آبجکت ممکن است چند دقیقه طول بکشد.
@UnityLearning
📍این پکیج بسیار کاربردی برای اولین بار در پست بعدی برای دانلود قرار خواهد گرفت.
🔹پکیجی برای ساخت 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
[ساخت کالیدر آماده برای آبجکت ها]
⚠️ کلیه حقوق #دانلود برای کانال تلگرام «یونیتی لرنینگ» محفوظ است.
@UnityLearning
Unity Learning
Concave Collider.unitypackage
⭕️ #آموزش تصویری استفاده از پکیج Concave Collider به صورت مرحله به مرحله
📍ابتدا پکیج را به پروژه خود import کنید.
@UnityLearning
📍ابتدا پکیج را به پروژه خود import کنید.
@UnityLearning
Unity Learning
Concave Collider.unitypackage
⭕️ مطالب تکمیلی در مورد پکیج کاربردی Concoave Collider
[رفع مشکلات احتمالی]
🔹این پکیج تنها به آبجکت (GameObject)هایی کالیدر می دهد که دارای کامپوننت Mesh Rendrer هستند و در واقع عمل ساخت کالیدر از روی Mesh داده شده در این #کامپوننت صورت می گیرد. بنابراین همواره این کامپوننت (Concave Collider) را در کنار کامپوننت Mesh Rendrer قرار دهید. در غیر این صورت هیچ عملی اجرا نخواهد شد. [در مورد کامپوننت Mesh Rendrer به طور خلاصه اینکه این کامپوننت رندر کننده ظاهر یک آبجکت است، یعنی هر آنچه در ظاهر از یک آبجکت می بینیم توسط این کامپوننت شکل می گیرد، بنابراین لازم ساخت کالیدر بر اساس آن صورت گیرد] عمل بدست آوردن محیط بیرونی (مساحت خارجی) یک آبجکت از روش های مختلفی محاسبه می شود(مثل انتگرال و...) این روش در پارامتر Algorithm قابل انتخاب می باشد.
@UnityLearning
[رفع مشکلات احتمالی]
🔹این پکیج تنها به آبجکت (GameObject)هایی کالیدر می دهد که دارای کامپوننت Mesh Rendrer هستند و در واقع عمل ساخت کالیدر از روی Mesh داده شده در این #کامپوننت صورت می گیرد. بنابراین همواره این کامپوننت (Concave Collider) را در کنار کامپوننت Mesh Rendrer قرار دهید. در غیر این صورت هیچ عملی اجرا نخواهد شد. [در مورد کامپوننت Mesh Rendrer به طور خلاصه اینکه این کامپوننت رندر کننده ظاهر یک آبجکت است، یعنی هر آنچه در ظاهر از یک آبجکت می بینیم توسط این کامپوننت شکل می گیرد، بنابراین لازم ساخت کالیدر بر اساس آن صورت گیرد] عمل بدست آوردن محیط بیرونی (مساحت خارجی) یک آبجکت از روش های مختلفی محاسبه می شود(مثل انتگرال و...) این روش در پارامتر Algorithm قابل انتخاب می باشد.
@UnityLearning
⭕️ پکیج بسیار کاملی برای ایجاد آب و هوای خاص و همچنین ساخت آبشار در یونیتی
🔹این پکیج دارای پنج پریفاب می باشد که به کمک آن می توانید به راحتی حالت های مختلفی از شرایط جوی (🌧بارندگی[Rain] ، ❄️برف [Snow] ) و همچنین شرایط مختلف آبی (مثل آبشار[Waterfall] و 💦فواره [Font] و همچنین محل برخورد آب|🌊ایجاد موج [Surface Splash] ) را ایجاد کنید. ممکن است در پروژه تان بعد از import کردن #پکیج این پنج پریفاب به درستی عمل نکنند، در صورتی که این اتفاق افتاد، فایلی که در پست بعدی قرار خواهیم داد را دانلود و در پوشه بازی جایگزین Prefab کنید.
🔸پکیج Water Fx را به رایگان در پست بعدی دانلود و از پریفاب های آن (موجود در پوشۀ Prefab) استفاده کنید. (حالت ایجاد باران و برف این پکیج بسیار عالی است)
@UnityLearning
🔹این پکیج دارای پنج پریفاب می باشد که به کمک آن می توانید به راحتی حالت های مختلفی از شرایط جوی (🌧بارندگی[Rain] ، ❄️برف [Snow] ) و همچنین شرایط مختلف آبی (مثل آبشار[Waterfall] و 💦فواره [Font] و همچنین محل برخورد آب|🌊ایجاد موج [Surface Splash] ) را ایجاد کنید. ممکن است در پروژه تان بعد از import کردن #پکیج این پنج پریفاب به درستی عمل نکنند، در صورتی که این اتفاق افتاد، فایلی که در پست بعدی قرار خواهیم داد را دانلود و در پوشه بازی جایگزین Prefab کنید.
🔸پکیج Water Fx را به رایگان در پست بعدی دانلود و از پریفاب های آن (موجود در پوشۀ Prefab) استفاده کنید. (حالت ایجاد باران و برف این پکیج بسیار عالی است)
@UnityLearning
Water Fx Particles.unitypackage
1.5 MB
🔹 #دانلود #پکیج ساخت آبشار و ایجاد حالت بارش برف و باران
🔸در صورت کار نکردن Prefabهای پکیج محتویات فایل پست بعدی را در پوشه Prefab جایگزین کنید.
@UnityLearning
🔸در صورت کار نکردن Prefabهای پکیج محتویات فایل پست بعدی را در پوشه Prefab جایگزین کنید.
@UnityLearning
Prefab.7z
11.1 KB
⭕️ مجموعه Prefabهای اصلاح شده #پکیج Water Fx Particles
🔹محتویات را با محتویات پوشه Prefab واقع در پوشه های پکیج جایگزین کنید. [برای این کار از Explorer ویندوز استفاده کنید]
@UnityLearning
🔹محتویات را با محتویات پوشه Prefab واقع در پوشه های پکیج جایگزین کنید. [برای این کار از Explorer ویندوز استفاده کنید]
@UnityLearning
Lerp.js
532 B
⭕️ اسکریپت آماده چرخش یک آبجکت (که کد به آن متصل می شود|gameObject.transform) در جهت و به میزان زاویه بین دو آبجکت دیگر
[#آموزش تصویری نتیجه اجرای اسکریپت در پست بعدی]
@UnityLearning
[#آموزش تصویری نتیجه اجرای اسکریپت در پست بعدی]
@UnityLearning
⭕️ نحوۀ چرخش در دستور Lerp از #کلاس Quaternion
این تابع سه پارامتر اصلی دارد. 1-جهت آبجکت اول 2-جهت آبجکت دوم 3-پارامتر زمانی (سرعت چرخش)
@UnityLearning
این تابع سه پارامتر اصلی دارد. 1-جهت آبجکت اول 2-جهت آبجکت دوم 3-پارامتر زمانی (سرعت چرخش)
@UnityLearning
⭕️ #مثال هایی کاربردی از دستور FindGameObjectsWithTag
🔹 همانطور که می دانید از این دستور برای پیدا کردن تمامی آبجکت هایی که دارای تگ خاصی هستند استفاده می شود. یعنی این دستور در قالب یک آرایه از نوع GameObject تمامی آبجکت های داری تگ مورد نظر را بر می گرداند. این دستور از #کلاس GameObject بوده و نحوۀ استفاده از آن به شکل زیر است./🔻
var gos : GameObject[];
gos = GameObject.FindGameObjectsWithTag("TagName");
🔸با اجرای کد بالا کلیه آبجکت هایی که تگشان (TagName) می باشد در آرایۀ gos قرار می گیرد.
💡در پست های بعدی، مثال هایی از این دستور در قالب «قطعه کد» قرار خواهد گرفت.
@UnityLearning
🔹 همانطور که می دانید از این دستور برای پیدا کردن تمامی آبجکت هایی که دارای تگ خاصی هستند استفاده می شود. یعنی این دستور در قالب یک آرایه از نوع GameObject تمامی آبجکت های داری تگ مورد نظر را بر می گرداند. این دستور از #کلاس GameObject بوده و نحوۀ استفاده از آن به شکل زیر است./🔻
var gos : GameObject[];
gos = GameObject.FindGameObjectsWithTag("TagName");
🔸با اجرای کد بالا کلیه آبجکت هایی که تگشان (TagName) می باشد در آرایۀ gos قرار می گیرد.
💡در پست های بعدی، مثال هایی از این دستور در قالب «قطعه کد» قرار خواهد گرفت.
@UnityLearning
FindClosestEnemy.js
1 KB
⭕️ #قطعه_کد پیدا کردن نزدیک ترین آبجکت دشمن (با تگ Enemy) به آبجکت جاری
[این اسکریپت یک تابع به نام FindClosestEnemy می باشد که این تابع نزدیک ترین آبجکت دشمن را در خود بر می گرداند]
@UnityLearning
[این اسکریپت یک تابع به نام FindClosestEnemy می باشد که این تابع نزدیک ترین آبجکت دشمن را در خود بر می گرداند]
@UnityLearning
FindGameObjectsWithTag.js
729 B
⭕️ #قطعه_کد بررسی یک آرایۀ خالی با دستور length
[دستور FindGameObjectsWithTag در صورتی که هیچ آبجکتی با تگ داده شده پیدا نکند هیج مقداری را بر نمی گرداند و آرایه خالی می ماند]
@UnityLearning
[دستور FindGameObjectsWithTag در صورتی که هیچ آبجکتی با تگ داده شده پیدا نکند هیج مقداری را بر نمی گرداند و آرایه خالی می ماند]
@UnityLearning
⭕️ توابع OnEnable و OnDisable
🔹 این دو تابع برای یک آبجکت زمانی اجرا می شوند که فعال یا غیر فعال شود. یعنی زمانی که یک آبجکت Active/Enable می شود تابع OnEnable یک بار اجرا خواهد شد و همین موضوع برای تابع OnDisable نیز اتفاق خواهد افتاد.
🔸 بهتر است برای عدم دریافت مشکلات کمتر از سی شارپ برای استفاده از این توابع استفاده کنید، چون حالت استفاده از این توابع در جاوا اسکریپت کمی مشکل است.
void OnEnable(){
....
}
void OnDisable(){
....
}
از این توابع در یونیتی بسیار استفاده می شود و کاربرد آنها بسیار بالاست.
@UnityLearning
🔹 این دو تابع برای یک آبجکت زمانی اجرا می شوند که فعال یا غیر فعال شود. یعنی زمانی که یک آبجکت Active/Enable می شود تابع OnEnable یک بار اجرا خواهد شد و همین موضوع برای تابع OnDisable نیز اتفاق خواهد افتاد.
🔸 بهتر است برای عدم دریافت مشکلات کمتر از سی شارپ برای استفاده از این توابع استفاده کنید، چون حالت استفاده از این توابع در جاوا اسکریپت کمی مشکل است.
void OnEnable(){
....
}
void OnDisable(){
....
}
از این توابع در یونیتی بسیار استفاده می شود و کاربرد آنها بسیار بالاست.
@UnityLearning
⭕️ #پکیج سرباز جهانی شامل سرباز آمریکایی و حالت FPS(دست سرباز و اسلحه)
🔸کیفیت بالا و طبیعی بودن تکسچر ها از ویژگی های این پکیج است. این پکیج دارای افکت های خاص دیدن برای Camera نیز هست.
🔸کیفیت بالا و طبیعی بودن تکسچر ها از ویژگی های این پکیج است. این پکیج دارای افکت های خاص دیدن برای Camera نیز هست.
WA US Soldier Pack v.1.1.unitypackage
670.5 MB
⭕️ #دانلود پکیج سرباز جهانی
🔹علت حجم بالای این پکیج بالا بودن کیفیت تکسچر ها میباشد. قیمت این پکیج در استور یونیتی 75 دلار میباشد.
WA US Soldier Pack
@UnityLearning
🔹علت حجم بالای این پکیج بالا بودن کیفیت تکسچر ها میباشد. قیمت این پکیج در استور یونیتی 75 دلار میباشد.
WA US Soldier Pack
@UnityLearning
[کربلای معلی، هم اکنون]
⚫️ فرا رسیدن اربعین شهادت سالار شهیدان حضرت اباعبدالله الحسین (ع) را تسلیت میگوییم.
◼️ السلام علیک یا اباعبدالله
@UnityLearning
⚫️ فرا رسیدن اربعین شهادت سالار شهیدان حضرت اباعبدالله الحسین (ع) را تسلیت میگوییم.
◼️ السلام علیک یا اباعبدالله
@UnityLearning
⭕️ #نکته برنامه نویسی
🔸 همانطور که می دانید، برخی از دستورات در ورژن های جدید یونیتی ارائه می شوند و دستورات قبل ممکن است دیگر برای ورژن جدید شناخته شده نباشند و کارایی نداشته باشند، مثلاً دستور SetActive که در ورژن های اخیر یونیتی اضافه گشته و جایگزین دستوراتی مثل SetActiveRecursively و Active شده است. گاهی یک کد نویس قصد دارد یک کد عمومی بنویسد و در اینجا لازم است کدش در هر نسخه ای از یونیتی قابل استفاده باشد، روش حل این موضوع به شکل زیر است/🔻
#if UNITY_3_5 Obj.SetActiveRecursively(false);
#else
Obj.SetActive(false);
#endif
🔹نوشتن if به این شکل (یعنی همراه با علامت شارپ #) یک شرط خاص برای یونیتی ایجاد می کند. مثلا دستور بالا می گوید اگر کامپایلر Unity3.5 است از دستور SetActiveRecursively استفاده کن و برای سایر ورژن ها از SetActive .
💡به کمک دستور SetActive در یونیتی می توان یک آبجکت را فعال/غیر فعال کرد. [توضیحات بیشتر در پست زیر/🔻]
https://t.me/UnityLearning/800
@UnityLearning
🔸 همانطور که می دانید، برخی از دستورات در ورژن های جدید یونیتی ارائه می شوند و دستورات قبل ممکن است دیگر برای ورژن جدید شناخته شده نباشند و کارایی نداشته باشند، مثلاً دستور SetActive که در ورژن های اخیر یونیتی اضافه گشته و جایگزین دستوراتی مثل SetActiveRecursively و Active شده است. گاهی یک کد نویس قصد دارد یک کد عمومی بنویسد و در اینجا لازم است کدش در هر نسخه ای از یونیتی قابل استفاده باشد، روش حل این موضوع به شکل زیر است/🔻
#if UNITY_3_5 Obj.SetActiveRecursively(false);
#else
Obj.SetActive(false);
#endif
🔹نوشتن if به این شکل (یعنی همراه با علامت شارپ #) یک شرط خاص برای یونیتی ایجاد می کند. مثلا دستور بالا می گوید اگر کامپایلر Unity3.5 است از دستور SetActiveRecursively استفاده کن و برای سایر ورژن ها از SetActive .
💡به کمک دستور SetActive در یونیتی می توان یک آبجکت را فعال/غیر فعال کرد. [توضیحات بیشتر در پست زیر/🔻]
https://t.me/UnityLearning/800
@UnityLearning
⭕️ استفاده از یک اسکریپت دیگر در اسکریپت جاری
💡 گاهی اوقات لازم است بتوانیم به یک اسکریپت (که در یونیتی از نوع Component است ) در کدهای خود دسترسی داشته باشیم. معمولاً این دسترسی برای «غیرفعال کردنِ اجرای آن اسکریپت» می باشد اما می تواند هر کاربرد دیگری نیز داشته باشد.
[این آموزش در اسکریپت نویسی به زبان #سی_شارپ کاربرد دارد]
🔹 ابتدا لازم است یک متغیر از نوع کامپوننت تعریف شــــود./🔻
Component Script;
📍 سپس تنها کافی است با دستور GetComponent مانند زیر به اسکریپت متصل شده به Obj دسترسی داشــــت./🔻
Script= Obj.GetComponent<ScriptName> ();
🔸 در صورتی که بخواهیم اجرای اسکریپت فوق متوقف شود، از دستور enabled استفاده خواهیم کـــرد./🔻
Script.enabled=false;
🔹 اما در یونیتی از اسکریپت های دیگر به منظور استفاده از پارامترها و توابع شان نیز استفاده می شود. در این صورت این کار دقیقاً مشابه تعریف کلاس در زبان های برنامه نویسی خواهد بود با این تفاوت که در اینجا کلاس مورد دسترسی برای یک آبجکت دیگر در حال اجرا می باشــــد. (در پست های بعدی آموزش بیشتر قرار خواهد گرفت)
👈 #ادامه_دارد
@UnityLearning
💡 گاهی اوقات لازم است بتوانیم به یک اسکریپت (که در یونیتی از نوع Component است ) در کدهای خود دسترسی داشته باشیم. معمولاً این دسترسی برای «غیرفعال کردنِ اجرای آن اسکریپت» می باشد اما می تواند هر کاربرد دیگری نیز داشته باشد.
[این آموزش در اسکریپت نویسی به زبان #سی_شارپ کاربرد دارد]
🔹 ابتدا لازم است یک متغیر از نوع کامپوننت تعریف شــــود./🔻
Component Script;
📍 سپس تنها کافی است با دستور GetComponent مانند زیر به اسکریپت متصل شده به Obj دسترسی داشــــت./🔻
Script= Obj.GetComponent<ScriptName> ();
🔸 در صورتی که بخواهیم اجرای اسکریپت فوق متوقف شود، از دستور enabled استفاده خواهیم کـــرد./🔻
Script.enabled=false;
🔹 اما در یونیتی از اسکریپت های دیگر به منظور استفاده از پارامترها و توابع شان نیز استفاده می شود. در این صورت این کار دقیقاً مشابه تعریف کلاس در زبان های برنامه نویسی خواهد بود با این تفاوت که در اینجا کلاس مورد دسترسی برای یک آبجکت دیگر در حال اجرا می باشــــد. (در پست های بعدی آموزش بیشتر قرار خواهد گرفت)
👈 #ادامه_دارد
@UnityLearning
Unity Learning
⭕️ استفاده از یک اسکریپت دیگر در اسکریپت جاری 💡 گاهی اوقات لازم است بتوانیم به یک اسکریپت (که در یونیتی از نوع Component است ) در کدهای خود دسترسی داشته باشیم. معمولاً این دسترسی برای «غیرفعال کردنِ اجرای آن اسکریپت» می باشد اما می تواند هر کاربرد دیگری نیز…
⭕️ انتقال از یک آبجکت حرکتی به آبجکت دیگر
#ادامه دستورات
🔸یکی از کاربردهای فعال و غیر فعال کردن #کامپوننت ها، به خصوص اسکریپت ها، جابجایی از آبجکت های حرکتی به هم می باشد. منظور از این کار مثلاً «سوار شدن به ماشین» یا هر وسیله حرکتی دیگر می باشد. در این زمان باید یک سری موارد از کاراکتر اصلی غیر فعال و مشابه همانها در آبجکت دیگر فعال شود و همین عمل در زمان پیاده شدن باید برعکس اتفاق بیافتد.
🔹در یونیتی در هر زمان باید یک دوربین فعال وجود داشته باشد بنابراین اولین موردی که باید تغییر کند دوربین بین آبجکت ها می باشد. همچنین معمولاً حرکت به وسیلۀ اسکریپت ها صورت می پذیرد بنابراین باید اسکریپت حرکتی کاراکتر اصلی غیر فعال و برای وسیلۀ دیگر فعال شود. اسکریپت حرکتی برای FPS به نام Character Controller می باشد و برای سایر آبجکت ها نیز شما باید کد نوشته باشید. با این اعمال کلیه کارها از آبجکت اول(مثلا کاراکتر FPS) به آبجکت دوم(مثلاً ماشین) منتقل خواهد شد و به نظر خواهد رسید کاراکتر شما به ماشین سوار می شود. مثال/🔻
GetComponent< CharacterController> () .enabled=false;
👈 دستور فوق اسکریپت ( #کامپوننت ) CharacterController از آبجکت جاری را غیر فعال خواهد کرد و در این صورت در صورتی که کاربر روی دکمه های جهتی کلیک کند روی این #آبجکت تأثیری نخواهد داشت.
#ادامه_دارد
@UnityLearning
#ادامه دستورات
🔸یکی از کاربردهای فعال و غیر فعال کردن #کامپوننت ها، به خصوص اسکریپت ها، جابجایی از آبجکت های حرکتی به هم می باشد. منظور از این کار مثلاً «سوار شدن به ماشین» یا هر وسیله حرکتی دیگر می باشد. در این زمان باید یک سری موارد از کاراکتر اصلی غیر فعال و مشابه همانها در آبجکت دیگر فعال شود و همین عمل در زمان پیاده شدن باید برعکس اتفاق بیافتد.
🔹در یونیتی در هر زمان باید یک دوربین فعال وجود داشته باشد بنابراین اولین موردی که باید تغییر کند دوربین بین آبجکت ها می باشد. همچنین معمولاً حرکت به وسیلۀ اسکریپت ها صورت می پذیرد بنابراین باید اسکریپت حرکتی کاراکتر اصلی غیر فعال و برای وسیلۀ دیگر فعال شود. اسکریپت حرکتی برای FPS به نام Character Controller می باشد و برای سایر آبجکت ها نیز شما باید کد نوشته باشید. با این اعمال کلیه کارها از آبجکت اول(مثلا کاراکتر FPS) به آبجکت دوم(مثلاً ماشین) منتقل خواهد شد و به نظر خواهد رسید کاراکتر شما به ماشین سوار می شود. مثال/🔻
GetComponent< CharacterController> () .enabled=false;
👈 دستور فوق اسکریپت ( #کامپوننت ) CharacterController از آبجکت جاری را غیر فعال خواهد کرد و در این صورت در صورتی که کاربر روی دکمه های جهتی کلیک کند روی این #آبجکت تأثیری نخواهد داشت.
#ادامه_دارد
@UnityLearning