CanSeeTarget.js
476 B
⭕️ کدهای کامل تابع CanSeeTatget
👈توضیح داده شده در پست زیر
▶️ https://t.me/UnityLearning/786
توضیحات بیشتر در پست های بعد
@UnityLearning
👈توضیح داده شده در پست زیر
▶️ https://t.me/UnityLearning/786
توضیحات بیشتر در پست های بعد
@UnityLearning
AudioSource_Enable.js
247 B
⭕️ اسکریپت #درخواست داده شده
🔸برای فعال و غیر فعال کردن #کامپوننت AudioSource با کلیک راست ماوس
🔹البته پیشنهاد ما استفاده از Play/Pause است.
@UnityLearning
🔸برای فعال و غیر فعال کردن #کامپوننت AudioSource با کلیک راست ماوس
🔹البته پیشنهاد ما استفاده از Play/Pause است.
@UnityLearning
Unity Learning
AutoMove.js
⭕️ #درخواست هایی هست برای اینکه حرکت در اسکریپت داده شده (AutoMove) به صورت تصادفی انجام شود. این کار ساده است به کمک کلاس Random و تابع Range میتوان به راحتی این کار را انجام داد. یعنی به جای استفاده از یک متغیر برای شمارش (مثل i) از تابع مذکور استفاده گردد.
🔹با این کار اسکریپت هر بار یک گیم آبجکت را به صورت تصادفی انتخاب و به سمت آن حرکت میکند
▶️ https://t.me/UnityLearning/461
➕اسکریپت های کامل شده هوش مصنوعی به تدریج در کانال قرار خواهند گرفت و آموزش داده خواهند شد.
#هوش_مصنوعی
@UnityLearning
🔹با این کار اسکریپت هر بار یک گیم آبجکت را به صورت تصادفی انتخاب و به سمت آن حرکت میکند
▶️ https://t.me/UnityLearning/461
➕اسکریپت های کامل شده هوش مصنوعی به تدریج در کانال قرار خواهند گرفت و آموزش داده خواهند شد.
#هوش_مصنوعی
@UnityLearning
⭕️ مطالبي در مورد #يونيتي
👈ـUnity يکي از 5 موتور بازي سازيِ ساخته شده در جهان است که آخرين نسخه آن نسخه 5 بتا مي باشد که در سال 2014 ارائه شده است.
▫️5 موتور بازي سازي برتر: Unreal Engine ، Game Maker ، Cry Engine ،Id Tech و Unity هستند که در ميان آن ها Unreal بيشترين هوادار را دارد و بازي هاي حرفه اي با آن ساخته شده است. Unity بعد از Unreal معروف شد و از آن به بعد هواداران خاص خود را پيدا کرد. اين موتور بازي سازي به علت سادگي و قابليت انعطاف بالايي که دارد مورد محبوبيت قرار گرفت.
🔹يک موتور بازي سازي به مجموعه ي نرم افزاري گفته مي شود که به وسيله آن ها مي توان يک بازي کامپيوتري يا هر کنسول ديگري را توليد کرد. منظور از مجموعه نرم افزاري اين است که موتور بازي سازي مي تواند خودش شامل نرم افزار هاي مختلفي از جمله طراحي اشيا گرافيکي،طراحي منظره ها ، و طراحي محيط بازي باشد.
براي مثال 3D MAX نرم افزار ساخت اشياي گرفيکي است،Photoshop CS نرم افزار طراحي منظره ها و Unity نرم افزار طراحي محيط بازي است.
🔹همانطور که بيان شد موتور بازي سازي يونيتي محيط بسيار ساده و کاربر پسندي براي ساخت بازي استفاده کرده است. که کاربران آن به راحتي و با داشتن اندکي اطلاعات قبلي مي توانند با آن کار کنند. در صورتي که کاربر کار برنامه نويسي هم بلد باشد مي توانند بازي هاي خوبي با آن توليد کند. برخي ويژگي هاي اصلي موتور بازي سازي يونيتي را به اين شرح بيان مي کنيم:
▫️برنامه نويسي کم
▪️ارائه بازيکن اول شخص و سوم شخص
▫️پلتفرم هاي خروجي متداول
▪️ورودي از نرم افزار هاي متداول
▫️ويرايشگر اسکريپت متن باز
(نرم افزار MonoDevelop)
▪️پشتيباني از زبان هاي برنامه نويسي مختلف
💲جالب بدونيد قيمت فروش يونيتي در سال 2012 هزار و پونصد دلار براي يک عمر در نظر گرفته شده است اين در حالي است که کاربران ايراني معمولاً از لايسنس کرک شده براي اين برنامه استفاده مي کنند.
🔜 توضيحات تکميلي در مورد معرفي يونيتي به طور کامل توضيح داده مي شود.
📉 آمارهاي يونيتي
🔸 آمار هاي مختلفي از يونيتي منتشر شده است که البته بهترين منبع سايت خود یونیتی است.
[مربوط به سال 2015]
• 600 ميليون Gamer (بازيکن) در حال حاضر
• 829 ميليون بازديد روزانه از صفحه فيسبوک
• تعداد مشتريان يونيتي در سال 2015، 4.5 ميليون مشتري (Developer)
• 45 درصد از سهام يونيتي در بورس
• محبوب ترين موتور در بازي سازي موبايل
🔘سايت Unity3d يک آمار منتشر کرده که مي گويد Game Engine يونيتي محبوب ترين و پر استفاده ترين موتور در بازي هاي موبايل است.
〰〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢 @UnityLearning💢
👈ـUnity يکي از 5 موتور بازي سازيِ ساخته شده در جهان است که آخرين نسخه آن نسخه 5 بتا مي باشد که در سال 2014 ارائه شده است.
▫️5 موتور بازي سازي برتر: Unreal Engine ، Game Maker ، Cry Engine ،Id Tech و Unity هستند که در ميان آن ها Unreal بيشترين هوادار را دارد و بازي هاي حرفه اي با آن ساخته شده است. Unity بعد از Unreal معروف شد و از آن به بعد هواداران خاص خود را پيدا کرد. اين موتور بازي سازي به علت سادگي و قابليت انعطاف بالايي که دارد مورد محبوبيت قرار گرفت.
🔹يک موتور بازي سازي به مجموعه ي نرم افزاري گفته مي شود که به وسيله آن ها مي توان يک بازي کامپيوتري يا هر کنسول ديگري را توليد کرد. منظور از مجموعه نرم افزاري اين است که موتور بازي سازي مي تواند خودش شامل نرم افزار هاي مختلفي از جمله طراحي اشيا گرافيکي،طراحي منظره ها ، و طراحي محيط بازي باشد.
براي مثال 3D MAX نرم افزار ساخت اشياي گرفيکي است،Photoshop CS نرم افزار طراحي منظره ها و Unity نرم افزار طراحي محيط بازي است.
🔹همانطور که بيان شد موتور بازي سازي يونيتي محيط بسيار ساده و کاربر پسندي براي ساخت بازي استفاده کرده است. که کاربران آن به راحتي و با داشتن اندکي اطلاعات قبلي مي توانند با آن کار کنند. در صورتي که کاربر کار برنامه نويسي هم بلد باشد مي توانند بازي هاي خوبي با آن توليد کند. برخي ويژگي هاي اصلي موتور بازي سازي يونيتي را به اين شرح بيان مي کنيم:
▫️برنامه نويسي کم
▪️ارائه بازيکن اول شخص و سوم شخص
▫️پلتفرم هاي خروجي متداول
▪️ورودي از نرم افزار هاي متداول
▫️ويرايشگر اسکريپت متن باز
(نرم افزار MonoDevelop)
▪️پشتيباني از زبان هاي برنامه نويسي مختلف
💲جالب بدونيد قيمت فروش يونيتي در سال 2012 هزار و پونصد دلار براي يک عمر در نظر گرفته شده است اين در حالي است که کاربران ايراني معمولاً از لايسنس کرک شده براي اين برنامه استفاده مي کنند.
🔜 توضيحات تکميلي در مورد معرفي يونيتي به طور کامل توضيح داده مي شود.
📉 آمارهاي يونيتي
🔸 آمار هاي مختلفي از يونيتي منتشر شده است که البته بهترين منبع سايت خود یونیتی است.
[مربوط به سال 2015]
• 600 ميليون Gamer (بازيکن) در حال حاضر
• 829 ميليون بازديد روزانه از صفحه فيسبوک
• تعداد مشتريان يونيتي در سال 2015، 4.5 ميليون مشتري (Developer)
• 45 درصد از سهام يونيتي در بورس
• محبوب ترين موتور در بازي سازي موبايل
🔘سايت Unity3d يک آمار منتشر کرده که مي گويد Game Engine يونيتي محبوب ترين و پر استفاده ترين موتور در بازي هاي موبايل است.
〰〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢 @UnityLearning💢
Mahmood_Jahan_Ahl_e_vatan.mp4
17.8 MB
◼️دانلود آهنگ خاطره انگیز سلام اهل وطن به صورت تصویری
◾️کلیپی که خاطره های زیادی را برای ما زنده میکند.
⚫️درگذشت این خواننده عزیز کشورمان را تسلیت عرض میکنیم.
روحش شاد، یادش گرامی
@UnityLearning
◾️کلیپی که خاطره های زیادی را برای ما زنده میکند.
⚫️درگذشت این خواننده عزیز کشورمان را تسلیت عرض میکنیم.
روحش شاد، یادش گرامی
@UnityLearning
⭕ ری استارت کردن مرحله بازی
🔸 یکی از ساده ترین روش ها برای اجرای مجدد یک بازی استفاده از دستور LoadLevel است. در کلی ترین حالت اگر دستور زیر استفاده شود/ بازی در هر مرحله ای که هست از اول اجرا می شود.
Application.LoadLevel(Application.loadedLevel);
🔹 در صورتی که بخواهید تنها مرحله خاصی مجدداً اجرا شود شماره یا نام آن مرحله را در پارامتر LoadLevel می دهیم . مثلا اجرای مرحله اول (شروع مراحل از صفر است)
Application.LoadLevel(0);
🔸 برای سی شارپ نیز می توانید بعد از اضافه کردن پارامتر زیر /👇
using UnityEngine.SceneManagement;
👈 که برای مدیریت Sceneهای بازی استفاده می شود، از دستور زیر برای لود کردن مرحله خود (که نام آن داده شده است) استفاده کنید /👇
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
#اسکریپت_نویسی #کد_نویسی #جاوا و #سی_شارپ در #یونیتی
〰〰〰〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
💢 @UnityLearning💢
🔸 یکی از ساده ترین روش ها برای اجرای مجدد یک بازی استفاده از دستور LoadLevel است. در کلی ترین حالت اگر دستور زیر استفاده شود/ بازی در هر مرحله ای که هست از اول اجرا می شود.
Application.LoadLevel(Application.loadedLevel);
🔹 در صورتی که بخواهید تنها مرحله خاصی مجدداً اجرا شود شماره یا نام آن مرحله را در پارامتر LoadLevel می دهیم . مثلا اجرای مرحله اول (شروع مراحل از صفر است)
Application.LoadLevel(0);
🔸 برای سی شارپ نیز می توانید بعد از اضافه کردن پارامتر زیر /👇
using UnityEngine.SceneManagement;
👈 که برای مدیریت Sceneهای بازی استفاده می شود، از دستور زیر برای لود کردن مرحله خود (که نام آن داده شده است) استفاده کنید /👇
SceneManager.LoadScene(SceneManager.GetActiveScene().name);
#اسکریپت_نویسی #کد_نویسی #جاوا و #سی_شارپ در #یونیتی
〰〰〰〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
💢 @UnityLearning💢
MCPR.exe
8.3 MB
❌برنامه حذف کننده کلیه فایل های مربوط به کلیه محصولات مکافی
🛡Mcafee Product Remover
💡بعد از حذف آنتی ویروس از Control panel این برنامه را اجرا کنید.
@UnityLearning
🛡Mcafee Product Remover
💡بعد از حذف آنتی ویروس از Control panel این برنامه را اجرا کنید.
@UnityLearning
🔸یونیتی برای Decompression کردن پکیج های خود از نرم افزار های فشرده سازی استفاده میکند، توصیه ما نصب آخرین نسخه از نرم افزار 7Zip است که برای دانلود در کانال قرار گرفته است. این نرم افزار رایگان است اما از سرعت بسیار بالایی برخوردار است. اگر هم نرم افزار winrar و هم 7Zip را نصب کرده باشید، یونیتی از 7Z برای Decompress کردن پکیج های خود استفاده میکند.
📍این نرم افزار فوق العاده است و به کمک آن شما میتوانید هر فایلی را باز کنید، مثلا اگر یک فایل نصبی exe داشته باشید که باز نمیشود با کمک 7Zip می توانید این فایل را باز و به فایل های درون آن دسترسی داشته باشید.
◀️این برنامه در پست های زیر از کانال برای دانلود قرار گرفته است/👇
▶️ https://t.me/UnityLearning/757
▶️ https://t.me/UnityLearning/758
▶️ https://t.me/UnityLearning/759
〰〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
📍این نرم افزار فوق العاده است و به کمک آن شما میتوانید هر فایلی را باز کنید، مثلا اگر یک فایل نصبی exe داشته باشید که باز نمیشود با کمک 7Zip می توانید این فایل را باز و به فایل های درون آن دسترسی داشته باشید.
◀️این برنامه در پست های زیر از کانال برای دانلود قرار گرفته است/👇
▶️ https://t.me/UnityLearning/757
▶️ https://t.me/UnityLearning/758
▶️ https://t.me/UnityLearning/759
〰〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️توضیحاتی در مورد تابع OnCollisionEnter
🔹این تابع زمانی در یونیتی اجرا میشود که دو جسم دارای Collider/Regidbody یک دیگر را به اصطلاح لمس کنند(به هم برخورد کنند)
🔹پارامتر ورودی این تابع کلاس Collision است که مختصات محل برخورد(لمس) در آن اتفاق اُفتاده است. این مختصات برای هر محل لمس در آرایه ای از کلاس Collision قرار میگیرد. این آرایه contacts نام دارد و از آن می توان به مختصات محل برخورد دسترسی داشت. پارامتری که از contacs در آن مختصات قرار میگیرد point نام دارد که از جنس Vector3 میباشد (دقیقا مثل پارامتر position در کلاس transform)
▪️به طور مثال خط زیر مختصات اولین نقطه برخورد دو آبجکت را به هم بر می گرداند./👇
collision.contacts[0].point;
👈اگر بخواهیم آبجکتی در محل بر خورد ایجاد شود (مثل آتش در محل برخورد موشک) از دستور instantiate استفاده میشود.
🔜 مطالب تکمیلی در پست های آتی قرار خواهد گرفت.
⚖ نحوه محاسبه جهت برخورد نیز در اینجا مهم است، یعنی آبجکت اول ، دومی را از چه جهتی لمس کرده است. برای این منظور از کلاس Quaternion استفاده میشود. آموزش به زودی در کانال به همراه کدهای آماده قرار خواهد گرفت.
👈 #ادامه_دارد
#اسکریپت_نویسی #کد_نویسی به زبان #جاوا و #سی_شارپ در #يونيتي
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
🔹این تابع زمانی در یونیتی اجرا میشود که دو جسم دارای Collider/Regidbody یک دیگر را به اصطلاح لمس کنند(به هم برخورد کنند)
🔹پارامتر ورودی این تابع کلاس Collision است که مختصات محل برخورد(لمس) در آن اتفاق اُفتاده است. این مختصات برای هر محل لمس در آرایه ای از کلاس Collision قرار میگیرد. این آرایه contacts نام دارد و از آن می توان به مختصات محل برخورد دسترسی داشت. پارامتری که از contacs در آن مختصات قرار میگیرد point نام دارد که از جنس Vector3 میباشد (دقیقا مثل پارامتر position در کلاس transform)
▪️به طور مثال خط زیر مختصات اولین نقطه برخورد دو آبجکت را به هم بر می گرداند./👇
collision.contacts[0].point;
👈اگر بخواهیم آبجکتی در محل بر خورد ایجاد شود (مثل آتش در محل برخورد موشک) از دستور instantiate استفاده میشود.
🔜 مطالب تکمیلی در پست های آتی قرار خواهد گرفت.
⚖ نحوه محاسبه جهت برخورد نیز در اینجا مهم است، یعنی آبجکت اول ، دومی را از چه جهتی لمس کرده است. برای این منظور از کلاس Quaternion استفاده میشود. آموزش به زودی در کانال به همراه کدهای آماده قرار خواهد گرفت.
👈 #ادامه_دارد
#اسکریپت_نویسی #کد_نویسی به زبان #جاوا و #سی_شارپ در #يونيتي
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ #تابع SetActive
🔹این تابع یک گیم آبجکت را فعال یا غیر فعال میکند. در زمان غیر فعال شدن یک گیم آبجکت کلیه کامپوننت های متصل به آن نیز غیر فعال میشود، توابع Update تمام اسکریپت های متصل و موارد مشابه از کار میافتند. به طور #مثال دستور زیر گیم آبجکتی که کد به آن متصل شده است را غیر فعال میکند (دقت کنید که همین اسکریپت که کد را در آن نوشتیم نیز غیر فعال میشود)
gameObject.SetActive (false);
🔸اکتیو بودن یک گیم آبجکت را می توان با دو پارامتر زیر بررسی کرد/👇
GameObject.activeSelf
GameObject.activeInHierarchy
👈این دو پارامتر Read only هستند و فقط مقدار true یا false بر می گردانند.
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
🔹این تابع یک گیم آبجکت را فعال یا غیر فعال میکند. در زمان غیر فعال شدن یک گیم آبجکت کلیه کامپوننت های متصل به آن نیز غیر فعال میشود، توابع Update تمام اسکریپت های متصل و موارد مشابه از کار میافتند. به طور #مثال دستور زیر گیم آبجکتی که کد به آن متصل شده است را غیر فعال میکند (دقت کنید که همین اسکریپت که کد را در آن نوشتیم نیز غیر فعال میشود)
gameObject.SetActive (false);
🔸اکتیو بودن یک گیم آبجکت را می توان با دو پارامتر زیر بررسی کرد/👇
GameObject.activeSelf
GameObject.activeInHierarchy
👈این دو پارامتر Read only هستند و فقط مقدار true یا false بر می گردانند.
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ اضافه کردن یک #کامپوننت خاص در زمان اجرا بازی
➕برای اینکه بتوان یک کامپوننت خاص در زمان اجرا (Runtime) بازی به gameobject مورد نظر اضافه شود از تابع AddComponent استفاده میشود.
🔘هر نوع کامپوننتی که در پارامتر به تابع بدهیم را در همان لحظه به گیم #آبجکت مورد نظر اضافه شده و خود آن برای کار های بعدی برگردانده میشود. به طور #مثال دستور زیر یک کامپوننت SphareCollider را به گیم آبجکت جاری(که کد به آن متصل است) اضافه میکند./👇
gameObject.AddComponent(SphereCollider);
👈 #ادامه_دارد
🔜 مطالب تکمیلی در پست های آینده قرار خواهد گرفت.
#اسکریپت_نویسی #کد_نویسی #جاوا
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
➕برای اینکه بتوان یک کامپوننت خاص در زمان اجرا (Runtime) بازی به gameobject مورد نظر اضافه شود از تابع AddComponent استفاده میشود.
🔘هر نوع کامپوننتی که در پارامتر به تابع بدهیم را در همان لحظه به گیم #آبجکت مورد نظر اضافه شده و خود آن برای کار های بعدی برگردانده میشود. به طور #مثال دستور زیر یک کامپوننت SphareCollider را به گیم آبجکت جاری(که کد به آن متصل است) اضافه میکند./👇
gameObject.AddComponent(SphereCollider);
👈 #ادامه_دارد
🔜 مطالب تکمیلی در پست های آینده قرار خواهد گرفت.
#اسکریپت_نویسی #کد_نویسی #جاوا
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
👤قابلیت جدید Biography در #تلگرام
🔸به منظور اضافه کردن اطلاعات شخصی (در حد 50 حرف در یک خط) میتوان از این قابلیت جدید در تلگرام استفاده کرد.
@UnityLearning
🔸به منظور اضافه کردن اطلاعات شخصی (در حد 50 حرف در یک خط) میتوان از این قابلیت جدید در تلگرام استفاده کرد.
@UnityLearning
⭕ برخی دستورات مربوط به GameObject
▫ به کمک دستور transform می توان به Transformیی که این گیم #آبجکت به آن متصل است دسترسی داشت و این دستور آن را بر می گرداند. #مثال ساده، برای دسترسی به پارامترهای موقعیتی یک game object باید از دستور transform استفاده کرد (چون همانطور که می دانید position از پارامتــرهای یک Game Object نیست!)
🔸به طور #مثال برای جابجا کردن یک گیم آبجکت می توان از دستور زیر استفاده کرد/👇
other.transform.Translate(1,1,1);
🔘 دقت کنید other از نوع GameObject است یعنی به شکــل زیر تعریف شده است/👇
var other : GameObject;
🔹 برای بدســـت آوردن Scene که یک آبجکت در آن قرار گرفته است از پارامتر scene استفاده می کنیم. خروجی این پارامتر از نوع SceneManagement.Scene است که می توان به عنوان نام به دستورات مربوط به جابجای Scene داد (مثل LoadLevel و...)
GameObject.scene;
👈 این دستور Scene که GameObject در آن قرار گرفته است را بر می گرداند.
👈 #ادامه_دارد
@UnityLearning
▫ به کمک دستور transform می توان به Transformیی که این گیم #آبجکت به آن متصل است دسترسی داشت و این دستور آن را بر می گرداند. #مثال ساده، برای دسترسی به پارامترهای موقعیتی یک game object باید از دستور transform استفاده کرد (چون همانطور که می دانید position از پارامتــرهای یک Game Object نیست!)
🔸به طور #مثال برای جابجا کردن یک گیم آبجکت می توان از دستور زیر استفاده کرد/👇
other.transform.Translate(1,1,1);
🔘 دقت کنید other از نوع GameObject است یعنی به شکــل زیر تعریف شده است/👇
var other : GameObject;
🔹 برای بدســـت آوردن Scene که یک آبجکت در آن قرار گرفته است از پارامتر scene استفاده می کنیم. خروجی این پارامتر از نوع SceneManagement.Scene است که می توان به عنوان نام به دستورات مربوط به جابجای Scene داد (مثل LoadLevel و...)
GameObject.scene;
👈 این دستور Scene که GameObject در آن قرار گرفته است را بر می گرداند.
👈 #ادامه_دارد
@UnityLearning
⭕ برخی دستورات مربوط به GameObject #ادامه
👈دستور tag اسم تگ Game Object مورد نظر را بر می گرداند، اگر برای گیم #آبجکت تگی در نظر گرفته نشده Untagged را بر می گرداند. (خروجی دستور رشته ای است و برای تست آن باید مقدار خروجی را با مقدار رشته ای چک کرد)
gameObject.tag = "Player";
🔸این دستور تگ یک گیم آبجکت را به Player تغییر می دهد، بنابراین کاربرد دیگر این پارامتر در تعیین تگ یک گیم آبجکت است.
⭕️توابع مهم کلاس GameObject
👈کلاس GameObject، کلاسی برای مدیریت گیم آبجکت ها در یونیتی است که دستورات زیادی دارد. در این پست به بررسی تعدادی از آنها می پردازیم و سایر دستورات را نیز در پست های بعدی بیان خواهیم کرد. دقت کنید به کمک تگ #ادامه می توانید به مطالب دنباله دار دسترسی داشته باشید. مطالبی هم که تگ « #ادامه_دارد » دارند، نیز مطالبی هست که در پست های بعدی ادامه مطالب آن قرار گرفته است.
▫️یکی از مهمترین توابع این #کلاس ، دستور Find است، به کمک این دستور می توان به یک گیم آبجکت که اسم آن را داده ایم دسترسی داشت. قوانین استفاده از این دستور زیاد است/ در این پست فقط شکل کلی تابع را بیان می کنیم و قوانین مختلف آن را در پست های بعدی قرار خواهیم داد.
▪️شکل کلی #تابع Find به نحو زیر است/👇
var hand : GameObject;
hand = GameObject.Find("Hand");
👈به طور کلی این دستور آبجکتی که اسم آن Hand است را بر می گرداند و در متغیر hand قرار می دهد و در ادامه برنامه نویس می تواند مانند یک گیم آبجکت مستقل با آن رفتار کند.
(بهترین محل برای استفاده از این دستور تابع Start است)
🔹دستور FindWithTag اولین گیم آبجکتی که دارای تگ داده شده است را بر می گرداند. خروجی آن از نوع یک متغیر GameObject است. اما اگر می خواهیم به مجموعه ای از گیم آبجکت ها که دارای تگ خاصی هستند دسترسی داشته باشیم از دستور FindGameObjectsWithTag استفاده می کنیم که خروجی آن از نوع آرایه ای از GameObject هاست که دارای تگ مورد نظر هستند و برای دسترسی به تک تک آنها باید آرایه را پیمایش کرد.
(به طور مثال اسکریپت ایجاد یک گیم آبجکت در محل کلیه آبجکت هایی که دارای تگ Player هستند در پست بعدی قرار می گیرد، لطفا به این اسکریپت دقت کنید چون دستورات پیمایش آرایه (از نوع GameObject) در آن بیان شده است، سایر دستورات آن را که قبلاً توضیح داده ایم مثل دستور Instantiate برای ایجاد یک گیم آبجکت)
#ادامه_دارد
🔜سایر توابع کلاس GameObject در پست های بعدی قرار خواهد گرفت.
@UnityLearning
👈دستور tag اسم تگ Game Object مورد نظر را بر می گرداند، اگر برای گیم #آبجکت تگی در نظر گرفته نشده Untagged را بر می گرداند. (خروجی دستور رشته ای است و برای تست آن باید مقدار خروجی را با مقدار رشته ای چک کرد)
gameObject.tag = "Player";
🔸این دستور تگ یک گیم آبجکت را به Player تغییر می دهد، بنابراین کاربرد دیگر این پارامتر در تعیین تگ یک گیم آبجکت است.
⭕️توابع مهم کلاس GameObject
👈کلاس GameObject، کلاسی برای مدیریت گیم آبجکت ها در یونیتی است که دستورات زیادی دارد. در این پست به بررسی تعدادی از آنها می پردازیم و سایر دستورات را نیز در پست های بعدی بیان خواهیم کرد. دقت کنید به کمک تگ #ادامه می توانید به مطالب دنباله دار دسترسی داشته باشید. مطالبی هم که تگ « #ادامه_دارد » دارند، نیز مطالبی هست که در پست های بعدی ادامه مطالب آن قرار گرفته است.
▫️یکی از مهمترین توابع این #کلاس ، دستور Find است، به کمک این دستور می توان به یک گیم آبجکت که اسم آن را داده ایم دسترسی داشت. قوانین استفاده از این دستور زیاد است/ در این پست فقط شکل کلی تابع را بیان می کنیم و قوانین مختلف آن را در پست های بعدی قرار خواهیم داد.
▪️شکل کلی #تابع Find به نحو زیر است/👇
var hand : GameObject;
hand = GameObject.Find("Hand");
👈به طور کلی این دستور آبجکتی که اسم آن Hand است را بر می گرداند و در متغیر hand قرار می دهد و در ادامه برنامه نویس می تواند مانند یک گیم آبجکت مستقل با آن رفتار کند.
(بهترین محل برای استفاده از این دستور تابع Start است)
🔹دستور FindWithTag اولین گیم آبجکتی که دارای تگ داده شده است را بر می گرداند. خروجی آن از نوع یک متغیر GameObject است. اما اگر می خواهیم به مجموعه ای از گیم آبجکت ها که دارای تگ خاصی هستند دسترسی داشته باشیم از دستور FindGameObjectsWithTag استفاده می کنیم که خروجی آن از نوع آرایه ای از GameObject هاست که دارای تگ مورد نظر هستند و برای دسترسی به تک تک آنها باید آرایه را پیمایش کرد.
(به طور مثال اسکریپت ایجاد یک گیم آبجکت در محل کلیه آبجکت هایی که دارای تگ Player هستند در پست بعدی قرار می گیرد، لطفا به این اسکریپت دقت کنید چون دستورات پیمایش آرایه (از نوع GameObject) در آن بیان شده است، سایر دستورات آن را که قبلاً توضیح داده ایم مثل دستور Instantiate برای ایجاد یک گیم آبجکت)
#ادامه_دارد
🔜سایر توابع کلاس GameObject در پست های بعدی قرار خواهد گرفت.
@UnityLearning
Findwithtags.js
628 B
⭕ اسکریپت آماده برای ساخت یک Prefab در محل کلیه گیم آبجکت هایی که دارای تگ Player هستند. مثال آموزشی برای استفاده از دستور FindGameObjectsWithTags
@UnityLearning
@UnityLearning
#اصلاحیه
⭕️دوستان گرامی و کاربران عزیز، همانطور که پیشبینی کرده بودیم، یونیتی 2017 با کرک های ارائه شده مشکل دارد(البته برنامه کامل کرک میشود و مشکل از آن نیست اما نسخه کرک شده دارای محدودیت هایی مثل اتصال حتمی به اینترنت حتی در زمان work offline بودن است)
🔹به همین علت یونیتی لرنینگ آموزش ها را تا زمان ارائه یک نسخه پایدار و قابل استفاده از نسخه 2017 با همان نسخه 5.6.2 پیگیری خواهد کرد.
🔹بنابراین برنامه های آموزشی در این کانال تا این لحظه با این نسخه ها هستند.
🔹Unity 5.6.2f1
🔸Autodesk Maya and 3D Max 2017
🔹Blender 2.78
@UnityLearning
⭕️دوستان گرامی و کاربران عزیز، همانطور که پیشبینی کرده بودیم، یونیتی 2017 با کرک های ارائه شده مشکل دارد(البته برنامه کامل کرک میشود و مشکل از آن نیست اما نسخه کرک شده دارای محدودیت هایی مثل اتصال حتمی به اینترنت حتی در زمان work offline بودن است)
🔹به همین علت یونیتی لرنینگ آموزش ها را تا زمان ارائه یک نسخه پایدار و قابل استفاده از نسخه 2017 با همان نسخه 5.6.2 پیگیری خواهد کرد.
🔹بنابراین برنامه های آموزشی در این کانال تا این لحظه با این نسخه ها هستند.
🔹Unity 5.6.2f1
🔸Autodesk Maya and 3D Max 2017
🔹Blender 2.78
@UnityLearning
⭕️ برخی دستورات مربوط به Transformها در یونیتی
👈به کمک دستور childCount میتوان به تعداد گیم آبجکت های متصل شده به یک Transform (در پنجره Hierarchy دسترسی داشت) یعنی مثلا اگر به یک Transform خاص دو گیم آبجکت دیگر متصل باشد این دستور 2 را بر میگرداند./👇
transform.childCount
👈این دستور تعداد گیم آبجکت متصل به ترنسفورمی که کد به آن متصل شده است را بر میگرداند./👇
🔹برای بدست آوردن بردار رو بروی یک ترنسفورم از forward استفاده میشود. این دستور از نوع Vector3 است و معادل بردار سه بعدی با جهت روبروی یک آبجکت است.
🔸با استفاده از دستور root میتوان به ترنسفورم ریشه(بالاترین ترنسفورم در Hierarchy) دسترسی داشت. این دستور هیچگاه مقدار null برنمی گرداند و اگر آبجکت خودش بالاترین سطح باشد(پدری نداشته باشد) خودش را بر می گرداند. بنابراین دقت کنید خروجی این دستور از نوع Transform است.
▫️با دستور rotation میتوان به پارامتر های چرخشی یک ترنسفورم دسترسی داشت. خروجی این دستور از نوع Vector3 برای جهت چرخش آبجکت میباشد. برای دسترسی به مقادیر xyz از شکل زیر(به طور مثال برای x) استفاده میشود./👇
transform.rotation.x;
▪️سایر دستورات و توابع در پست های بعدی قرار خواهد گرفت.
👈 #ادامه_دارد
@UnityLearning
👈به کمک دستور childCount میتوان به تعداد گیم آبجکت های متصل شده به یک Transform (در پنجره Hierarchy دسترسی داشت) یعنی مثلا اگر به یک Transform خاص دو گیم آبجکت دیگر متصل باشد این دستور 2 را بر میگرداند./👇
transform.childCount
👈این دستور تعداد گیم آبجکت متصل به ترنسفورمی که کد به آن متصل شده است را بر میگرداند./👇
🔹برای بدست آوردن بردار رو بروی یک ترنسفورم از forward استفاده میشود. این دستور از نوع Vector3 است و معادل بردار سه بعدی با جهت روبروی یک آبجکت است.
🔸با استفاده از دستور root میتوان به ترنسفورم ریشه(بالاترین ترنسفورم در Hierarchy) دسترسی داشت. این دستور هیچگاه مقدار null برنمی گرداند و اگر آبجکت خودش بالاترین سطح باشد(پدری نداشته باشد) خودش را بر می گرداند. بنابراین دقت کنید خروجی این دستور از نوع Transform است.
▫️با دستور rotation میتوان به پارامتر های چرخشی یک ترنسفورم دسترسی داشت. خروجی این دستور از نوع Vector3 برای جهت چرخش آبجکت میباشد. برای دسترسی به مقادیر xyz از شکل زیر(به طور مثال برای x) استفاده میشود./👇
transform.rotation.x;
▪️سایر دستورات و توابع در پست های بعدی قرار خواهد گرفت.
👈 #ادامه_دارد
@UnityLearning
⭕ غیر فعــال شدن اجرای یک اسکریپت بعد از شروع اجرا
🔸 در صورتی که بخواهید یک اسکریپت بعد از فعال شدن(یا بهتر است بگوییم اجرا شدن) به حالت غیر فعال یا عدم اجرا برود. از دستور this.enabled=false; در تابع Start استفاده می شود و به هر مقدار که می خواهیم زمان بگذرد و بعد از آن اسکریپت غیر فعال شود، از دستور WaitForSecconds استفاده می شود.
🔹 به طور مثال قطعه کد زیر را اگر به اسکریپت خود (به زبان #جاوا اسکریپت) اضافه کنیم، این اسکریپت بعد از گذشت 10 ثانیه از کار خواهد افتاد.
function Start(){
yield WaitForSeconds(10);
this.enabled=false;
}
❗ دقت کنید بعد از دستور this.enabled=false دیگر نباید دستور دیگری باشد چون اجرا نخواهد شد. این دستور بیشتر برای منوها در بازی استفاده می شود.
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی
〰〰〰〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
💢 @UnityLearning💢
🔸 در صورتی که بخواهید یک اسکریپت بعد از فعال شدن(یا بهتر است بگوییم اجرا شدن) به حالت غیر فعال یا عدم اجرا برود. از دستور this.enabled=false; در تابع Start استفاده می شود و به هر مقدار که می خواهیم زمان بگذرد و بعد از آن اسکریپت غیر فعال شود، از دستور WaitForSecconds استفاده می شود.
🔹 به طور مثال قطعه کد زیر را اگر به اسکریپت خود (به زبان #جاوا اسکریپت) اضافه کنیم، این اسکریپت بعد از گذشت 10 ثانیه از کار خواهد افتاد.
function Start(){
yield WaitForSeconds(10);
this.enabled=false;
}
❗ دقت کنید بعد از دستور this.enabled=false دیگر نباید دستور دیگری باشد چون اجرا نخواهد شد. این دستور بیشتر برای منوها در بازی استفاده می شود.
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی
〰〰〰〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
💢 @UnityLearning💢
⭕️ #آموزش #دانلود ماژول های یونیتی از سایت Unity
🔹روش اول استفاده از پنجره Build Setting
@UnityLearning
🔹روش اول استفاده از پنجره Build Setting
@UnityLearning
⭕️ #آموزش #دانلود ماژول های یونیتی از سایت Unity
🔹روش دوم استفاده از برنامه Unity Download Assistant که لینک های دانلود آن در پست های قبلی هست.
@UnityLearning
🔹روش دوم استفاده از برنامه Unity Download Assistant که لینک های دانلود آن در پست های قبلی هست.
@UnityLearning