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
Audio
⭕️ #دانلود #صدا ی وزش باد با قابلیت Loop

به #درخواست شما

به طور مثال برای صدای پس زمینه مناطقی برفی یا شب

به کانال یونیتی لرنینگ
بپیــــــــوندید /🔻
@UnityLearning
Unity Learning
⭕️ #دانلود #صدا ی وزش باد با قابلیت Loop به #درخواست شما به طور مثال برای صدای پس زمینه مناطقی برفی یا شب به کانال یونیتی لرنینگ بپیــــــــوندید /🔻 @UnityLearning
🔸برای استفاده از #صدا های پس زمینه ای مثل باد سعی کنید یک Game Object خالی در مقابل کاراکتر خود قرار دهید و صدای باد را به آن بدهید تا بازی طبیعی تر جلوه کند. چون اگر این صدا را به همان کاراکتر در حال بازی کردن (#کامپوننت Audio Source متصل به پلیر| دقیقاً همانجایی که Audio Listener وجود دارد) این صدا طبیعی نخواهد بود چون صدا باد درست است که همه جا وجود دارد اما باید کمی با بازیکن فاصله داشته باشد.

🔹سپس این GameObject را به بازیکن خود (مثلاً FPSController) بدهید تا همراه با حرکت کند. صداهای دیگر مثل آهنگ ها که برای پس زمینه استفاده می شوند با پخش در محل Player مشکلی ایجاد نمی کنند، تنها کافی است Volume آنها را درست و پایین تر از صداهای عادی بازی تنظیم کرد.

🎵 البته توصیه ما این است که برای صداهایی مثل صدای باد از صداهای با طول بیشتر ولی با قابلیت Loop استفاده کنید. این قابلیت باعث می شود، بازیکن نهایی(کاربر) متوجه اتمام و شروع مجدد صدا نشود، یعنی ابتدا و انتهای صدا به هم مرتبط است.

به کانال آموزشی
یونیتی لرنینگ بپیوندید/🔻
@UnityLearning
This media is not supported in your browser
VIEW IN TELEGRAM
⭕️ نحوه ی Assign کردن (مقدار دهی) پارامتر Audio Clip برای پارامتر Audio Source یا اسکریپت های دارای متغیر از این نوع (تعریف شده به شکل زیر /🔻 در ابتدای اسکریپت)

var clip:AudioClip;

@UnityLearning
Unity Learning
⭕️ نحوه ی Assign کردن (مقدار دهی) پارامتر Audio Clip برای پارامتر Audio Source یا اسکریپت های دارای متغیر از این نوع (تعریف شده به شکل زیر /🔻 در ابتدای اسکریپت) var clip:AudioClip; @UnityLearning
⭕️ نکاتی در رابطه با Assign کردن یا مقدار دهی برخی پارامتر ها در یونیتی

🔸همانطور که می دانید در یونیتی برخی کامپوننت ها و یا اسکریپت هایی که نوشته می شود، نیاز به مقدار دهی برخی پارامتر هایشان دارند. مثلاً پارامتر AudioClip در #کامپوننت AudioSource که برای معرفی صدایی که قرار است این کامپوننت پخش کند، مقدار دهی می شود. بنابراین می توان گفت مقدار دهی ها (به اصطلاح Assign ) معرفی یک Asset به کامپوننت است (توجه کنید که اسکریپت ها نیز یک کامپوننت هستند)

🔹 در یونیتی مقدار دهی فقط با آبجکت یا Asset متناظر انجام می شود، یعنی شما نمی توانید مثلاً یک Game Object به یک پارامتر از نوع Audio Clip بدهید.

▫️ نحوه مقدار دهی در یونیتی نیز با دِرَگ کردن و یا انتخاب دایره کنار پارامتر صورت می گیرد که روش اول آسان تر است.

👌 دِرَگ کردن در یونیتی از پنجره های Project و Hierarchy به Inspector قابل انجام است یعنی شما Asset مورد نظر را از یکی از این پنجره ها گرفته و به پارامتر معادل می دهید. اما حالتی هم برای درَگ کردن از پنجره Inspector به خودش است و آن تنها برای مقدار دهی متغیرهایی از نوع کامپوننت است. زمانی که یک متغیر از نوع یک کامپوننت تعریف کردید و لازم است آن را مقدار دهی کنید یکی از روش ها درگ کردن آن کامپوننت روی پارامتـــــر تعریف شده است.

🔹به کانال یونــــیتی لرنینگ
بپیـــــــوندید /🔻
@UnityLearning
This media is not supported in your browser
VIEW IN TELEGRAM
مقدار دهی پارامتر های آرایه ای در یونیتی

هم از پنجره Hierarchy و هم از پنجره Project

اگر آبجکت را روی نام پارامتر بکشید ، خودکار به آخرین عضو آرایه اضافه می‌شود و نیازی به تغییر گزینه Size نیست.
This media is not supported in your browser
VIEW IN TELEGRAM
⭕️ #دانلود #کاراکتر_سوم_شخص به صورت پروژه کامل

آماده جهت استفاده در پروژه اصلی با قابلیت های کامل (حرکت، پرش، حرکت دوربین با ماوس و...)

🔻در پست بعدی دانلود کنید🔻
ThirdPersonController@UnityLearning.zip
10.9 MB
⭕️ #پروژه کامل کاراکتر سوم شخص با کیفیت بسیار عالی

