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
Unity Learning
ScriptOfSentryGun+Sound.rar
📋 توضیحات تکمیلی برای اسکریپت قرار گرفته برای ساخت هوش مصنوعی ثابت

🔹 تیر اندازی در این اسکریپت به روش ساخت یک موشک (مانند قبل) انجام نمی شود و حالت تیر اندازی مانند سلاح هایی می باشد که تیر آنها دیده نمی شود. این کار به کمک دستور Raycast از کلاس Physics انجام می شود. برای مطالعه مطالب بیشتر در رابطه با تیراندازی به کمک دستورات این #کلاس به پست زیر مراجعه کنید./

https://telegram.me/UnityLearning/1412

🔸 ورودی های قابل تنظیم اسکریپت به شرح زیر هستند./🔻

👈 پارامتر attackRange برای میزانِ شعاع برای پیدا کردن هدف، shootAngleDistance برای زاویه تیر اندازی به هدف (اگر از این زاویه نسبت به هدف کمتر باشد، به سمت آن تیر اندازی انجام می شود) ، target هدف اصلی که هوش مصنوعی به سمت آن تیر اندازی خواهد کرد، Delay فاصله زمانی بین شیلک شدن هر تیر، Damage میزان جانی که هر تیر از بازیکن کم خواهد کرد، Ammo برای حداکثر میزان تیری که هوش مصنوعی می تواند شلیک کند.


@UnityLearning
📸 دستور Vector3.up همواره به بردار سمت بالای یک آبجکت اشاره می‌کند.

دستور
transform.Rotate(Vector3.up);
باعث چرخش آبجکت بر اساس محور بالای آن می‌شود.

@UnityLearning
⭕️ انتقال یک آبجکت به صورت نَرم

🔹 در صورتی که بخواهیم یک آبجکت را به صورت نرم از موقعیتی به موقعیت دیگر جابجا کنیم، می توان از دستورات Lerp در #کلاس Vector3 استفاده کنیم،این پارامتر دقیقا مانند دستور Slerp از کلاس Quaternion است که در پست زیر آموزش داده شده است./🔻

https://t.me/UnityLearning/1516

🔸دستور Lerp یا Slerp نیز از کلاس Vector3 یک موقعیت را از محل اولیه با سمت محل انتهایی به میزان پارامتر سوم جابجا و مقدار Vector3 آن را بر می گرداند. #مثال /🔻

Vector3.Lerp(transform.position,Vector3(100,200,300),5.0f);

👈 خروجی دستور فوق موقعیتی است به فاصله 5 واحد از موقعیت آبجکت جاری به سمت موقعیت داده شده (100,200,300)

💡 بنابراین می توان از دستور فوق برای جابجا کردن نَرم اجسام (با استفاده از دستور deltaTime) استفاده کرد. برای اینکار کافی است خروجی دستور #مثال قبل را در پارامتر transform.position قرار دهیم (دقیقا مانند چرخش در کلاس Quaternion این عمل انجام می شود)

transform.position=Vector3.Lerp(transform.position,Vector3(100,200,300),5*Time.deltaTime);

👈 دستور فوق باعث می شود، آبجکتی که کد را به آن متصل کردیم، از هر موقعیتی که دارد به سمت محل (100,200,300) با سرعت 5 به صورت نرم جابجا شود و زمانی که به آنجا رسید متوقف شود.

@UnityLearning
📸 آیکن یک Animation Clip از یک آبجکت (در پنجره Project)

💡درصورتی که آبجکتی دارای Animation Clip باشد می‌توان به کمک #کامپوننت Animation انیمیشن های آن را پخش کرد.

@UnityLearning
Unity Learning
📸 آیکن یک Animation Clip از یک آبجکت (در پنجره Project) 💡درصورتی که آبجکتی دارای Animation Clip باشد می‌توان به کمک #کامپوننت Animation انیمیشن های آن را پخش کرد. @UnityLearning
📸 جستجوی یک Animation Clip در پنجره Project

با وارد کردن نام یک «انیمیشن کلیپ» در بخش جستجوی پنجره Project ، می‌توان به کلیه آبجکت هایی که دارای آن کلیپ هستند دسترسی داشت.

