⚙ #ترفند
🔹 با انتخاب گزینه All Scripts در بخش Favourites ⭐️ از پنجره Project میتوان کلیه اسکریپت های نوشته شده در پوشه پروژه بازی را مشاهده کرد.
@UnityLearning
🔹 با انتخاب گزینه All Scripts در بخش Favourites ⭐️ از پنجره Project میتوان کلیه اسکریپت های نوشته شده در پوشه پروژه بازی را مشاهده کرد.
@UnityLearning
⚙ #ترفند
🔹 با انتخاب گزینه Show in Explorer بعد از کلیک راست کردن روی فایل های موجود در پنجره Project میتوان آن فایل را در پنجره Explorer محیط ویندوز یا مک مشاهده کرد.
@UnityLearning
🔹 با انتخاب گزینه Show in Explorer بعد از کلیک راست کردن روی فایل های موجود در پنجره Project میتوان آن فایل را در پنجره Explorer محیط ویندوز یا مک مشاهده کرد.
@UnityLearning
⚒ #رفع_خطا ی Can't add script
✅ در یونیتی هر کلاسی که نوشته میشود باید با اسکریپتش همنام باشد، این خطا زمانی رخ میدهد که در #سی_شارپ کلاس شما همنام اسکریپت تعریف نشده باشد.
@UnityLearning
✅ در یونیتی هر کلاسی که نوشته میشود باید با اسکریپتش همنام باشد، این خطا زمانی رخ میدهد که در #سی_شارپ کلاس شما همنام اسکریپت تعریف نشده باشد.
@UnityLearning
📸 به منظور حذف یک کامپوننت از یک آبجکت در حالت طراحی بازی (Editor) با کلیک راست روی نام کامپوننت(در تصویر، اسکریپت) در منوی بازشده گزینه Remove Component را انتخاب کنید.
@UnityLearning
@UnityLearning
Unity Learning
📸 به منظور حذف یک کامپوننت از یک آبجکت در حالت طراحی بازی (Editor) با کلیک راست روی نام کامپوننت(در تصویر، اسکریپت) در منوی بازشده گزینه Remove Component را انتخاب کنید. @UnityLearning
⭕️ حذف یک #کامپوننت در حالت اجرای بازی (Play Mode)
👈 برای حذف یک کامپوننت از یک آبجکت خاص از تابع Destroy استفاده میشود. انواع حالات این تابع قبلا توصیف شده است.
Destroy(Component);
🔸 به طور مثال دستور زیر کامپوننت Rigidbody متصل شده به آبجکت Obj را حذف میکند./👇
Destroy(Obj.GetComponent(Rigidbody));
🔹دستور زیر کامپوننت AudioSource متصل شده به آبجکت جاری (که کد به آن متصل شده است) را حذف میکند. /👇
Destroy(GetComponent(AudioSource));
🔹 دستور زیر نیز اسکریپت جاری را از آبجکت حذف میکند. /👇
Destroy(this);
✅ نکته: بعد از حذف یک کامپوننت از یک آبجکت باید دقت کرد که در جای دیگر از اسکریپت ها مجددا به آن دسترسی نداشته باشیم که در این صورت با خطای کامپایلری مواجه میشویم.
@UnityLearning
👈 برای حذف یک کامپوننت از یک آبجکت خاص از تابع Destroy استفاده میشود. انواع حالات این تابع قبلا توصیف شده است.
Destroy(Component);
🔸 به طور مثال دستور زیر کامپوننت Rigidbody متصل شده به آبجکت Obj را حذف میکند./👇
Destroy(Obj.GetComponent(Rigidbody));
🔹دستور زیر کامپوننت AudioSource متصل شده به آبجکت جاری (که کد به آن متصل شده است) را حذف میکند. /👇
Destroy(GetComponent(AudioSource));
🔹 دستور زیر نیز اسکریپت جاری را از آبجکت حذف میکند. /👇
Destroy(this);
✅ نکته: بعد از حذف یک کامپوننت از یک آبجکت باید دقت کرد که در جای دیگر از اسکریپت ها مجددا به آن دسترسی نداشته باشیم که در این صورت با خطای کامپایلری مواجه میشویم.
@UnityLearning
⚙ #ترفند
🔹 در برنامه Mono Develop برای دسترسی سریع به یک تابع در اسکریپت ، در بالای صفحه کنار نام اسکریپت روی فلش کلیک کرده و در لیست نام تابع مورد نظر را پیدا و انتخاب کنید.
@UnityLearning
🔹 در برنامه Mono Develop برای دسترسی سریع به یک تابع در اسکریپت ، در بالای صفحه کنار نام اسکریپت روی فلش کلیک کرده و در لیست نام تابع مورد نظر را پیدا و انتخاب کنید.
@UnityLearning
❗️ #نکته برنامه نویسی
⭕️ کاربرد ? در اسکریپت نویسی
🔸در کد نویسی (به هر دو زبان #سی_شارپ و #جاوا اسکریپت) حالتی از شرط ها وجود دارد که می توان با ? (علامت سوال) ایجاد کرد. به علت اینکه این نوع برنامه نویسی خیلی باعث کاهش کدها میشود، آن را در این پست توضیح میدهیم.
🔹در برنامه نویسی گاهی اوقات مقدار دهی یک متغیر به مثبت یا منفی بودن یک شرط وابسته است، برای فهم این موضوع به دستور زیر توجه کنید.👇
if (a>b)
c=10;
else
c=5;
🔹 همانطور که مشاهده میکنید در عبارت شرطی بالا اگر شرط برقرار باشد (یعنی a از b بزرگتر باشد) مقدار c باید برابر 10 شود و در غیر این صورت برابر 5 . در این نحو عملیات شرطی (مقدار دهی متغیر در صورت برقراری یک شرط) می توان از دستور Notation (علامت سؤال) استفاده کرد. حالت کلی این دستور به شکل زیر است👇
result = condition ? true : false;
▫️در دستور فوق result متغیری است که قرار است با شرایط خاص مقدار دهی شود (مثل c در مثال قبل) ، condition شرطی است که مقدار دهی طبق آن انجام میشود و مقادیر true و false معادل مقادیری هستند که در صورت بر قراری یا عدم برقراری شرط در متغیر result قرار میگیرند.
🔸مثال قبل با دستور ? به این شکل میباشد. /👇
c = (a>b) ? 10 : 5;
▪️از این دستور به هر نحوی می توان استفاده کرد و هیچ محدودیتی ندارد، به عنوان مثال دستور زیر همواره بزرگ ترین مقدار بین a b c را در متغیر d قرار میدهد.
d = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c) ;
@UnityLearning
⭕️ کاربرد ? در اسکریپت نویسی
🔸در کد نویسی (به هر دو زبان #سی_شارپ و #جاوا اسکریپت) حالتی از شرط ها وجود دارد که می توان با ? (علامت سوال) ایجاد کرد. به علت اینکه این نوع برنامه نویسی خیلی باعث کاهش کدها میشود، آن را در این پست توضیح میدهیم.
🔹در برنامه نویسی گاهی اوقات مقدار دهی یک متغیر به مثبت یا منفی بودن یک شرط وابسته است، برای فهم این موضوع به دستور زیر توجه کنید.👇
if (a>b)
c=10;
else
c=5;
🔹 همانطور که مشاهده میکنید در عبارت شرطی بالا اگر شرط برقرار باشد (یعنی a از b بزرگتر باشد) مقدار c باید برابر 10 شود و در غیر این صورت برابر 5 . در این نحو عملیات شرطی (مقدار دهی متغیر در صورت برقراری یک شرط) می توان از دستور Notation (علامت سؤال) استفاده کرد. حالت کلی این دستور به شکل زیر است👇
result = condition ? true : false;
▫️در دستور فوق result متغیری است که قرار است با شرایط خاص مقدار دهی شود (مثل c در مثال قبل) ، condition شرطی است که مقدار دهی طبق آن انجام میشود و مقادیر true و false معادل مقادیری هستند که در صورت بر قراری یا عدم برقراری شرط در متغیر result قرار میگیرند.
🔸مثال قبل با دستور ? به این شکل میباشد. /👇
c = (a>b) ? 10 : 5;
▪️از این دستور به هر نحوی می توان استفاده کرد و هیچ محدودیتی ندارد، به عنوان مثال دستور زیر همواره بزرگ ترین مقدار بین a b c را در متغیر d قرار میدهد.
d = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c) ;
@UnityLearning
💥 میلاد با سعادت امام حسن عسکری (ع) پدر بزرگوار امام زمان را به تمام پیروان ایشان تبریک و تهنیت عرض می کنیم.
🌷 از خداوند منان به حق امام حسن عسکری برای تان بهترین ها را آرزومندیم.
@UnityLearning
🌷 از خداوند منان به حق امام حسن عسکری برای تان بهترین ها را آرزومندیم.
@UnityLearning
Unity Learning
🎵 #صوت 🔹 مطالب ابتدایی و مفهومی در مورد هوش مصنوعی ، هوش مصنوعی در بازی های اکشن @UnityLearning
⭕️ خلاصه مطالبی که در رابطه با هوش مصنوعی در صوتِ آموزشی بیان می شود.
👤 هوش مصنوعی : یک عملکرد هوشمندانه که توسط ماشین انجام می شود. عملکرد هوشمندانه بدین معناست که باید به نحوی باشد که قابلیت های تیم خود را افزایش داد و در مقابل کاری کرد که قابلیت های تیم مقابل کاهش یابد.
🔹 هوش مصنوعی در بازی های اکشن به دو دستۀ هوش مصنوعی ثابت و متحرک تبدیل می شود. این تقسیم بندی از نظر حرکت کردن هوش مصنوعی می باشد.
📍در پست های بعدی به زودی آموزش تصویری هوش مصنوعی در بازی های اکشن را شروع خواهیم کرد.
@UnityLearning
👤 هوش مصنوعی : یک عملکرد هوشمندانه که توسط ماشین انجام می شود. عملکرد هوشمندانه بدین معناست که باید به نحوی باشد که قابلیت های تیم خود را افزایش داد و در مقابل کاری کرد که قابلیت های تیم مقابل کاهش یابد.
🔹 هوش مصنوعی در بازی های اکشن به دو دستۀ هوش مصنوعی ثابت و متحرک تبدیل می شود. این تقسیم بندی از نظر حرکت کردن هوش مصنوعی می باشد.
📍در پست های بعدی به زودی آموزش تصویری هوش مصنوعی در بازی های اکشن را شروع خواهیم کرد.
@UnityLearning
⭕️ هوش مصنوعی ثابت در بازی های اکشن تیر اندازی
💡 همانطور که بیان شد، هوش مصنوعی در بازی های اکشن از نظر جابجایی دو نوع هستند: 1-ثابت 2-متحرک
🔹 در این پست اقدام به بررسی اعمالی که باید در هوش مصنوعی ثابت در بازی انجام بشود. در این نوع هوش مصنوعی ، آبجکتی که انجام دهندۀ اعمال است ثابت است و به طور کلی نیاز است اعمال زیر را انجام دهد.
📍بررسی یک شعاع از محل قرار گیری خود و اینکه آیا target وارد این محدوده شده است یا خیر؟ در صورتی که این شرط برقرار شود، یعنی فاصلۀ target تا آبجکتِ هوش مصنوعی یک مقدار خاص باشد، باید بررسی گردد آیا از نظر دیداری این دو آبجکت یک دیگر را می بینند یا خیر؟ بررسی شرط دوم به این علت انجام می شود که ممکن است هدف در محدودۀ داده شده قرار گرفته باشد اما یک مانع دیداری بین دو آبجکت قرار گرفته باشد، در این صورت نباید عملی توسط هوش مصنوعی صورت گیرد. اعمال ذکر شده در اسکریپت های هوش مصنوعی به طور استاندارد CanSeeTarget نامیده می شود که در واقع توسط این تابع دو شرط بیان شده در بالا بررسی می گردد.
✅ در صورت مثبت بودن هر دو شرط قبل، یا به طور کلی مثبت بودن تابع CanSeeTarget هوش مصنوعی اقدام به چرخش به سمت Target کرده و شلیک می کند. یک هوش مصنوعی ثابت تنها خلاقیتی که می تواند از خود نشان دهد شناسایی دقیق تر آبجکت های هدف است که توسط یک برنامه نویسی دقیق مشکل حل می گردد.
🎦 این آموزش به صورت #فیلم آموزشی به همراه اسکریپت ها در کانال به زودی قرار خواهد گرفت.
@UnityLearning
💡 همانطور که بیان شد، هوش مصنوعی در بازی های اکشن از نظر جابجایی دو نوع هستند: 1-ثابت 2-متحرک
🔹 در این پست اقدام به بررسی اعمالی که باید در هوش مصنوعی ثابت در بازی انجام بشود. در این نوع هوش مصنوعی ، آبجکتی که انجام دهندۀ اعمال است ثابت است و به طور کلی نیاز است اعمال زیر را انجام دهد.
📍بررسی یک شعاع از محل قرار گیری خود و اینکه آیا target وارد این محدوده شده است یا خیر؟ در صورتی که این شرط برقرار شود، یعنی فاصلۀ target تا آبجکتِ هوش مصنوعی یک مقدار خاص باشد، باید بررسی گردد آیا از نظر دیداری این دو آبجکت یک دیگر را می بینند یا خیر؟ بررسی شرط دوم به این علت انجام می شود که ممکن است هدف در محدودۀ داده شده قرار گرفته باشد اما یک مانع دیداری بین دو آبجکت قرار گرفته باشد، در این صورت نباید عملی توسط هوش مصنوعی صورت گیرد. اعمال ذکر شده در اسکریپت های هوش مصنوعی به طور استاندارد CanSeeTarget نامیده می شود که در واقع توسط این تابع دو شرط بیان شده در بالا بررسی می گردد.
✅ در صورت مثبت بودن هر دو شرط قبل، یا به طور کلی مثبت بودن تابع CanSeeTarget هوش مصنوعی اقدام به چرخش به سمت Target کرده و شلیک می کند. یک هوش مصنوعی ثابت تنها خلاقیتی که می تواند از خود نشان دهد شناسایی دقیق تر آبجکت های هدف است که توسط یک برنامه نویسی دقیق مشکل حل می گردد.
🎦 این آموزش به صورت #فیلم آموزشی به همراه اسکریپت ها در کانال به زودی قرار خواهد گرفت.
@UnityLearning
⚫️ رحلت حضرت فاطمه معصومه سلام الله علیها خواهر گرامی حضرت علی بن موسی الرضا را به تمام شیفتگان مکتب اهل بیت تسلیت عرض میکنیم.
یا فاطمھ المعصومھ
اشفعی لنا فی الجنه
@UnityLearning
یا فاطمھ المعصومھ
اشفعی لنا فی الجنه
@UnityLearning
Unity Learning
⭕️ هوش مصنوعی ثابت در بازی های اکشن تیر اندازی 💡 همانطور که بیان شد، هوش مصنوعی در بازی های اکشن از نظر جابجایی دو نوع هستند: 1-ثابت 2-متحرک 🔹 در این پست اقدام به بررسی اعمالی که باید در هوش مصنوعی ثابت در بازی انجام بشود. در این نوع هوش مصنوعی ، آبجکتی…
آموزش_کامل_هوش_مصنوعی_ثابت_در_یونیتی.mkv
142.9 MB
🎦 فیلم #آموزش ساخت هوش مصنوعی ثابت در بازی های اکشن تیر اندازی
🔸 نحوۀ ساخت یک هوش مصنوعی ثابت به کمک دستورات قبلی آموزش داده شده در فیلم تیر اندازی موشک
@UnityLearning
🔸 نحوۀ ساخت یک هوش مصنوعی ثابت به کمک دستورات قبلی آموزش داده شده در فیلم تیر اندازی موشک
@UnityLearning
Unity Learning
آموزش_کامل_هوش_مصنوعی_ثابت_در_یونیتی.mkv
SentryGun.js
1.7 KB
⭕️ اسکریپت آمادۀ استفاده شده در #فیلم مربوط به «هوش مصنوعی ثابت در بازی های اکشن»
این اسکریپت را به هر آبجکتی که در بازی حکم هوش مصنوعی را دارد و قابلیت چرخش به سمت هدف دارد، بدهید.
@UnityLearning
این اسکریپت را به هر آبجکتی که در بازی حکم هوش مصنوعی را دارد و قابلیت چرخش به سمت هدف دارد، بدهید.
@UnityLearning
Unity Learning
SentryGun.js
SentryGunCsharp.cs
1.6 KB
⭕️ اسکریپت هوش مصنوعی ثابت (استفاده شده در فیلم آموزشی) به زبان #سی_شارپ اسکریپت
🔸 با توجه به درخواست ها این اسکریپت به هر دو زبان سی شارپ و جاوا قرار گرفت.
@UnityLearning
🔸 با توجه به درخواست ها این اسکریپت به هر دو زبان سی شارپ و جاوا قرار گرفت.
@UnityLearning
🔹فرا رسیدن سال نو میلادی مبارک🎉🎈
⭐️ کانال یونیتی لرنینگ فرا رسیدن سال 2018 میلادی را به تمام کاربران عزیز تبریک عرض میکند.🎉🎊☃🎄🎈🎁
@UnityLearning
⭐️ کانال یونیتی لرنینگ فرا رسیدن سال 2018 میلادی را به تمام کاربران عزیز تبریک عرض میکند.🎉🎊☃🎄🎈🎁
@UnityLearning
Social_Guns_@UnityLearning.unitypackage
23.7 MB
⭕️ #دانلود #پکیج از چندین اسلحه شامل چندین Minigun ، SentryGun (با قابلیت استفاده به عنوان هوش مصنوعی ثابت) و یک تانک کامل( به صورت پریفاب شده)
🎨 ساخته شده توسط یونیتی لرنینگ
@UnityLearning
🎨 ساخته شده توسط یونیتی لرنینگ
@UnityLearning
Quaternion_Slerp.pdf
555.8 KB
⭕️ همه چیز در رابطه با دستور Quaternion.Slerp برای تغییر جهت یک آبجکت به صورت نرم از یک سو به سوی دیگر
🔹 از این دستور در #آموزش های هوش مصنوعی به جهت چرخش آبجکت به سمت هدف استفاده گردید.
🔹 از این دستور در #آموزش های هوش مصنوعی به جهت چرخش آبجکت به سمت هدف استفاده گردید.
Unity Learning
Quaternion_Slerp.pdf
⭕️ تعیین جهت یک آبجکت با استفاده از Vector3
👈 همانطور که در پست قبل بیان شد، پارامتر rotation از کلاس Transform در نسخه های جدید یونیتی از نوع Vector3 به Quaternion تبدیل شده است. حال در صورتی که بخواهیم جهت یک آبجکت را بر اساس پارامتر های Vector3 یعنی XYZ تعیین کنیم، می توانیم از دستور زیر استفاده کنیم./🔻
Quaternion.Euler(X,Y,Z);
🔹 دستور فوق معادل جهتی است که بردار (X,Y,Z) می سازد بوده و می توان از آن به طور مستقیم در مقابل پارامتر rotation از #کلاس Transform استفاده کرد. اگر بخواهیم جهت یک آبجکت به نام Obj به سمت بردار (2,20,30) قرار گیرد، به این شکل کد می نویسیم./🔻
Obj.transform.rotation=
Quaternion.Euler(2,20,30);
@UnityLearning
👈 همانطور که در پست قبل بیان شد، پارامتر rotation از کلاس Transform در نسخه های جدید یونیتی از نوع Vector3 به Quaternion تبدیل شده است. حال در صورتی که بخواهیم جهت یک آبجکت را بر اساس پارامتر های Vector3 یعنی XYZ تعیین کنیم، می توانیم از دستور زیر استفاده کنیم./🔻
Quaternion.Euler(X,Y,Z);
🔹 دستور فوق معادل جهتی است که بردار (X,Y,Z) می سازد بوده و می توان از آن به طور مستقیم در مقابل پارامتر rotation از #کلاس Transform استفاده کرد. اگر بخواهیم جهت یک آبجکت به نام Obj به سمت بردار (2,20,30) قرار گیرد، به این شکل کد می نویسیم./🔻
Obj.transform.rotation=
Quaternion.Euler(2,20,30);
@UnityLearning