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
[#توضیحات فیلم آموزشی]

⭕️ #آموزش ساخت #انیمیشن های دائمی در یونیتی

🔹 منظور از انیمیشن دائمی، اجرای همیشگی انیمیشن در بازی است (نه فقط در یک زمان خاص) که برای ساخت آن می توان از پنجرۀ Animation استفاده کرد. این پنجره به منظور تنظیم حالت اجسام در هر فریم از انیمیشن می باشد که با استفاده از دکمه Keyframe Recording [] می توان این عمل را به صورت اتوماتیک انجام داد. بعد از تکمیل تمام حالت های انیمیشن به راحتی می توان با اجرای بازی، اجرای آن انیمیشن برای #آبجکت انتخاب شده را نیز مشاهده کرد. (مطالب با جزئیات کامل در فیلم آموزشی بیان شده است)

🔸 #کامپوننت Animator اجرا کنندۀ انیمیشن ساخته شده برای آبجکت مورد نظر خواهد بود که به طور پیش فرض روی آبجکت انتخاب شده اعمال می شود.

@UnityLearning
⭕️ #نکته #برنامه_نویسی

🔹 کلمه return در هر دو زبان پشتیبانی شده در #یونیتی (#جاوا و #سی_شارپ ) باعث خروج از تابع/متد مورد نظر خواهد شد، به طوری که سایر دستورات آن اجرا نگردند. به طور مثال

if(Test)
return;
......

🔸 دستور فوق باعث می شود، در صورت مثبت بودن نتیجۀ شرط (Test) دستورات بعد از if اجرا نشده و کامپایلر از این تابع یا متد خارج شود. (دستور break در حلقه ها باعث خروج از حلقه می شود و دستور return باعث خروج از توابع خواهد شد)

@UnityLearning
📸 حرم مطهر حضرت علی بن موسی الرضا [هم اکنون] در اولین شب جمعه ماه رجب (الیله الرغائب)

🔹 از تمام کاربران عزیز در این شب عزیز التماس دعا داریم.

@UnityLearning
آموزش کنترل Slider.mkv
37.9 MB
🎦 #فیلم #آموزش کنترل Slider در #یونیتی

🔹 تنظیم ولوم پخش صدا در #کامپوننت AudioSource به کمک کنترل UI Slider

@UnityLearning
Unity Learning
آموزش کنترل Slider.mkv
📸 کنترل Slider در یونیتی برای دریافت مقادیر دقیق از کاربر مثل دریافت ولوم صدای بازی مفید است.

🔸 پارامتر Value مهمترین مشخصۀ این آبجکت و معادل مقدار انتخاب شده توسط کاربر می باشد.

@UnityLearning
نحوه_باز_کردن_پروژه_های_کاملی_که.mkv
12.3 MB
🎦 #فیلم #آموزش باز کردن #پروژه های کاملی که در کانال قرار می گیرند.

🗂 این پروژه ها یا به صورت فایل فشرده هستند یا به صورت فایل unitypackage که آموزش باز کردن در هر دو حالت بیان شده است.
کلاس اندروید در یونیتی.pdf
79.3 KB
📋 توضیحات کامل در رابطه با #کلاس AndroidInput

🔸 این کلاس در #یونیتی برای بررسی لمس دوم در اندروید به کار می رود.

@UnityLearning
آموزش_استفاده_از_دکمه_های_تکسچر.mkv
88.2 MB
🎦 #فیلم #آموزش کار با Button ها در یونیتی

🔹 ساخت UI Button ها با تکسچر خاص و همچنین انجام این کار به وسیلۀ دستور Button از #کلاس GUI

🎯 بیان عملی ِتفاوت RepeatButton و Button در یونیتی
آموزش_بررسی_لمس_صفحه_در_بازی_های.mkv
103.3 MB
🎦 #فیلم #آموزش بررسی لمس صفحه در #یونیتی به #درخواست کاربران

🔹 در این فیلم دستورات مربوط به Touch صفحه آموزش داده می شود.

@UnityLearning
🌸 میلاد با سعادت حضرت امام جواد الائمه فرزند گرامی امام رضا علیه السلام را به تمام شیفتگان ایشان تبریک و تهنیت عرض می کنیم.

@UnityLearning
[ #توضیحات فیلم آموزشی]

🔹 در این فیلم اقدام به بررسی لمس صفحه می شود. این بررسی در یونیتی به روش های مختلفی صورت می پذیرد که همگی با #کلاس Input قابل انجام هستند. مجموعه تاچ های صفحه در آرایه ای به نام touches از این کلاس قرار می گیرد که از نوع UnityEngine.Touch می باشد و می توان با دستور foreach اعضای آن را بررسی نمود. این آرایه (touches) زمانی مقداری در خود دارد که صفحه توسط کاربر بازی لمس شده باشد.

🔸 اکنون می توان به جزئیات هر کدام از تاچ ها دسترسی داشت [به فاز آنها (شروع لمس شدن، جابجایی انگشت و...) ، به موقعیت محل لمس صفحه و... ] که در فیلم آموزشی به آنها پرداخته شده است.

📍 لینک فیلم/🔻

▶️ https://t.me/UnityLearning/1780

📍لینک فایل PDF معرفی کلاس Input/🔻

▶️ https://t.me/UnityLearning/576

@UnityLearning
[#توضیحات فیلم آموزشی]

🎮 در این فیلم به بیان چگونگی و نحوۀ بررسی کلیدهای دستۀ بازی (Joystick) پرداخته خواهد شد. در زمان طراحی بازی و در محیط Editor #یونیتی دسته های بازی قابل شناسایی هستند و در زمان اتصال آنها #یونیتی در #پنجره Console پیغام مربوطه را نمایش می دهد.

🔹از نظر نوع دسته در پلتفرم (ویندوز، X-Box و PS) در #یونیتی تفاوتی وجود ندارد و مسئلۀ مهم شناسایی دقیق شمارۀ کلید مورد نظر است. برای دسترسی به کلید خاص از کلاس KeyCode می توان به سادگی استفاده کرد.

🔸 نکتۀ مهم در اینجا تفکیک شدن دسته بازی ها از یک دیگر است. شما می توانید تا 8 دسته را به صورت همزمان بررسی کنید که در فیلم آموزشی در مورد آنها مطالبی بیان شده است.

@UnityLearning
#اطلاعیه مهم

🔴 متاسفانه باز هم شاهد انتشار فیلم های آموزشی کانال یونیتی لرنینگ در سایر کانال ها و سایت های آموزشی هستیم!

⚠️ برای بار چندم تاکید می کنیم❗️

🔹کلیه آموزش های کانال یونیتی لرنینگ اعم از فیلم ها، فایل های PDF و... متعلق به کانال بوده و انتشار آنها به هر طریق در سایر کانال ها (چه با ذکر منبع و چه در بد ترین حالت بدون آن) غیر مجاز است. برای تهیه این فیلم ساعت ها وقت گذاشته شده و از نظر اخلاقی هم کار درستی نیست و به هیچ عنوان راضی به این کار نیستیم.

@UnityLearning
⭕️ کنترل Password Field از مجموعه #آبجکت های #کلاس GUI

🔹 این کلاس به منظور نمایش یک TextBox که متن وارد شده در آن به صورت امنیتی نمایش داده می شود، به کار می رود. از این کنترل می توان به علت های مختلفی مثل ساخت بازی های معمایی، امنیتی کردن ورود به بازی و... استفاده کرد. قالب کلی این دستور به این شکل است. پارامتر اول از نوع Rect شامل محل و اندازه نمایش کنترل ، پارامتر دوم متن ارسالی به کنترل جهت مقدار دهی، پارامتر سوم از نوع char برای کاراکتر امنیتی نمایش شونده (همان کاراکتری که به جای کاراکترهای اصلی روی صفحه نمایش داده می شود، مثلا * ) و پارامتر چهارم نیز حداکثر تعداد کاراکتری که می توان در این کنترل وارد کرد می باشد.

🔸 به طور #مثال دستور زیر یک PasswordField در محل خاصی از صفحه می سازد و کاربر می تواند درون آن مقدار مورد نظرش را وارد کند. (دقت کنید PassText از نوع string بوده و به صورت General تعریف شده است) [ #سی_شارپ ]

PassText= GUI.PasswordField (new Rect (100, 100, 300, 25), PassText, '*',25);

🎯 فیلم آموزشی برای استفاده از این کنترلِ #کلاس GUI به منظور تعیین رمز ورود به بازی به زودی در کانال قرار خواهد گرفت.

@UnityLearning
🌷 میلاد با سعادت حضرت امام علی بن ابی طالب (ع) و روز پدر را به تمام شیعیان جهان تبریک و تهنیت عرض می کنیم.

🌹 السلام علیک یا ابالحسن یا علی بن ابیطالب

@UnityLearning
آموزش_استفاده_از_کلاس_Gizmos_در.mkv
48.8 MB
🎦 #فیلم #آموزش استفاده از توابع و دستورات #کلاس Gizmos

🔹 به وسیلۀ این کلاس می توان اعمال گرافیکی را در زمان ویرایش بازی انجام داد. صدای فیلم در زمان 5:45 اندکی دچار مشکل شده است.

@UnityLearning
[#توضیحات فیلم]

🔹 به کمک کلاس Gizmos می توان اعمال گرافیکی خاصی مثل رسم اشکال مختلف را در حالت Editor انجام داد. مانند کلاس GUI که در تابع OnGUI اجرا می شود، دستورات کلاس Gizmos نیز در توابع OnDrawGizmos و OnDrawGizmosSelected اجرا می شوند.

🔸 این کلاس دستورات خاصی برای رسم اشکال مختلف مثل خط، Cube، Sphare و... دارد که هر کدام می تواند در حالت Editor رسم شوند. دستور رسم خط از یک موقعیت سه بعدی (Vector3) به یک موقعیت سه بعدی دیگر مانند زیر می باشد. /🔻

Gizmos.DrawLine(From,To);

👈 پارامترهای From و To هر دو از نوع Vector3 می باشد که این دستور بین آنها یک خط مستقیم می کشد. برای تعیین رنگ اشیای گرافیکی رسم شده می توان از پارامتر color مربوط به Gizmos استفاده کرد./🔻

Gizmos.color=Color.red;

🎯 دستور بالا رنگ خطوط رسمی توسط کلاس مذکور را به قرمز تغییر می دهد. در پایان مجدداً تاکید می گردد کلیۀ دستورات این کلاس باید در یکی از توابع OnDrawGizmos نوشته شود.

@UnityLearning
⭕️ انواع روش های حرکتی در یونیتی [#بخش_اول]

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

👈 اگر بخواهیم ساده ترین روش حرکت در #یونیتی را بیان نماییم می توان به پارامتر position از #کامپوننت transform اشاره کرد. به طور مثال دستور زیر آبجکت مورد نظر را با سرعت Speed حرکت می دهد.

GO.transform.position += transform.forward*speed;

🔸پارامتر position یک مقدار Vector3 بوده و می توان آن را جهت تعیین موقعیت دقیق یک آبجکت استفاده کرد. مثلاً طبق دستور زیر/🔻 [#سی_شارپ]

GO.transform.position= new Vector3(x,y,z);

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

📍با استفاده از دستور Translate نیز می توان یک آبجکت را حرکت داد. این دستور یک مقدار Vector3 [بردار سه بعدی به منظور مشخص شدن طول و جهت حرکت] دریافت کرده و آبجکت را طبق آن حرکت می دهد. مثلاً دستور زیر آبجکت GO را با سرعت [یا به طول] speed و در جهت forward (روبرو) حرکت می دهد (دقیقاً مانند دستور اول)

GO.transform.Translate(transform.forward*speed);

#ادامه_دارد

@UnityLearning