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
⭕️ جدا سازی فرزندان یک Transform

🔹همانطور که می دانید، یک Transform می تواند چندین آبجکت و یا زیر آبجکت به عنوان بچه داشته باشد. در صورتی که لازم باشد می توانید با دستور DetachChildren این آبجکت ها را از پدرشان جدا کرد. در واقع اتحادی که بین آبجکت های بچه و آبجکت پدر وجود دارد شکسته می شود و در واقع آنها از یک دیگر جدا می شوند.

transform.DetachChildren();

دستور فوق کلیه آبجکت های بچۀ آبجکتی که کد به آن متصل شده است را جدا می کند. از دستور DetachChildren برای هر Transfom خاصی می توان استفاده کرد.

به کانال یونیتی لرنینگ
بپیــــــــــــوندید /🔻
@UnityLearning
⭕️ آبجکت کامل محیط اتاق قدیمی

🔹 با کیفیت کارتونی به صورت آماده برای استفاده به عنوان یکی از اتاق های خانه

🔻دانلود در پست بعدی🔻
van_gogh_room.zip
40.5 MB
⭕️ #دانلود #آبجکت اتاق کارتونی

🔹به همراه تکسچر ها

📍یک فایل زیپ دیگر در این فایل وجود دارد که برای استفاده باید آن را Extract کنید.

به کانال یونیتی لرنینگ
بپیوندید /🔻
@UnityLearning
⭕️ انتشار نور از یک آبجکت

🔆 در صورتی که آبجکتی مثل چراغ قوه، چراغ ماشین ، لامپ خیابان و... داشته باشید و بخواهید از خود نوری منتشر کند، بجای استفاده از آبجکت های Point Light و... می توانید تنها به آن آبجکت #کامپوننت Light بدهید. این کامپوننت کلیه تنظیمات لازم را در خود داراست و می توانید همه آنها را در دست داشته باشید. پارامتر مهم Range یا محدوه ای است که کامپوننت روی آن نور می اندازد.

برای استفاده از این کامپوننت از مسیر زیر استفاده کنید و کامپوننت مذکور را به آبجکت مورد نظر اضافه کنید. /🔻
Component > Rendering >Light

🔹با اضافه شدن این کامپوننت آبجکت شما مانند یک لامپ از خود نور منتشر می کند.

به کانال یونیتی لرنینگ
بپیوندید /🔻
@UnityLearning
⭕️ کامپوننت Light برای تبدیل یک آبجکت به منتشر کننده نور در یونیتی

به کانال یونیتی لرنینگ
بپیــــــــوندید /🔻
@UnityLearning
⭕️ کامپوننت Projector

