Unity Learning
GetOnClickObject_@UnityLearning.mkv
#توضیحات فیلم آموزشی
[سطح #آموزش: #متوسط]
⭕️ بدست آوردن آبجکتی که کاربر روی آن با اشاره گر ماوس کلیک می کند.
👈 با استفاده از دستور ScreenPointToRay از #کامپوننت دوربین فعال در بازی، می توان یک Ray (ماهیتی مانند لیزر که برای اعمالی مثل تیر اندازی از آن استفاده می کردیم) را بر اساس صفحه نمایش (Screen) ساخت که در پارامتر ورودی خود جهت این Ray درخواست می شود. همانطور که در فیلم آموزشی مشاهده می شود، می خواهیم آبجکتی که اشاره گر ماوس روی آن است، بدست آید، پس از جهت قرار گیری ماوس (mousePosition) نسبت به صفحه استفاده می شود. به طور کلی دستور زیر یک لیزر را بر اساس آنچه در صفحه نمایش داده شده است، از مبدا به سمت محل قرارگیری ماوس تعریف و سپس در دستور بعدی (با استفاده از #کلاس Physics) ارسال می کند.
Ray ray = Camera.main.ScreenPointToRay( Input.mousePosition );
RaycastHit hit;
if( Physics.Raycast( ray, out hit, 100 ) ) {...
🔹 متغیر hit نیز برای محاسبه محل برخورد لیزر (ray) با اجسام دیگر تعریف و در دستور Physics مقدار دهی می شود.
🔸 روش دیگر برای بدست آوردن آبجکتی که روی آن کلیک می شود، استفاده از رویدادهای ماوس است. رویدادهایی مثل OnMouseUp و OnMouseDown که در زمانی که اشاره گر ماوس روی آبجکت کلیک می کند، اجرا می شوند.
@UnityLearning
[سطح #آموزش: #متوسط]
⭕️ بدست آوردن آبجکتی که کاربر روی آن با اشاره گر ماوس کلیک می کند.
👈 با استفاده از دستور ScreenPointToRay از #کامپوننت دوربین فعال در بازی، می توان یک Ray (ماهیتی مانند لیزر که برای اعمالی مثل تیر اندازی از آن استفاده می کردیم) را بر اساس صفحه نمایش (Screen) ساخت که در پارامتر ورودی خود جهت این Ray درخواست می شود. همانطور که در فیلم آموزشی مشاهده می شود، می خواهیم آبجکتی که اشاره گر ماوس روی آن است، بدست آید، پس از جهت قرار گیری ماوس (mousePosition) نسبت به صفحه استفاده می شود. به طور کلی دستور زیر یک لیزر را بر اساس آنچه در صفحه نمایش داده شده است، از مبدا به سمت محل قرارگیری ماوس تعریف و سپس در دستور بعدی (با استفاده از #کلاس Physics) ارسال می کند.
Ray ray = Camera.main.ScreenPointToRay( Input.mousePosition );
RaycastHit hit;
if( Physics.Raycast( ray, out hit, 100 ) ) {...
🔹 متغیر hit نیز برای محاسبه محل برخورد لیزر (ray) با اجسام دیگر تعریف و در دستور Physics مقدار دهی می شود.
🔸 روش دیگر برای بدست آوردن آبجکتی که روی آن کلیک می شود، استفاده از رویدادهای ماوس است. رویدادهایی مثل OnMouseUp و OnMouseDown که در زمانی که اشاره گر ماوس روی آبجکت کلیک می کند، اجرا می شوند.
@UnityLearning
Unity Learning
VisualStudio2017_Unity2018.1.3_@UnityLearning.mkv
UnityDownloadAssistant-2018.1.3f1.exe
777.1 KB
⭕️ #دانلود UnityDownloadAssistant 2018.1.3 به منظور دسترسی کامل به کلیه فایل ها و ماژول های لازم برای یونیتی و دانلود Visual Studio Community 2017 که در فیلم آموزشی بیان گردید.
@UnityLearning
@UnityLearning
Screenshot.mkv
50.8 MB
🎦 #فیلم #آموزش گرفتن اسکرین شات از محیط بازی و نمایش آن به عنوان #تکسچر روی یک #آبجکت خاص (مثلاً Quad)
🔹 استفاده از دستورات کلاس ScreenCapture برای ذخیرۀ اسکرین شات از محیط بازی
@UnityLearning
🔹 استفاده از دستورات کلاس ScreenCapture برای ذخیرۀ اسکرین شات از محیط بازی
@UnityLearning
Unity Learning
Screenshot.mkv
Screenshot.cs
522 B
📋 اسکریپت نوشته شده در فیلم آموزشی مربوط به «گرفتن اسکرین شات از صفحه بازی»
⭐️ با زدن کلید F5 اسکرین شات در آبجکت نمایش داده می شود و با F6 نیز در یک فایل در مسیر بازی ذخیره می شود.
@UnityLearning
⭐️ با زدن کلید F5 اسکرین شات در آبجکت نمایش داده می شود و با F6 نیز در یک فایل در مسیر بازی ذخیره می شود.
@UnityLearning
AddComponent_@UnityLearning.mkv
72.1 MB
🎦 #فیلم #آموزش استفاده از دستور AddComponent برای اضافه کردن یک #کامپوننت خاص در زمان اجرای بازی (Run-Time)
🔸 اضافه کردن اسکریپت به آبجکت از طریق این دستور در کدنویسی امکان پذیر است.
@UnityLearing
🔸 اضافه کردن اسکریپت به آبجکت از طریق این دستور در کدنویسی امکان پذیر است.
@UnityLearing
On_Mouse_Event_@UnityLearning.mkv
90.3 MB
🎦 #فیلم #آموزش جامع و کامل کلیه توابع ماوس در یونیتی
🔸 انحام عمل خاص (تغییر رنگ) در تمامی توابع مربوط به ماوس OnMouse... در #یونیتی به صورت کامل برای آبجکتی که کد به آن متصل می شود.
@UnityLearning
🔸 انحام عمل خاص (تغییر رنگ) در تمامی توابع مربوط به ماوس OnMouse... در #یونیتی به صورت کامل برای آبجکتی که کد به آن متصل می شود.
@UnityLearning
OnMouse.cs
1 KB
📋 اسکریپت آماده نوشته شده در فیلم «آموزش جامع توابع OnMouse» در #یونیتی
🔹 تغییر رنگ آبجکت در حالت مختلفی که با ماوس برای آن رخ خواهد داد. مثل کلیک شدن روی آبجکت و...
@UnityLearning
🔹 تغییر رنگ آبجکت در حالت مختلفی که با ماوس برای آن رخ خواهد داد. مثل کلیک شدن روی آبجکت و...
@UnityLearning
Invoke.mkv
19.5 MB
🎦 #فیلم #آموزش استفاده از دستور Invoke برای ایجاد تاخیر زمانی در اجرای دستورات یک تابع
👈 دستور Invoke قابلیت اجرا در توابعی که دائماً در حال اجرا نیستند را دارد.
@UnityLearning
👈 دستور Invoke قابلیت اجرا در توابعی که دائماً در حال اجرا نیستند را دارد.
@UnityLearning
بردارها.pdf
214 KB
📋 #آموزش در رابطه با بردارها و اعمال مختلفی که می توان در یونیتی روی آنها انجام داد. (چهار عمل اصلی)
🔹 بررسی نتیجۀ اِعمال چهار عمل اصلی (*/-+) روی بردارها و اعداد و خروجی آنها
@UnityLearning
🔹 بررسی نتیجۀ اِعمال چهار عمل اصلی (*/-+) روی بردارها و اعداد و خروجی آنها
@UnityLearning
Move_Rotation.cs
918 B
📋 اسکریپت آماده برای چرخش یک #آبجکت دارای Rigidbody در جهت خاص و با دستور MoveRotation
🔹 محاسبه بردار چرخش با دستور Euler از کلاس Quaternion
@UnityLearning
🔹 محاسبه بردار چرخش با دستور Euler از کلاس Quaternion
@UnityLearning
Move_Position.cs
358 B
📋 اسکریپت آماده جهت حرکت آبجکت های دارای Rigidbody به سمت روبرو (forward) با استفاده از دستور MovePosition
🔸 این دستور موقعیت مکانی یک #آبجکت را به صورت نرم از مکان جاری به سمت مقصد حرکت می دهد.
🔸 این دستور موقعیت مکانی یک #آبجکت را به صورت نرم از مکان جاری به سمت مقصد حرکت می دهد.
📸 همایش Unite Berlin «جایی که بازی سازان موتور یونیتی دور هم جمع می شوند»
🔹 مراسم سالانه Unite امسال در برلین آلمان برگزار گردید.
@UnityLearning
🔹 مراسم سالانه Unite امسال در برلین آلمان برگزار گردید.
@UnityLearning
Audio
🎙 معرفی اولیۀ «موتور بازی سازی یونیتی» مناسب برای افرادی که جدیداً به کانال می پیوندند و قصد انتخاب موتور بازی سازی برای یادگیری و استفاده را دارند.
@UnityLearning
@UnityLearning
Camera_Zoom_@UnityLearning.mkv
129.3 MB
🎦 #فیلم #آموزش استفاده از پارامترهای Field of view و Clipping Plan در #یونیتی
👈 زوم کردن و نمایش محدودۀ خاصی از محیط بازی وظیفه این دو پارامتر است.
@UnityLearning
👈 زوم کردن و نمایش محدودۀ خاصی از محیط بازی وظیفه این دو پارامتر است.
@UnityLearning
Errors.mkv
52.2 MB
🎦 #فیلم #آموزش نحوۀ بررسی خطاها در یونیتی
🔹 انواع خطاهای دستوری و کامپایلری در #یونیتی
🔸 چگونگی برخورد کامپایلر یونیتی با خطاها
@UnityLearning
🔹 انواع خطاهای دستوری و کامپایلری در #یونیتی
🔸 چگونگی برخورد کامپایلر یونیتی با خطاها
@UnityLearning
⭕️ چند #ترفند برای ساخت بازی با موتـــور یونیتی
🔹 همیشه سعی کنید Empty GameObjectها را بر اساس عملکردی که دارند، نام گذاری کنید، این کار باعث پیدا کردن سریع آنها در بین سایر آبجکت ها می شود.
🔹 در صورتی که موقعیت مکانی یک Empty GameObject
مهم نیست، همیشه آن را در موقعیت 0,0,0
قرار دهید، این کار باعث عملکرد بهتر اجرای بازی خواهد شد.
🔹 همواره استفاده از آبجکت های GUI را به حداقل برسانید و سعی کنید با شرط های صحیح نمایش دایمی آنها را کنترل کنید.
🔹 تا حد امکان موقعیت مکانی سطح بازی خود (مثلاً Terrain) را روی y=0 قرار دهید، این یعنی سعی کنید، محیط بازی خود را نسبت به محور عمودی روی صفر تنظیم نمایید و از تغییر آن بپرهیزید.
🔹 قبل از استفاده از #آبجکت هایی که به اسکریپت معرفی می شوند، همواره وجود آنها را چک کنید. مثلاً مانند حالت زیر/🔻
myObject = FindMyObjectInScene();
if (myObjet == null)
👈البته همین کار را برای کلیۀ پارامترهای معرفی شده به اسکریپت (مثل #کامپوننت ها و...) انجام دهید، این کار خطاهای اجرایی بازی را کاهش می دهد.
✅ همواره سعی می کنیم، بهترین ترفندها و نکات خاص بازی سازی را با هشتگ #ترفند در کانال قرار دهیم و این کار همیشه ادامه خواهد داشت.
@UnityLearning
🔹 همیشه سعی کنید Empty GameObjectها را بر اساس عملکردی که دارند، نام گذاری کنید، این کار باعث پیدا کردن سریع آنها در بین سایر آبجکت ها می شود.
🔹 در صورتی که موقعیت مکانی یک Empty GameObject
مهم نیست، همیشه آن را در موقعیت 0,0,0
قرار دهید، این کار باعث عملکرد بهتر اجرای بازی خواهد شد.
🔹 همواره استفاده از آبجکت های GUI را به حداقل برسانید و سعی کنید با شرط های صحیح نمایش دایمی آنها را کنترل کنید.
🔹 تا حد امکان موقعیت مکانی سطح بازی خود (مثلاً Terrain) را روی y=0 قرار دهید، این یعنی سعی کنید، محیط بازی خود را نسبت به محور عمودی روی صفر تنظیم نمایید و از تغییر آن بپرهیزید.
🔹 قبل از استفاده از #آبجکت هایی که به اسکریپت معرفی می شوند، همواره وجود آنها را چک کنید. مثلاً مانند حالت زیر/🔻
myObject = FindMyObjectInScene();
if (myObjet == null)
👈البته همین کار را برای کلیۀ پارامترهای معرفی شده به اسکریپت (مثل #کامپوننت ها و...) انجام دهید، این کار خطاهای اجرایی بازی را کاهش می دهد.
✅ همواره سعی می کنیم، بهترین ترفندها و نکات خاص بازی سازی را با هشتگ #ترفند در کانال قرار دهیم و این کار همیشه ادامه خواهد داشت.
@UnityLearning
This media is not supported in your browser
VIEW IN TELEGRAM
Bomberman HowTo - Final Project_(@UnityLearning).7z
16.1 MB
⭕️ #پروژه کامل بازی معروف Bomber-man به همراه کلیۀ اسکریپت ها، محیط بازی و...
👈 آماده برای استفاده در #یونیتی 2018.1
📍محیط سادۀ بازی در پوشۀ Scene قرار دارد.
@UnityLearning
👈 آماده برای استفاده در #یونیتی 2018.1
📍محیط سادۀ بازی در پوشۀ Scene قرار دارد.
@UnityLearning
PlayClipAtPoint.mkv
25.1 MB
🎦 #فیلم #آموزش پخش صدا در یک نقطه خاص از بازی به صورت سه بعدی بدون استفاده از گیم آبجکت خاص و با استفاده از #کلاس AudioSource
@UnityLearning
@UnityLearning
#توضیحات #فیلم
🔹 همانطور که می دانید در یونیتی امکان دستیابی به تنظیمات مربوط به پخش صدای سه بعدی وجود دارد. هر گیم آبجکت می تواند پخش کنندۀ یک صدا از محلی که در آن قرار دارد، باشد. اما گاهی لازم است، بازی ساز بتواند بدون اینکه در یک نقطه گیم آبجکت خاصی داشته باشد، صدایی از سمت آن به صورت سه بعدی پخش کند. برای اینکار می توان از دستور PlayClipAtPoint که از توابع #کلاس AudioSource می باشد، استفاده کرد.
👈 این دستور دو پارامتر کلی دارد، پارامتر اول از نوع AudioClip بوده و صدایی است که قصد پخش آن را داریم و پارامتر دوم نیز موقعیتی است که می خواهیم صدا از آنجا پخش شود (از نوع Vector3) که می توانیم آن ها را با مقادیر مناسب مقدار دهی نماییم و زمانی که دستور را صدا زنیم، صوت مورد نظر از آن مکان پخش خواهد شد.
AudioSource.PlayClipAtPoint(AudioClip,Position);
@UnityLearning
🔹 همانطور که می دانید در یونیتی امکان دستیابی به تنظیمات مربوط به پخش صدای سه بعدی وجود دارد. هر گیم آبجکت می تواند پخش کنندۀ یک صدا از محلی که در آن قرار دارد، باشد. اما گاهی لازم است، بازی ساز بتواند بدون اینکه در یک نقطه گیم آبجکت خاصی داشته باشد، صدایی از سمت آن به صورت سه بعدی پخش کند. برای اینکار می توان از دستور PlayClipAtPoint که از توابع #کلاس AudioSource می باشد، استفاده کرد.
👈 این دستور دو پارامتر کلی دارد، پارامتر اول از نوع AudioClip بوده و صدایی است که قصد پخش آن را داریم و پارامتر دوم نیز موقعیتی است که می خواهیم صدا از آنجا پخش شود (از نوع Vector3) که می توانیم آن ها را با مقادیر مناسب مقدار دهی نماییم و زمانی که دستور را صدا زنیم، صوت مورد نظر از آن مکان پخش خواهد شد.
AudioSource.PlayClipAtPoint(AudioClip,Position);
@UnityLearning
Random_Position.mkv
117.9 MB
🎦 #فیلم #آموزش ساخت #آبجکت ها در موقعیت های مکانی تصادفی
🔹 ایجاد یک آبجکت به تعداد دلخواه و در یک زمان خاص در موقعیت های مکانی رندوم
@UnityLearning
🔹 ایجاد یک آبجکت به تعداد دلخواه و در یک زمان خاص در موقعیت های مکانی رندوم
@UnityLearning