🔸قابلیت های حرکت، چرخش، جابجایی دوربین با دوربین، حرکت آرام و...

📎 این فایل به صورت یک پروژه یونیتی در یک فایل zip فشرده شده

@UnityLearning
MouseLook.js
411 B
⭕️ اسکریپت آماده جابجایی دوربین با ماوس

حالت دیدن و چرخش دوربین به وسیله حرکت ماوس

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

@UnityLearning
Unity Learning
MouseLook.js
⭕️ استفاده از جهات حرکتی ماوس در یونیتی

🔹قبلاً در مورد بررسی رویدادهای ماوس و آنچه برای بررسی محل حرکت ماوس (در فضای دو بعدی که ماوس جابجا می شود) مطالبی بیان کرده بودیم. در این پست دستور Input.GetAxis برای این کار بررسی می شود.

🔸 همانطور که می دانید این تابع (GetAxis) از کلاس Input برای بررسی ورودی های جهتی (مثل دکمه های جهتی کیبرد، دسته بازی، کنسول های بازی|فرمان و...) استفاده می شود. یکی از دیگر از ورودی هایی که با تغییر جهات کار می کند، ماوس است و این تابع نیز از آن پشتیبانی می کند. اما پارامتر ورودی برای بررسی جهت حرکتی ماوس با پارامتر های قبلی (Vertical و Horizontal) متفاوت است.

📍یادآوری: قبلاً برای بررسی جهات عمودی (بالا و پایین) از دستور زیر استفاده می کردیم و خروجی این دستور اگر کاربر جهت بالا را فشار داده بود +1 و اگر جهت پایین انتخاب شده بود -1 است و در هیچ کدام از حالات قبل خروجی دستور 0 بود، بنابراین با ضرب این عدد در جهت می توانستیم بردار حرکتی را محاسبه کنیم ./🔻
Input.GetAxis ("Vertical")

* مشابه آنچه گفته شد نیز برای سمت چپ و راست نیز با دستور زیر امکان پذیر است /🔻
Input.GetAxis ("Horizontal")

🔸 مانند آنچه بیان شد، در یونیتی، برای بررسی جهت حرکت ماوس نیز دستوراتی وجود دارد. خروجی دستور زیر (که در اسکریپت هم موجود است) در صورت حرکت عمودی ماوس معادل قبل است. (اگــر ماوس به سمت بالا برود خروجی +1 و....) /🔻
Input.GetAxis ("Mouse Y");

و همچنین برای جهت حرکت چپ و راست نیز دستور به شکل زیر است /🔻
Input.GetAxis ("Mouse X")

(خروجی دستور : +1 برای حرکت به سمت راست، 0 برای ثابت بودن در آن جهت و -1 برای حرکت به سمت چپ)

🔘بنابراین مانند قبل برای حرکت آبجکت ها با ماوس نیز می توان به راحتی از دستورات فوق استفاده کرد و برنامه نویسی را بسیار کاهش داد.

به کانال یونیتی لرنینگ
بپیــــــــوندید /🔻
@UnityLearning
Unity Learning
⭕️ استفاده از جهات حرکتی ماوس در یونیتی 🔹قبلاً در مورد بررسی رویدادهای ماوس و آنچه برای بررسی محل حرکت ماوس (در فضای دو بعدی که ماوس جابجا می شود) مطالبی بیان کرده بودیم. در این پست دستور Input.GetAxis برای این کار بررسی می شود. 🔸 همانطور که می دانید این…
⭕️پنجره Input Manager برای پارامتر Mouse X

اگر به هر دلیل این پارامتر(Mouse X) در این پنجره را ندارید، باید بعد از اضافه کردن یک سطر جدید آن را دقیقا با همین نام و مشخصات (طبق تصویر 👆) اضافه کنید.
⭕️ اجرای یک اسکریپت در زمان طراحی بازی (Edit Mode)

🔹 همانطور که می دانید به طور پیش فرض اسکریپت های یونیتی تنها در حالت اجرای بازی Play Mode اجرا می‌شوند (غیر از برخی توابع که عملکرد آنها روی حالت Edit Mode است)

🔸 اما گاهی برنامه نویس نیاز دارد کدی که می نویسد در حالت Edit Mode یعنی در زمان طراحی اجرا شود. با نوشتن پارامتر زیر در ابتدای اسکریپت شما کاری می‌کنید که این اسکریپت برای آبجکت(های) مورد نظر در زمان طراحی بازی اجرا شود (این کار معمولا برای تست انجام می‌شود و بسیار کاربردی است)

#جاوا اسکریپت /🔻
@script ExecuteInEditMode()

#سی_شارپ /🔻
[ExecuteInEditMode]

▫️ در سی شارپ با توجه به این که باید کلاس تعریف کنید این دستور قبل از تعریف کلاس نوشته می‌شود. /🔻
[ExecuteInEditMode]
public class......

❗️دقت کنید، این دستور باعث می‌شود این اسکریپت تنها در حالت Edit Mode اجرا شود و دیگر در زمان اجرای بازی تأثیری روی آن ندارد و اجرا نخواهد شد.


🔸به کانال یونیتی لرنینگ
بپیوندید /🔻
@UnityLearning
⭕️ جدا سازی فرزندان یک 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