🔸 در یونیتی در صورتی که بخواهید یک Material تنها روی بخش هایی از یک یا چند آبجکت اعمال شود، می توانید از کامپوننت Projector استفاده کنید. عملکرد این کامپوننت به این شکل است که یک Material (به عنوان مثال یک #تکسچر) را روی آبجکت های مختلف اعمال می کند، این اعمال به صورت یک Video Projector که یک فیلم را روی پرده و اشیای مقابلش پخش می کند، است. به همین علت به این کامپوننت Projector گفته می شود.

🔹 آبجکتی که این کاپوننت را به آن می دهید به عنوان پخش کنندۀ Material در نظر گرفته می شود، بنابراین بهتر است آنرا روی یک GameObject خالی قرار دهید و یا از Prefabها آماده ای که انواع پکیج ها ارائه می کنند استفاده کنید. در نسخه های جدید Standard Asset این Prefabها به طور پیش فرض موجود است. در تصویر پست بعد از پکیج خاصی که این Prefabها در آن بوده است استفاده شده است. (اما استفاده از Prefab به هیچ وجه لازم و ضروری نیست! و شما به راحتی با اضافه کردن یک Material (مثل یک تکسچر) و یک کامپوننت Projector از مسیر زیر می توانید یک آبجکت کامل برای این کار بسازید./🔻

Component>Effects>Projector

⚙️ تنظیمات این کامپوننت نیز بسیار آسان بوده و شبیه به تنظیمات Camera در یونیتی است. شما به وسیلۀ گزینۀ Orthographic می توانید سایز نمایش تکسچر تغییر دهید.

به کانال یونیتی لرنینگ
بپـــــــــــــــــیوندید/🔻
@UnityLearning
Media is too big
VIEW IN TELEGRAM
Unity: Introduction to Projectors

🎥 #فیلم آموزشی برای Projectها در یونیتی از youtube

مدت فیلم 9 دقیقه با کیفیت HD

@UnityLearning
Bow.js
1.9 KB
⭕️ اسکریپت آماده برای تیر اندازی با کمان به #درخواست شما

این اسکریپت بر اساس نام آبجکت ها و نام انیمیشن ها کار می کنند بنابراین باید آنها را بازی خود تنظیم کنید.

@UnityLearning
⭕️ بررسی اجرای یک انیمیشن خاص

🔹همانطور که می دانید در یونیتی انیمیشن ها به وسیله #کلاس animation انجام می شود، در این کلاس شما به تمام ویژگی های لازم برای استفاده از انیمیشن های یک آبجکت دسترسی خواهید داشت.

🔸گاهی اوقات لازم است بررسی شود، آیا یک انیمیشن خاص از یک آبجکت هم اکنون در حال اجرا است یا خیر؟ برای این منظور از پارامتر IsPlaying از کامپوننت animation استفاده می شود و شکل کلی آن به شکل زیر است. /🔻
anim.IsPlaying("AnmName")

📍خروجی دستور بالا اگر انیمیشن با نام AnmName در حال اجرا باشد true خواهد بود و در غیر این صورت false می شود.

🔹پارامتر anim همان #کامپوننت انیمیشن از آبجکت مورد نظر است/🔻
anim = GetComponent.<Animation> ();

به کانال یونیتی لرنینگ
بپیـــــــوندید/🔻
@UnityLearning
⭕️ دستور anyKey در کلاس Input

🔸در کلاس input برای اینکه بخواهیم بررسی کنیم، یک کلید (هر کلیدی چه از کیبورد و چه از ماوس) فشار داده شده است یا خیر می توان از دستور anyKey استفاده کرد. خروجی این دستور از کلاس Input زمانی true است که هر کلیدی از صفحه کلیدی یا ماوس فشار داده شود و کاربرد آن زمانی است که مثلا به کاربر می گویید برای ادامه یک کلید را فشار دهد. /🔻
if(Input.anyKey)

شرط بالا را می توان در توابعی که دائما در حال اجرا هستند (مثل Update) استفاده کرد.

به کانال یونیتی لرنینگ
بپیوندید /🔻
@UnityLearning
Unity_HotKeys_Win.pdf
54.4 KB
⭕️ لیست کاملی از کلیدهای میانبر یونیتی در پلتفرم ویندوز و مک

🔸تفکیک شده بر اساس منوها

به کانال یونیتی لرنینگ
بپیـــــــــــــــوندید/🔻
@UnityLearning
⭕️ #آبجکت Particle System در یونیتی

🔸در مورد این نوع آبجکت ها قبلا در کانال توضیحاتی داده شد. در این پست به صورت تکمیلی مطالب را بیان می کنیم. این آبجکت ها از نظر نوع با GameObject ها متفاوت هستند آنها برای نمایش یک Material به صورت تکه تکه در یونیتی استفاده می شوند. اعمال خاصی که پخش متوالی دارند (مثل آتش Muzzleflash در اسلحه یا خود حرکت سوختن آتش) در یونیتی به کمک این کامپوننت اجرا می شوند.

🔹 ساده ترین حالت از آن به صورت یک Prefab از منوی GameObject قابل دسترسی است. بعد از اضافه شدن آبجکت Partice System به محیط بازی خواهید دید یک حالت نور افشانی شکل در محیط بازی قرار می گیرد. این آبجکت همان تکسچری را که به آن برای نمایش بدهید، به این نحو نمایش می دهد. (به صورت تکه تکه و حالت بارشی) - اعمالی مثل بارش برف در یونیتی دقیقاً به کمک همین #کامپوننت انجام می پذیرد.

@UnityLearning
⭕️ #آبجکت و #کامپوننت Particle System در یونیتی

🔸در محیط Scene برای نمایش ظاهر بهتر یک تکسچر ساده به آبجکت داده شده است.

@UnityLearning
This media is not supported in your browser
VIEW IN TELEGRAM
⭕️ یک Particle System که برای شبیه سازی سوختن در یونیتی ساخته شده است.

🔹تکسچر های مربوط به Particle System خاص هستند و می‌توان از آنها برای ساخت برف، پاشیده شدن خون، آتش و... استفاده کرد.
⭕️ مدیریت دانلود از سرورهای پروتکل HTTP

🔸در یونیتی کلاسی خاص برای مدیریت دانلود از پروتکل HTTP وجود دارد، تا هم بتواند جزییات بیشتری را در اختیار بگذارد و هم نسبت به برخی تنظیمات دست برنامه نویس را بازتر کند.

🔹کلاس DownloadHandler که یک زیر کلاس از کتابخانۀ UnityEngine.Networking در یونیتی است به این منظور ساخته شده است. برخی دستورات آن مانند دستورات کلاس Network است که قبلاً آنها را بررسی کرده ایم، این دستورات در اینجا فقط مربوط به پروتکل HTTPS می باشد و پروتکل های دیگر را پوشش نمی دهند.

به طور مثل می توان با دستور GetData که خروجی آن از نوع Byte است اطلاعات یک URL اینترنتی از نوع پروتکل HTTP را دریافت کرد.

📍 بنابراین دقت کنید این کلاس برای ساخت بازی های شبکه ای استفاده نمی شود و فقط برای اتصال به سرورهای HTTP که در بستر اینترنت هستند کاربرد دارد. ضمناً همانطور که بیان شد برای استفاده از این کلاس باید کتابخانۀ Networking را به اسکریپت خود using یا import کنید.


به کانال یونیتی لرنینگ
بپـــــــــــــیوندید/🔻
@UnityLearning
Unity Learning
fire_Texture_@unitylearning.zip
👆به کمک این #تکسچر ها و استفاده از Particle System می توانید یک آتش به شکلی که نیاز دارید در بازی بسازید. کافی است تکسچر مناسبی (مثل پست بالا) به آبجکت بدهید و تنظیمات آن را انجام دهید، سپس با تغییر مشخصاتی مثل Start Speed و.... یک آتش به صورتی که در بازی نیاز دارید بسازید و از آن یک Prefab بسازید.

🔹ضمنا هر گاه خواستید یک Particle System را قطع کنید (حالت پخش آن را قطع کنید) از دستور Emmit آن کمک بگیرید. همچنین در یونیتی 5 به بعد دستور Play نیز برای این کار افزوده شده است. /🔻
system.Play();

🔸دستور فوق با فرض این است که متغیر system از نوع ParticleSystem تعریف شده باشد، مثلاً تعریف برای #سی_شارپ /🔻
public ParticleSystem system;

بــه کانال یونیتی لرنینگ
بپیــــــوندید /🔻
@UnityLearning
⭕️ چرخش یک GameObject

🔹همانطور که می دانید یکی از بهترین دستورات برای چرخش در یونیتی تابع Rotate است. قبلاً به طور کامل آن را توضیح داده ایم. اما باید دقت کرد دستور Rotate مربوط به کلاس Transform است و برای یک GameObject وجود ندارد. یعنی نمی توان برای یک GameObject دستور Rotate را فرخوانی کرد و در این صورت با خطای دستور Rotate مربوط به کلاس GameObject نیست! مواجه می شویم. راه حل این موضوع استفاده از دستور transform بین این دو می باشد. از آنجایی که دستور transform زمانی که از یک GameObject صدا زده شود معادل Transformیی می باشد که GameObject به آن متصل شده است، این مشکل با این کار حل می شود. اگر GO یک GameObject باشد دستور زیر باعث چرخش آن می شود (البته پارامتر های تابع Rotate را خودتان باید وارد کنید_که قبلاً مفصل توضیح داده شده است) /🔻
GO.transform.Rotate(.....);

🔸برای دستورات دیگری مثل position - rotation - Translate و .... نیز که مربوط به کلاس Transform هستند نیز می توان از همین کار استفاده کرد و برنامه نویسی را تکمیل کرد.

به کانال یونیتی لرنینگ
بپــــــــــــــــیوندید/🔻
@UnityLearning
UnityDecompiled_Completed_By@UnityLearning.zip
3.6 MB
⭕️ تمامی کلاس های یونیتی به صورت OpenSource آخرین آپدیت 2017

🔹در این فایل زیپ سورس تمامی کلاس های یونیتی به صورت کامل قرار گرفته است.

👈کاری از یونیتی لرنینگ
👉 @UnityLearning