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
بررسی مقدار دهی متغیر های سراسری در #یونیتی

#آموزش نکات #برنامه_نویسی و #اسکریپت_نویسی به زبان #جاوا

🔹 برای بررسی این که، آیا متغیری که به صورت سراسری(بـــرای مقدار دهی در #برنامه یونیـــتی) مقدار دهـــی شده است یا خیر؟ از این روش و تکنــــیک برنامــه نویسی استفاده می کنیم.

🔸 فرض کنید، متغیر test را به صورت سراسری (در ابتدا و بیرون همه توابع) تعریف کرده ایم، یعنــــــی:

# pragma strict
var Test:GameObject;
.....

👈فرض می شود نوع متغیر GameObject یا هر نوع دیگری است، در این جا برای بررسی این که آیا Test در برنامه یونیتی مقدار دهی شده است یا خیر، از کد نویسی به شکل زیر استـــفاده می کنیم.

if (Test)
{....}

👈در واقع با این کار بررسی می‌کنیم اگر متغیر مورد نظر در یونیتی مقدار دهی شده است، اعمال شرط انجام شود.


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





کانال یونیتی لرنینگ
@UnityLearning
⭕️آموزش های جدید و حرفه ای در کانال یونیتی لرنینگ


🔰آموزش ساخت بازی های ویدیویی با موتور قدرتمند یونیتی، به صورت گام به گام و گرافیکی

▫️دانلود مقالات
▪️دانلود تکسچر.
▫️کدهای آماده
▪️مدل های گرافیکی
▫️آخرین تغییرات یونیتی
▪️آموزش برنامه های مرتبط با بازی سازی


ـ🔰🔰🔰🔰🔰🔰🔰🔰🔰
▫️همه در یونیتی لرنینگ▪️

💢 @UnityLearning 💢


🔹کانال ما را به دوستان و آشنایان خود معرفی کنید.



https://t.me/joinchat/AAAAAD7sAY7DK1rrihLJ8w
#آموزش فعال/غیر فعال کردن یک آبجکت

آموزش #یونیتی #برنامه #اسکریپت_نویسی #کد_نویسی

🔹 در یونیتی کلیه #آبجکت ها دارای خاصیتی به نام Active هستند، این خاصیت در واقع مشخص کننده ی فعال یا غیر فعال بودن آبجکت است.

فعال بودن یک آبجکــت به این معناست که در حال حاضر همه ی کامپونتت ها و زیر مجموعه های یک آبجکت(کلیه آبجکت ها و #کامپوننت هایی که به آن متصل کردیم) فعال و در حال اجرا هستند. در مقابل غیر فعال بودن یک آبـــجکت نیز به این معنی است که آن آبجکت به همراه کلیه موارد غیر فعال (بدون فعالیت-در حالت عدم اجرا-عدم دیده شدن و...) است.

برای تست فعال/غیر فعال بودن یک آبجکت حتما در حالت طراحی بازی (زمان Stop بودن) با استفاده از تیک بالای پنجره Inspector برای هر آبجکت، آن را تست کنید. مشاهده کنید، در حالت غیر فعال بودن یک آبجکت چه اتفاقاتــی در بازی تان نسبت به آن آبجکت میافتد. در واقع همین اعمال نیاز است در هنگام اجرا بازی اتفاق بیافتند.


توجه کنید، کلیه Asset ها در یونیتی (شامل Transformها، GameObjectها، Componentها و...) دارای خاصیت Active هستند. بنابراین شما می توانید برای غیر فعال کردن یک Asset از این خاصیت استفاده کنید.

در حالت کد نویسی برای دسترسی به خاصیــت ذکر شده از شکل زیر استـــفاده می کنیم

AssetName.active=false;

AssetName.active=true;


🔹 #مثال هایی از خاصیت Active به این صورت است.

گاهی اوقات لازم است، برای بازی چند Camera داشته باشیم. چون دوربین یک کامپوننت است، با کد زیر یکی را فعال و دیگری را غیر فعال می کنیم//
کد غیر فعال کردن کامپوننتِ دوربین متصل شده به یک آبجکت

transform.GetComponent.<Camera>().active=false;

👈 دستور GetComponent کــه در پست های قبلی توضیح داده شده است.


مثال دیگر برای این خاصیت تغییر در کاراکتـــر اصلی بازی است، گاهی اوقات بازیکن تغییر می کند، مثلاً سوار یک وسیله دیگر می شود، که باید ماهیت آن (مثل سرعت و ...) عوض شود. در این جا نیز از این خاصیت برای غیر فعال کردن کاراکتر جاری و فعال کردن کاراکتر دیگر استفاده می شود.


نکــــته بسیــار مهم در اینجـــا این است که، با غیر فعال کردن یک آبجکت، کلیه کامپوننت های متصل به آن نیز غیر فعال می شود. این یعنی اگر کاراکتر جاری (آبجکت که کد به آن متصل شده است) را غیر فعال کنیم، در کد های بعدی (خط های بعدی کد) دیگر نمی توانیم آن به آن دسترسی داشته باشیم. چون کد هایی که می نویسیم، دیگر اجرا نمی شوند. برای فعال کردن مجدد این آبجکت باید از کدی در جای دیگر استفاده کنیم، تا بتوانیم مجدد آن را فعال کنیم.

transform.active=false;


کانال یـــونیتی لرنینگ
@UnityLearning
#آموزش اجباری کردن اضافه شدن یک #کامپوننت برای یک اسکــریپت

🔸 در صورتی که بخواهـــیم که یک اسکریپت حتما با یک کامپوننت خاص کار کنـــد، کد زیر را که به زبان #جاوا می باشد، به #اسکریپت_نویسی یا #کد_نویسی خود اضـــافه می کنـــیم. این کد باید در خارج کلیه دستورات و توابع نوشـــته شود. [به طور #مثال آخرین خط کد]

@script RequireComponent(ComponentName);

🔹 به طور مثال می خواهیم کدی برای کامپوننت AudioSource مربوط بــه آبجکتی که کد به آن متصل می شود، کدی بنویسیم و می خواهیم این اسکریپت همیشه این کامپوننت را به همراه خود به آبجکت اضافه کند، از کد زیر استفاده می کنیم.

@script RequireComponent(AudioSource);

🔺 در صورتی که این کد در اسکریپت نباشد و همچنین این کامپوننت (به طور مثال AudioSoruce) به آبجکت داده نشـــده باشد و ما در اسکریپت به آن دسترسی بخواهیم، با خطا مواجه خواهیم شد.

بسیاری از کد های استاندارد موجود در اینترنت از این دستور برای اضافه شــدن کامپوننت مورد نظرشان به #آبجکت که اسکریپت را به آن متصل می کنیم، استــــفاده می کنند.





کانال یونیـــتی لرنینگ
@UnityLearning
#دانلود پکـــیج کامل #تکسچر های بازی IGI 2

همانطور کــه قبلاً بیان شده بود، برای شما پکیج کاملی از کلیـــه تسکچرهای بازی معروف IGI نسخه 2 را برای دانلود قرار خواهیم داد.

شما می توانید بدون دردسر در پســـت بعدی این فایل را به صورت فشرده شده و آماده دانلود کنید.




کانال یونیتـــی لرنینگ
@UnityLearning
textures_IGI_@UnityLearning.rar
1.7 MB
#دانلود #تکسچر های بازی IGI 2


کانل یونیتی لرنــــینگ
@UnityLearning
⭕️ دلایل عدم وجود اسکریپت کد هایی که با اضافه کردن یک آبجکت به بازی اضافه نمی‌شود.


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


🔻در هنگام اضافه شدن برخی آبجکت های آماده در #یونیتی ، اسکریپت ها و کامپوننت های خاصی به طور خودکار به آن اضافه می‌شود.


🔹در واقع ما هم می توانیم این کار را انجام دهیم، یعنی آبجکتی بسازیم که به همراه آن یک سری #کامپوننت و اسکریپت اضافه شود.

👈دو مورد از این روش ها قبلا بررسی شده، که متداول ترین روش نیز هست. ساخت Prefab و استفاده از دستور Requirement در #اسکریپت_نویسی و #کد_نویسی (که در پست قبل کاملا توضیح داده شد) از جمله اصلی ترین این روش هاست.


🔰به طور #مثال ، در یونیتی با اضافه شدن آبجکت های بازیکن (یعنی اول شخص یا سوم شخص) یک سری کد های کنترلی به نام character controller به آن به همراه #کامپوننت های زیادی مثل Regidbody و... متصل است، زمانی که کد ها را مشاهده کنید، دقیقا متوجه خواهید شد که از کد Script Requirement استفاده شده است.




▫️اما دلایل اصلی عدم وجود این موارد▫️


▪️حذف شدن کدها از محل اصلی ساخت بازی

▫️قدیمی بودن یا متفاوت بودن نسخه های یونیتی

▪️استفاده از آبجکت غیر استاندارد

▫️در کل و به هر دلیلی آن چه نیاز است با این آبجکت در بازی شما اضافه شود و نمی‌شود، به این دلیل است که آن مورد از سیستم شما حذف شده است. آن را با اضافه کردن مجدد Asset ها به محل بازی خود اضافه کنید.





❗️مطلب به #درخواست کاربران در کانال قرار گرفت❗️



⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
دانلود #آبجکت های شطرنج

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

فرمت این فایل FBX بوده و باید برای اضافه شدن آن، پوشه ی دانلود شده را به صورت کامل به Project در یونیتی درگ کنید.

تاکید می گردد پوشه را به طور کامل درگ کنید



کانال یونیتی لرنینگ
@UnityLearning
Chess_Object_Full_VersionDownload.rar
1.8 MB
#دانلود فایل #آبجکت های کاملِ لازم برای بازی شطرنج

فرمت فایل دانلود rar
فرمت آبجکت FBX به همراه #تکسچر ها

#درخواست


کانال یونیتی لرنینگ
@UnityLearning
Number_Texture(1-4).zip
5.3 KB
#دانلود #تکسچر های عددی یک تا چهار به صورت زیبا برای استفاده در بازی های مسابقه ای

🔸 این چهار تصویر با فرمــت PNG برای شما قرار
گرفته است.

کانال یونیتی لرنینگ
@UnityLearning
⭕️ انتخاب شهر مشهد «حرم مطهر علی بن موسی الرضا» به عنوان پایتخت فرهنگی جهان اسلام در سال 2017 را گرامی می‌داریم.

«مشهد ۲۰۱۷»

▫️آخرین شهر ایران به عنوان پایتخت فرهنگی جهان اسلام، اصفهان شهر سلمان فارسی در سال 2006 بود.
معرفی #سایت برای #دانلود #صدا برای بازی

🔹شما می توانید، برای دانلود صداهای لازم برای بازی تان به سایت زیر که به صـــورت رایگان صدا ها رو در اختیار کاربرانش می گذارد، سری بزنید.

🔹 برای استفاده از این سایت باید حتما در آن ثبت نام کرده و ایمــیل خود را تایید کنید.

🔸 سایت
https://freesound.org

🔸لینک صفحه ثبت نام در سایت
https://freesound.org/home/register/

همچنین از قابلیت های خــوب این سایت آپلود کردن صداست، شما می توانید صداهای خود را کــه ساخته اید، با همه مردم به اشتراک بگذارید.

آنچــه نیاز دارید را در این سایت جستجو کنید



کـــانال تلگرام یونـــیتی لرنینگ
@UnityLearning
معرفی #سایت #دانلود #آبجکت

🔸 سایت بسیار عالی برای دانلود آبجکت به صورت رایگان

http://archive3d.net

شما برای دانلود آبجکت های مورد نظر خودتون می توانید، به این سایت رفته و در قسمـــت جستجو، عبارت مورد نظر خود را وارد کرده و این سایت تعداد از آبجکــت های مورد نظر شما را در اختیاران خواهد گذاشت.

اکثر بخش های این سایت به صورت رایگان اســت.




کانال یونیتی لرنـــینگ
@UnityLearning
#دانلود #اسکریپت_نویسی کامل مربوط به چرخش دوربین به دور یک #آبجکت

👈 این کد آماده است، آن را به دوربین مورد نظر (که آن را نسبت به شی اصلی تنظیم کرده اید) بدهید. دوربین بر اساس فاصله زمانی به دور آن می چرخد.

🔰در پست بعدی این کد را به زبان #جاوا دانلود کنید.

🔰راهنمایی کد آماده

👈برای اینکه شما یک آبجکت داشته باشید و بخواهید دوربین هر جا میرود به دور آن بچرخد، می توانید از این کد بدین منظور استفاده کنید.

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

🔸با این کار شما دوربین خواهید داشت که طی بازه زمانی به دور آبجکت شما می چرخد.




کانال یونیتی لرنینگ⭕️
@UnityLearning
Camera_Rotate.js
154 B
#دانلود #کد_نویسی #اسکریپت_نویسی کامل چرخش دوربین به دور یک #آبجکت (target)

@UnityLearning
#آموزش صحیح اضافه کردن یک #آبجکت به محیط یونیتی

🔹 در #یونیتی این قابلیت وجود دارد که شما بتوانید از آبجکت های سایر نرم افزار های تولید آبجکت، در صورتی که آن را Export کرده باشید، استفاده کنید. در این حالت اگر کلیه فایل های لازم به آبجکت (مثــل #تکسچر ها و ...) باید در پوشه آن موجــود باشد. همچنین یکی از قابلیت های عالی یونیتی این است که در صورتی که شما نرم افزار تولید آبجکت (مثل Maya یا 3D Max) را روی سیستم نصب شده داشته باشید، می توانید از آبجکت هایی که این نرم افزار ها تولید کرده اند( Export نشده است، در واقع فقط Save شده) استــفاده کنید. اکثر فایل هایی که از اینترنت برای آبجکت ها دانلود می کنیم، به همین شکل هستند، یعنی نیاز است که نرم افزار تولید آبجکت نیز روی سیستم نصب شده باشد.

🔸 در هر صورت برای اضافه شدن یک آبجکت به صحیح ترین روش از این روش استفاده می کنیم. ابتدا فایل دانلود شده از اینترنت را که مطمئناً به صورت zip یا rar است، extract می کنیم. حال پوشه این آبجکت را بررسی می کنیم. یک آبجکت حتما نیاز به تکسچر های خاص خود دارد. فرمت فایل های تکسچر معمولا TGA یا هر نوع فرمت تصویری است.

برای اضافــه شدن آبجکت، پوشه کامل آبجکت را (که حتما باید شامل حداقل یک فایل برای خود آبجکت باشد) به پنجره Project در محیط یونیتی دِرگ می کنیم. این کار به علت هماهنگی یونیتی با نرم افزار های تولید آبجکت ممکن است تا یک دقیقه (بسته به نوع آبجکت) طول بکشد. در این جا ممکن است با خطاهای متعددی روبرو شویم، متداول ترین خطا عدم تبدیل فایل توسط نرم افزار تولید آبچکت (مثل 3D Max) اســت، برای رفع این خطا نرم افزار خود را بروز رسانی کنید، شاید هم مشکل از آبجکت (فرمت دانلود شده) باشد. اگر همه چیز درســـت باشد، یعنی کار را صحیح انجام داده باشید، همچنین فایل دانلود شده سالم باشد، آبجکت به صورت Prefab یعنی به همراه همه تکسچر ها و کامپوننت های لازم در پنجره Project قابل استفاده خواهد بود.

در نرم افزار های تولید آبجکت امکان اضافه شدن #کامپوننت های حرفـــه ای (که شاید توسط یونیتی پشتیبانی نشود) نیز هست. پس به این نکته توجه کنید، احتمال دارد، کامپوننت های آبجکت اضافه شده شما به صورت Mis یا گم شده باشد. در این جا لازم است پکیج لازم را به یونیتی اضافه کنید.





کـــانال یونیتی لرنینگ
@UnityLearning
❗️لطفا به این نکته توجه کنید❗️

🔰کلیه آبجکت هایی که در کانال قرار می‌گیرد، کامل، سالم و قابل استفاده است.

👌در صورتی که در خواست آبجکت خاصی دارید، می توانید به آی دی زیر پیام بدهید.

💢 @UnityLearning_admin 💢

🔸کاربران ریپورت نیز نگران نباشند، شما می‌توانید پیام خود را در ربات زیر، بخش ارتباط با ما قرار دهید.

💢 @FooladUniversityBot 💢
🇮🇷کانال یونیتی لرنینگ، ایام دهه فجر و سی و هشتمین سالروز انقلاب اسلامی ایران را گرامی می‌دارد.

🇮🇷@UnityLearning🇮🇷
⭕️تشکر از پیام های کاربران، ان شاءالله در اولین فرصت در خواست های شما، در کانال پاسخ داده می‌شود.


▫️دوستان و آشنایان خود را از کانال یونیتی لرنینگ با خبر کنید.


💢@UnityLearning💢
⭕️میلاد با سعادت حضرت زینب کبری سلام الله علیها و همچنین روز پرستار را به همه شیعیان جهان به خصوص پرستاران عزیز و زحمت کش، تبریک و تهنیت عرض می‌کنیم.




⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
اسکریپت کامل حرکت یک #آبجکت با کلید های جهت دار به #درخواست کاربران

🔹 در پست بعدی اسکریپت کاملـــی در اختیار تان قرار می گیرد، که به منظور حرکت یک آبجکت با کلید های جهت دار در فضای سه بعدی قرار می گیرد. این کد از دستورات #کلاس Input به منظور این کار استفاده می کند. این کلـــاس دارای یک پارامتر به نام Axis برای دریافت کلید های جهت دار است. اگر کلید سمت بالا فشار داده شود. این تابع مقدار مثبــت یک و بر عکس. برای کلید های سمت چپ و راست نیز به همین صورت در صورتی که کلید سمت راســت فشار داده شود، مقدار مثبت و منفی (فشار دادن کلید چپ) را بر می گردد.

🔸 از تابع Input.Axis در کد نویسی بســـیار استفاده می شود، لطفا این اسکریپت را کامل مشــاهده کنید، تا با این دستور آشـــنا شوید.

پارامـــتر های ورودی تابع Axis، کلمه Vertical برای بررسی کلید های بالا و پایین و Horizontal برای کلید های چپ و راست می باشد. همچنین در این اسکریپت سرعت حرکت و چرخش آبجکت نیز از ورودی دریافت می شود.
#اسکریپت_نویسی #کد_نویسی #جاوا



کانال یونیـــتی لرنیــنگ
@UnityLearning