@UnityLearning
_استفاده_از_دستور_Lerp.mkv
136.4 MB
🎦 #فیلم #آموزش حرکت دادن آبجکت با کمک دستور Lerp از #کلاس Vector3

🔹حرکت آبجکت بین چند موقعیت (position) در بازۂ زمانی

11 دقیقه فیلم آموزشی با کیفیت FHD

@UnityLearning
Unity Learning via @my_btnplusbot
_استفاده_از_دستور_Lerp.mkv
Moving.js
309 B
📋 اسکریپت آماده استفاده شده در فیلم آموزشی برای دستور Lerp

🔹این اسکریپت آبجکتی که به آن متصل می شود را بین آرایه ای از موقعیت ها (Vector3) با دستور Lerp جابجا می کند.

#جاوا اسکریپت

@UnityLearning
Unity Learning
Moving.js
#توضیحات

📸 اسکریپت دارای دو پارامتر تعیین سرعت حرکت و همچنین آرایه ای از پارامترهای سه بعدی است.

🔹 آبجکتی که این کد به آن متصل می شود بین موقعیت های با مختصات داده شده جابجا می شود.

@UnityLearning
📸 دستور Move از کامپوننت Character Controller باعث حرکت یک آبجکت در جهت داده شده می‌شود. زمانی که این دستور صدا زده شود، این کامپوننت آبجکتی که به آن متصل شده است را جابجا می‌کند.

@UnityLearning
#درخواست

📸خطای معروف کامپایلری در یونیتی (تصویر بالایی)

یونیتی هیچگاه بازی را در زمانی که اسکریپت ها خطای کامپایلری داشته باشند، اجرا نمی کند. حتی اگر اسکریپتِ دارای خطا در بازی استفاده نشده باشد.
Addforce.js
364 B
📋 اسکریپت آماده برای وارد کردن نیرو به کلیۀ آبجکت های اطراف یک آبجکت

👈 این اسکریپت با دستور OverlapSphere تمام آبجکت های دارای کالیدر را پیدا می کند و سپس به آنها نیرو وارد می کند.

@UnityLearning
📸 #خطا ی تقسیم بر صفر در #یونیتی DivideByZero

زمانی که به هر دلیل (مثل اشتباه برنامه نویسی) در اسکریپت های پروژه تقسیم بر صفر اتفاق بیافتد، کامپایلر #یونیتی خطای فوق را گزارش می‌کند.

@UnityLearning
#یادآوری

📸 به کمک دستور Label از #کلاس GUI می‌توان یک متن را روی صفحه در حالت اجرای بازی نمایش داد.

🔹پارامتر اول از نوع rect برای تعیین اندازه و محل نمایش متن و پارامتر دوم متن نمایشی است.
📸 نحوۂ قرار گیری محور مختصات نسبت به صفحه نمایش نهایی بازی

💡نقطۂ (0،0) گوشه بالا سمت چپ صفحه نمایش خواهد بود و هر چه y افزایش باید آبجکت به سمت پایین خواهد رفت(در دستورات GUI)

@UnityLearning
📸 ساخت منوی اولیه بسیار ساده

🔹ساخت منو با اسکریپت نویسی بدون استفاده از آبجکت های UI

📋 اسکریپت ساخت منوی مانند تصویر بالا 👇👇👇
📋 اسکریپت آماده ساخت یک Button به کمک دستورات کلاس GUI در وسط صفحه و دستور بارگزاری مرحله اول از بازی برای زمانی که کاربر روی دکمه کلیک کند.

@UnityLearning
با مراجعه به سایت پاسخگویی یونیتی می‌توان به اطلاعات بسیاری در رابطه با یونیتی رسید.

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

https://answers.unity.com/
📸 دستور DrawRay از #کلاس Debug در یونیتی

ارسال یک لیزر کنترلی در یونیتی

🔹 پارامتر اول، موقعیت شروع، پارامتر دوم، جهت ارسال لیزر و پارامتر سوم رنگ لیزرِ کنترلی خواهد بود.