📱تلگرام اندروید به نسخه 4 آپدیت شد.
💎همراهان عزیز و گرامی میتوانید با استفاده از لینک شیشه ای انتهای این پست آخرین نسخه تلگرام اندروید را از گوگل پلی دانلود کنید.
💎همراهان عزیز و گرامی میتوانید با استفاده از لینک شیشه ای انتهای این پست آخرین نسخه تلگرام اندروید را از گوگل پلی دانلود کنید.
com.unity3d.genericremote.apk
19.4 MB
⭕️ #دانلود اپلیکیشن #یونیتی برای تست بازی های ساخته شده در محیط Unity Editor
💠نام: Unity Remote
👁🗨نسخه : 5.0
@UnityLearning
💠نام: Unity Remote
👁🗨نسخه : 5.0
@UnityLearning
com.lesquare.strike.apk
36.7 MB
⭕️ #دانلود بازی Counter terrorist اندروید
💠همانطور که میدانید این بازی از معروف ترین بازی های ساخته شده با یونیتی است.
@UnityLearning
💠همانطور که میدانید این بازی از معروف ترین بازی های ساخته شده با یونیتی است.
@UnityLearning
🇮🇷پیروزی آقای حسن روحانی رئیس جمهور منتخب در انتخابات 96 را به تمام ملت عزیز ایران تبریک عرض میکنیم.
انتخابات 96
@UnityLearning
انتخابات 96
@UnityLearning
⭕ ایجاد آبجکت های مرتبط به هم (انجام یک مثال)
🔘 ما ابتدا منظور مان را با یک #مثال برای شما بیان می کنیم و بعد شرح کار را بیان می کنیم.
🔸 فرض کنید، می خواهید بازیکن یک کاری را انجام داده باشد، تا یک کار دیگر اتفاق بیافتد مثلا بازیکن 20 عدد سکه گرفته باشد تا به مرحله بعد برود یا اینکه یک آبجکت خاص را پیدا کند بعد به مرحله بعد برود و در صورتی که این اتفاق نیافتاده است، هیچ کاری در بازی انجام نشود (بهترین حالت پیدا کردن کلید برای بازشدن در است، فـــرض کنید در آبجکت در می خواهیم بررسی کنیم که اگر طرف کلید را پیدا کرده اســــت در باز شود، بنابراین فرض را بر روی همین مطلب کلید و درب می گذاریم و آموزش را بیان می کنیم، سایر موارد مثل بررسی گرفتن 20 سکه شرطی مانند همین دارد)
🔹 خب ابتدا باید بدانیم برای این کار لازم است دو آبجکت کلید و درب را به هم متصل کنیم، این کار را با تعریف متغیرهایی از جنس GameObject یا Transform انجام می دهیم. یعنی مثلا در کدی که قرار است به کلید بدهیم آبجکتی به این شکل برای درب درست می کنیم/👇
var Door:GameObject;
↙ حال لازم است کدی دیگر برای درب بنویسیم و در آن یک متغیر بولین تعریف کنیم و این متغیر را در تابعی مثلا به نام FindKey برابر true قرار دهیم که این به این معنی باشد که فرد کلید را پیدا کرده است و در اینجا (کدی که به کلید اختصاص می دهیم) این تابع را BroadcastMessage کنیم/👇
Door.BroadcastMessage("FindKey");
↙ این عمل برای این مثال (کلید) باید در تابع OnTriggerEnter مربوط به کلید انجام شود. کار های دیگری مثل بررسی اینکه کسی که وارد محدوده Trigger شده است Player است یا خیر؟ پخش صدا و ناپدید شدن کلید نیز می تواند در این زمان انجام شود. (کدها در زیر قرار می گیرد/👇 )
var Door:GameObject;
function OnTriggerEnter(C : Collider)
{
if(C.tag=="Player")
{
gameObject.GetComponent.<AudioSource>().Play();
yield WaitForSeconds(3);
Door.BroadcastMessage("FindKey");
Destroy(gameObject);
}
}
↙ این کد اگر به کلید صدایی مثل صدای جمع کردن کلید نیز داده باشیم، آن را پخش می کند.
▫ بسیار ساده تنها در اسکریپت دیگری که به آبجکت درب می دهیم کافی است در تابع Update چک کنیم متغیر سراسری true شده (یعنی بازیکن کلید را گرفته؟) و اینکه مثلا فرد کلید O را زده است یا خیر؟ اگر این اتفاق افتاده عمل خاص ما مثلا رفتن به مرحله بعد صورت گیرد. کدی مثل زیر/👇
private var FindKEY=false;
function Update()
{
if( Input.GetKey(KeyCode.O) && FindKEY)
{
OpenDoor();
}
}
↙ تابع FindKey که باید تعریف می کردیم را نیز در این اسکریپت تعریف می کنیم/
function FindKey()
{
FindKEY=true;
}
🔗 مجموعه عملیاتی که می خواهیم در این زمان انجام شود را در تابعی مثل OpenDoor تعـــریف می کنیم.
🔸 با توجه به نیاز خود می توانید این کد ها را تغییر دهید/ 👈 به طور مثال برای شمارش تعداد سکه هایی که فرد گرفته یک متغیر عددی (در اسکریپتی که به در داده شده است) تعریف می کنید و در تابع FindKey می گویید به آن یکی اضافه کند، اکنون در تابع Update نیز می گویید اگر این متغیر از 20 بیشتر بود عمل اصلی انجام شود.
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی #آبجکت
〰〰〰〰〰〰〰
⭕ کانــال یونـــیتی لرنـــینگ⭕
💢 @UnityLearning💢
🔘 ما ابتدا منظور مان را با یک #مثال برای شما بیان می کنیم و بعد شرح کار را بیان می کنیم.
🔸 فرض کنید، می خواهید بازیکن یک کاری را انجام داده باشد، تا یک کار دیگر اتفاق بیافتد مثلا بازیکن 20 عدد سکه گرفته باشد تا به مرحله بعد برود یا اینکه یک آبجکت خاص را پیدا کند بعد به مرحله بعد برود و در صورتی که این اتفاق نیافتاده است، هیچ کاری در بازی انجام نشود (بهترین حالت پیدا کردن کلید برای بازشدن در است، فـــرض کنید در آبجکت در می خواهیم بررسی کنیم که اگر طرف کلید را پیدا کرده اســــت در باز شود، بنابراین فرض را بر روی همین مطلب کلید و درب می گذاریم و آموزش را بیان می کنیم، سایر موارد مثل بررسی گرفتن 20 سکه شرطی مانند همین دارد)
🔹 خب ابتدا باید بدانیم برای این کار لازم است دو آبجکت کلید و درب را به هم متصل کنیم، این کار را با تعریف متغیرهایی از جنس GameObject یا Transform انجام می دهیم. یعنی مثلا در کدی که قرار است به کلید بدهیم آبجکتی به این شکل برای درب درست می کنیم/👇
var Door:GameObject;
↙ حال لازم است کدی دیگر برای درب بنویسیم و در آن یک متغیر بولین تعریف کنیم و این متغیر را در تابعی مثلا به نام FindKey برابر true قرار دهیم که این به این معنی باشد که فرد کلید را پیدا کرده است و در اینجا (کدی که به کلید اختصاص می دهیم) این تابع را BroadcastMessage کنیم/👇
Door.BroadcastMessage("FindKey");
↙ این عمل برای این مثال (کلید) باید در تابع OnTriggerEnter مربوط به کلید انجام شود. کار های دیگری مثل بررسی اینکه کسی که وارد محدوده Trigger شده است Player است یا خیر؟ پخش صدا و ناپدید شدن کلید نیز می تواند در این زمان انجام شود. (کدها در زیر قرار می گیرد/👇 )
var Door:GameObject;
function OnTriggerEnter(C : Collider)
{
if(C.tag=="Player")
{
gameObject.GetComponent.<AudioSource>().Play();
yield WaitForSeconds(3);
Door.BroadcastMessage("FindKey");
Destroy(gameObject);
}
}
↙ این کد اگر به کلید صدایی مثل صدای جمع کردن کلید نیز داده باشیم، آن را پخش می کند.
▫ بسیار ساده تنها در اسکریپت دیگری که به آبجکت درب می دهیم کافی است در تابع Update چک کنیم متغیر سراسری true شده (یعنی بازیکن کلید را گرفته؟) و اینکه مثلا فرد کلید O را زده است یا خیر؟ اگر این اتفاق افتاده عمل خاص ما مثلا رفتن به مرحله بعد صورت گیرد. کدی مثل زیر/👇
private var FindKEY=false;
function Update()
{
if( Input.GetKey(KeyCode.O) && FindKEY)
{
OpenDoor();
}
}
↙ تابع FindKey که باید تعریف می کردیم را نیز در این اسکریپت تعریف می کنیم/
function FindKey()
{
FindKEY=true;
}
🔗 مجموعه عملیاتی که می خواهیم در این زمان انجام شود را در تابعی مثل OpenDoor تعـــریف می کنیم.
🔸 با توجه به نیاز خود می توانید این کد ها را تغییر دهید/ 👈 به طور مثال برای شمارش تعداد سکه هایی که فرد گرفته یک متغیر عددی (در اسکریپتی که به در داده شده است) تعریف می کنید و در تابع FindKey می گویید به آن یکی اضافه کند، اکنون در تابع Update نیز می گویید اگر این متغیر از 20 بیشتر بود عمل اصلی انجام شود.
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی #آبجکت
〰〰〰〰〰〰〰
⭕ کانــال یونـــیتی لرنـــینگ⭕
💢 @UnityLearning💢
⭕کار با #فایل ها در یونیتی
🔘 برای اولین بار در اینترنت آموزش استفاده از فایل ها را به زبان جاوا اسکریپت را در این پست و پست های بعدی کانال یونیتی لرنینگ قـــرار می دهیم.
↙ برای اینکه در زبان جاوا اسکریپت بتوانید با فایل ها کار کنید باید فایل زیر را Import کنید/👇
import System.IO;
اکنون می توان به راحتی با دستورات خواندن و نوشتن از فایل با فایل ها کار کرد روی آن ها نوشت (دستورات زیر یک فایل را می سازند/ اگر وجود داشت خالی باز می کند(Overwrite) متن مورد نظر را در قالب هر خط در آن می نویسد و با دستورات بعد آن را می بندد. دستورات نوشتن به این شرح است/👇
var sw : StreamWriter = new StreamWriter(Path);
sw.WriteLine(Text);
sw.Flush();
sw.Close();
↙که در آن Path مسیر کامل فایل (به همراه درایور و ...) و Text متنی است که در خط اول آن نوشته می شود، بدیهی است اگر نیاز به خطوط دیگر باشد آن ها را با دستورات WriteLine پی در پی می نویسیم.
🔹دستورات خواندن نیز به این شکل است/👇
var sr = new File.OpenText(Path);
input = sr.ReadLine();
sr.Close();
🔗 توجه کنید که هر بار که دستور ReadLine صدا زده شود خط به خط متن را بر می گرداند و باید این کار را تا زمانی که این تابع Null را بر می گرداند (یعنی فایل به انتها رسیده است) ادامه پیدا کند.
↙ این کار به وسیله حلقه While قابل انجام است که در پست بعدی که اسکریپتی برای خواندن و نوشتن به صورت #مثال قرار داده ایم قابل رویت است.
🔜 در پست بعدی یک اسکریپت برای کار با فایل ها قرار داده شده است، در نظر داریم کم کم این آموزش را تکمیل کنیم تا نسبت به فرآیند کار با فایل ها در یونیتی به حد مطلوبی برسیم. این اسکریپت شامل دو تابع عالی نوشته شده برای خواندن و نوشتن فایل است که می توانید آن را برای همه اسکریپت های خود استفاده کنید، چون هیچ گونه ایرادی ندارند و به خوبی کار می کنند.
🔘 در این اسکریپت دو تابع WriteFile با پارامتر مسیر فایل و متن ارسالی و همچنین تابع ReadFile با پارامتر مسیر فایل و بازگشت متنی که در آن است (تابع بازگشتی از نوع String) نوشته شده است.
▪ برای استفاده از این توابع این اسکریپت به این شکل عمل می کند که در ابتدای شروع بازی متن Start را در فایل قرار می دهد و اگر بازی کن کلید E را فشار داد متن Hi Unity را در یک فایل می نویسد.
▫ در ادامه اگر کاربر کلید O را زد و همچنین در فایل مورد نظر متن Hi Unity بود، یک عمل مثلا جابجایی آبجکت انجام می پذیرد. می توان برای امتحان این اسکرپیت را به یک آبجکت خالی (مثل Cube) داد.
🔹 از این دستورات می توان بسیار در بازی ها استفاده کرد، کاربرد های خاص آن برای انجام یک سری عملیات (مثل بازی IGI) در طی بازی است و این که بخواهید بررسی کنید آیا بازیکن همه این عملیات را انجام داده است یا خیر؟
🔸 از کاربرد دیگر نیز می توان به Save کردن بازی و یا مراحلی که بازیکن جاری رفته است اشاره کرد. شما می توانید مراحلی که بازیکن آن ها پشت سر گذاشته را در یک فایل قرار دهید و در هنگام شروع بازی بررسی کنید و از مرحله صحیح بازی را شروع کنید و بسیاری کاربرد فراوان دیگر
◀ دقت کنید این آموزش یعنی «ذخیره فایل در یونیتی با جاوا اسکریپت» برای اولین بار در اینترنت قرار گرفته است.
↙ در پست بعدی می توانید اسکرپیت مورد نظر را دانلود و مشاهده نمایید.
💢دانلود/👇
https://t.me/UnityLearning/459
#اسکریپت_نویسی #کد_نویسی #برنامه #یونیتی #کلاس
〰〰〰〰〰〰〰
⭕ کـــانال یونــــیتی لـــرنینگ⭕
💢 @UnityLearning💢
🔘 برای اولین بار در اینترنت آموزش استفاده از فایل ها را به زبان جاوا اسکریپت را در این پست و پست های بعدی کانال یونیتی لرنینگ قـــرار می دهیم.
↙ برای اینکه در زبان جاوا اسکریپت بتوانید با فایل ها کار کنید باید فایل زیر را Import کنید/👇
import System.IO;
اکنون می توان به راحتی با دستورات خواندن و نوشتن از فایل با فایل ها کار کرد روی آن ها نوشت (دستورات زیر یک فایل را می سازند/ اگر وجود داشت خالی باز می کند(Overwrite) متن مورد نظر را در قالب هر خط در آن می نویسد و با دستورات بعد آن را می بندد. دستورات نوشتن به این شرح است/👇
var sw : StreamWriter = new StreamWriter(Path);
sw.WriteLine(Text);
sw.Flush();
sw.Close();
↙که در آن Path مسیر کامل فایل (به همراه درایور و ...) و Text متنی است که در خط اول آن نوشته می شود، بدیهی است اگر نیاز به خطوط دیگر باشد آن ها را با دستورات WriteLine پی در پی می نویسیم.
🔹دستورات خواندن نیز به این شکل است/👇
var sr = new File.OpenText(Path);
input = sr.ReadLine();
sr.Close();
🔗 توجه کنید که هر بار که دستور ReadLine صدا زده شود خط به خط متن را بر می گرداند و باید این کار را تا زمانی که این تابع Null را بر می گرداند (یعنی فایل به انتها رسیده است) ادامه پیدا کند.
↙ این کار به وسیله حلقه While قابل انجام است که در پست بعدی که اسکریپتی برای خواندن و نوشتن به صورت #مثال قرار داده ایم قابل رویت است.
🔜 در پست بعدی یک اسکریپت برای کار با فایل ها قرار داده شده است، در نظر داریم کم کم این آموزش را تکمیل کنیم تا نسبت به فرآیند کار با فایل ها در یونیتی به حد مطلوبی برسیم. این اسکریپت شامل دو تابع عالی نوشته شده برای خواندن و نوشتن فایل است که می توانید آن را برای همه اسکریپت های خود استفاده کنید، چون هیچ گونه ایرادی ندارند و به خوبی کار می کنند.
🔘 در این اسکریپت دو تابع WriteFile با پارامتر مسیر فایل و متن ارسالی و همچنین تابع ReadFile با پارامتر مسیر فایل و بازگشت متنی که در آن است (تابع بازگشتی از نوع String) نوشته شده است.
▪ برای استفاده از این توابع این اسکریپت به این شکل عمل می کند که در ابتدای شروع بازی متن Start را در فایل قرار می دهد و اگر بازی کن کلید E را فشار داد متن Hi Unity را در یک فایل می نویسد.
▫ در ادامه اگر کاربر کلید O را زد و همچنین در فایل مورد نظر متن Hi Unity بود، یک عمل مثلا جابجایی آبجکت انجام می پذیرد. می توان برای امتحان این اسکرپیت را به یک آبجکت خالی (مثل Cube) داد.
🔹 از این دستورات می توان بسیار در بازی ها استفاده کرد، کاربرد های خاص آن برای انجام یک سری عملیات (مثل بازی IGI) در طی بازی است و این که بخواهید بررسی کنید آیا بازیکن همه این عملیات را انجام داده است یا خیر؟
🔸 از کاربرد دیگر نیز می توان به Save کردن بازی و یا مراحلی که بازیکن جاری رفته است اشاره کرد. شما می توانید مراحلی که بازیکن آن ها پشت سر گذاشته را در یک فایل قرار دهید و در هنگام شروع بازی بررسی کنید و از مرحله صحیح بازی را شروع کنید و بسیاری کاربرد فراوان دیگر
◀ دقت کنید این آموزش یعنی «ذخیره فایل در یونیتی با جاوا اسکریپت» برای اولین بار در اینترنت قرار گرفته است.
↙ در پست بعدی می توانید اسکرپیت مورد نظر را دانلود و مشاهده نمایید.
💢دانلود/👇
https://t.me/UnityLearning/459
#اسکریپت_نویسی #کد_نویسی #برنامه #یونیتی #کلاس
〰〰〰〰〰〰〰
⭕ کـــانال یونــــیتی لـــرنینگ⭕
💢 @UnityLearning💢
Files.js
927 B
⭕ #دانلود اسکریپت #آماده برای کار با فایل ها مربوط به پست قبل
💢لینک/👇
https://t.me/UnityLearning/458
@UnityLearning
💢لینک/👇
https://t.me/UnityLearning/458
@UnityLearning
serpiente.rar
4.6 MB
⭕ #دانلود #آبجکت کامل Snack مار به همراه کلیه #تکسچر ها
🔸 به #درخواست کاربران کانال
🔹 فایل با فرمت FBX می باشد.
@UnityLearning
🔸 به #درخواست کاربران کانال
🔹 فایل با فرمت FBX می باشد.
@UnityLearning
⭕تولید عدد تصادفی در #یونیتی
🔸 برای تولید یک عدد تصادفی در جاوا اسکریپت روش های متعددی از جمله استفاده از دستورات کلاس Mathf وجود دارد (که این روش را در پست های آینده توضیح می دهیم) اما یک روش بسیار ساده در #یونیتی برای تولید عدد تصادفی وجود دارد که چون برخی کاربران درخواست داده بودند آن را بیان می کنیم.
👌 این روش بسیار کاربردی است چون در یونیتی و #جاوا اسکریپت نیازی به هیچ Import نیست!
↙ دستور تولید یک عدد تصادفی بین دو عدد به شکل زیر است (البته بهتر است بگوییم ساده ترین دستور تولید یک عدد تصادفی صحیح بین دو عدد به شکل زیر است/👇)
Random.Range(M,N);
👈 که خروجی آن یک عدد تصادفی بین M و N است به طور مثال/👇
Random.Range(0,10);
👈 یک عدد تصادفی بین 0 تا 10 تولید کرده و بر می گرداند، برای تبدیل آن به رشته (در صورت نیاز) نیز از ToString() استفاده می شود/👇
Random.Range(0,10).ToString();
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی #تولید_عدد_تصادفی
〰〰〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
💢 @UnityLearning💢
🔸 برای تولید یک عدد تصادفی در جاوا اسکریپت روش های متعددی از جمله استفاده از دستورات کلاس Mathf وجود دارد (که این روش را در پست های آینده توضیح می دهیم) اما یک روش بسیار ساده در #یونیتی برای تولید عدد تصادفی وجود دارد که چون برخی کاربران درخواست داده بودند آن را بیان می کنیم.
👌 این روش بسیار کاربردی است چون در یونیتی و #جاوا اسکریپت نیازی به هیچ Import نیست!
↙ دستور تولید یک عدد تصادفی بین دو عدد به شکل زیر است (البته بهتر است بگوییم ساده ترین دستور تولید یک عدد تصادفی صحیح بین دو عدد به شکل زیر است/👇)
Random.Range(M,N);
👈 که خروجی آن یک عدد تصادفی بین M و N است به طور مثال/👇
Random.Range(0,10);
👈 یک عدد تصادفی بین 0 تا 10 تولید کرده و بر می گرداند، برای تبدیل آن به رشته (در صورت نیاز) نیز از ToString() استفاده می شود/👇
Random.Range(0,10).ToString();
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی #تولید_عدد_تصادفی
〰〰〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
💢 @UnityLearning💢
com.pcvirt.Viewer3D.apk
3.1 MB
⭕️ #دانلود نرم افزار مشاهده آبجکت های سه بعدی در اندروید
🔸نام نرم افزار 3D Object Viewer
@UnityLearning
🔸نام نرم افزار 3D Object Viewer
@UnityLearning
Media is too big
VIEW IN TELEGRAM
⭕️ #دانلود #فیلم ده بازی برتر موبایل با عنوان
Top 10 Open World Android Games 2017 | Must Play In 2017 Best Open World Android Games 2017
@UnityLearning
Top 10 Open World Android Games 2017 | Must Play In 2017 Best Open World Android Games 2017
@UnityLearning
com.wAngrybird_4396666.apk
14.2 MB
⭕️ #دانلود یکی از سری بازی های Angry Bird
📍از معروف ترین بازی های موبایل ساخته شده با یونیتی Angry birds است که برخی از آنها را در کانال برای مشاهده و دانلود قرار میدهیم.
@UnityLearning
📍از معروف ترین بازی های موبایل ساخته شده با یونیتی Angry birds است که برخی از آنها را در کانال برای مشاهده و دانلود قرار میدهیم.
@UnityLearning
com.rovio.angrybirdsstarwars.ads.iap.apk
47.7 MB
⭕️ #دانلود نسخه اندروید بازی Starwar از سری بازی های Angry Birds که با یونیتی در پلتفرم های مختلف توسط
"راویو اینترتینمنت"
تولید شده است.
@UnityLearning
"راویو اینترتینمنت"
تولید شده است.
@UnityLearning
⭕️دستورات کار با لیزر Reycast و Linecast
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی
🔸در یونیتی برای انجام یک سری کار بسیار مهم از دستورات ارسال لیزر با کلاس کاربردی Physics استفاده میشود.
🔹این کار ها مثل بررسی اینکه آیا دو آبجکت از نظر دیداری یک دیگر را میبینند؟ (CanSee) و یا تیر اندازی و هوش مصنوعی استفاده میشود.
▫️در پست آتی چند دستور مربوط به کلاس Physics را با هم بررسی میکنیم. همانطور که بیان شد این دستورات بسیار کاربردی و مهم هستند و یادگیری آنها کمک زیادی به ساخت بازی ها با محیطی واقعی تر خواهد کرد.
ℹ️ ادامه/👇
https://t.me/UnityLearning/471
@UnityLearning
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی
🔸در یونیتی برای انجام یک سری کار بسیار مهم از دستورات ارسال لیزر با کلاس کاربردی Physics استفاده میشود.
🔹این کار ها مثل بررسی اینکه آیا دو آبجکت از نظر دیداری یک دیگر را میبینند؟ (CanSee) و یا تیر اندازی و هوش مصنوعی استفاده میشود.
▫️در پست آتی چند دستور مربوط به کلاس Physics را با هم بررسی میکنیم. همانطور که بیان شد این دستورات بسیار کاربردی و مهم هستند و یادگیری آنها کمک زیادی به ساخت بازی ها با محیطی واقعی تر خواهد کرد.
ℹ️ ادامه/👇
https://t.me/UnityLearning/471
@UnityLearning
⭕️مشهور ترین و پر استفاده ترین زبان های برنامه نویسی در سال میلادی که گذشت (2016) توسط سایت Stack Over Flow
این مقاله با عنوان
Developer Survey Results
2016
منتشر شده است.
@UnityLearning
این مقاله با عنوان
Developer Survey Results
2016
منتشر شده است.
@UnityLearning
Unity Learning
⭕️دستورات کار با لیزر Reycast و Linecast #اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی 🔸در یونیتی برای انجام یک سری کار بسیار مهم از دستورات ارسال لیزر با کلاس کاربردی Physics استفاده میشود. 🔹این کار ها مثل بررسی اینکه آیا دو آبجکت از نظر دیداری یک دیگر را میبینند؟…
امروز ادامه این آموزش در کانال قرار میگیرد.
🔹سپاه جان به خوزستان کشیدند
شهادت را به جان ارزان خریدند
🔸نماز خون به خونین شهر خواندند
مهاجم را ز خرمشهر راندند
🔹وطن یعنی اذان عشق گفتن
وطن یعنی غبار از عشق رفتن
🔸وطن یعنی چه آباد و چه ویران
وطن یعنی همینجا یعنی ایران
🇮🇷سالروز آزاد سازی خرمشهر قهرمان را به تمام ملت ایران تبریک عرض میکنیم.
🔹دانلود آهنگ با صدای علی رضا عصار/👇
▶️ http://goo.gl/u1IiUH
@UnityLearning
شهادت را به جان ارزان خریدند
🔸نماز خون به خونین شهر خواندند
مهاجم را ز خرمشهر راندند
🔹وطن یعنی اذان عشق گفتن
وطن یعنی غبار از عشق رفتن
🔸وطن یعنی چه آباد و چه ویران
وطن یعنی همینجا یعنی ایران
🇮🇷سالروز آزاد سازی خرمشهر قهرمان را به تمام ملت ایران تبریک عرض میکنیم.
🔹دانلود آهنگ با صدای علی رضا عصار/👇
▶️ http://goo.gl/u1IiUH
@UnityLearning
⭕ #ادامه #آموزش دستورات #کلاس Physics
ℹ مطلب قبلی/👇
https://t.me/UnityLearning/466
🔙 قبلا بیان کردیم زمانی که می خواهیم یک لیزر با هر کاربردی به یک محل مستقیم شکلیک شود و دستورات Reycast کلاس Physics بهره می بریم. امروز یکی از این دستورات را با هم بررسی می کنیم.
🔗 فرض کنید می خواهید یک لیزر شلیک شود و آبجکتی که این لیرز به آن برخورد می کند را شما می خواهید(حالت عالی بیان مثال شلیک کردن است/ شما می خواهید به سمت روبرو شلیک کنید و اگر آن آبجکت دشمن بود کشته شود یا هر بلایی سرش بیاید که شما در اسکریپت های خودش به وسیله یک تابع برایش مشخص کردید)
▪ خب برای شلیک شدن یک لیزر ابتـــدا باید آن را تعریف کرد، دســـتور زیر یک لیزر از نوع ReycastHit تعریف می کند/👇
var hit:RaycastHit;
💎 می توانیم به استفاده از #کلاس Physics و تابع Reycast آن لیزر را به سمت هدف پرتاب کنیم. مطالبی که در این تابع مهم است، این است که این لیزر از کجا( جه موقعیتی) به چه سمتی(بردار سه بعدی جهت) پرتاب شود. همچنین در نهایت فاصله نهایی که این لیزر می پیماید چقدر باشد(نهایتا تا چه حدی جلو برود اگر به هیچ آبجکتی نخورد) دستور به این شکل است/👇
Physics.Raycast(position,direction,hit,interval)
▫ پارمتر ها 👇
🔸 موقعیت مکانی مبدا ارسال لیزر (در فضای سه بعدی)
🔹 بردار جهت ارسال لیزر (بردار سه بعدی Vector3)
🔸 لیزر که در مرحله اول تعریف کردیم(hit از نوع ReycastHit)
🔹 فاصله نهایی که طی می کند که عدد 100 مقدار مناسبی برای آن است (متغیر عددی integer)
🔸 این تابع Reyscast زمانی true خواهد بود که لیزر hit به یک ابجکت دارای #کامپوننت کالیدر برخورد کند و در غیر این صورت مثلا زمانی که به سمت آسمان لیزر پرتاب شود و تا فاصله مورد نظر به چیزی برخورد نکند مقدار false را بر می گرداند. بنابراین لازم است آن را در یک دستور شرطی if قرار دهیم و در شرایط اجرا if کار هایی که می خواهیم را انجام دهیم مثال برای این قسمت «اگر بخواهیم یک لیزر به سمت روبروی شی جاری پرتاب شود به این شکل کد می نوسیم ابتدا بردار جهت روبرو را محاسبه می کنیم و در متغیر از جنس Vector3 قرار می دهیم و در نهایت نیز آن را به تابع می دهیم./👇
var direction =transform.TransformDirection(Vector3.forward);
if(Physics.Raycast(transform.position,direction,hit,100))
{......
◀ نکته مهم در انجا این است که آبجکتی که لیزر به آن برخورد کرده است تا اینجا در متغیر hit قـــرار می گیرد. بنابراین اگر بخواهیم مثلا تابعی از آن را اجرا کنیم دستور Broadcast را به شکل زیر می نویسیم/👇
hit.BroadcastMessage("....");
🔺 سایر دستورات این مطلب در ادامه قرار می گیرد و کامل آن ها را بررسی می کنیم.
🔘 ما تا اینجا یاد گرفتیم بتوانیم یک لیزر از یک محل به سمت یک محل دیگر ارسال کنیم و این لیزر به هر آبجکتی برخورد کرد (که کالیدر داشت) به آن #آبجکت دسترسی داشته باشیم.
〰〰〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
💢 @UnityLearning💢
ℹ مطلب قبلی/👇
https://t.me/UnityLearning/466
🔙 قبلا بیان کردیم زمانی که می خواهیم یک لیزر با هر کاربردی به یک محل مستقیم شکلیک شود و دستورات Reycast کلاس Physics بهره می بریم. امروز یکی از این دستورات را با هم بررسی می کنیم.
🔗 فرض کنید می خواهید یک لیزر شلیک شود و آبجکتی که این لیرز به آن برخورد می کند را شما می خواهید(حالت عالی بیان مثال شلیک کردن است/ شما می خواهید به سمت روبرو شلیک کنید و اگر آن آبجکت دشمن بود کشته شود یا هر بلایی سرش بیاید که شما در اسکریپت های خودش به وسیله یک تابع برایش مشخص کردید)
▪ خب برای شلیک شدن یک لیزر ابتـــدا باید آن را تعریف کرد، دســـتور زیر یک لیزر از نوع ReycastHit تعریف می کند/👇
var hit:RaycastHit;
💎 می توانیم به استفاده از #کلاس Physics و تابع Reycast آن لیزر را به سمت هدف پرتاب کنیم. مطالبی که در این تابع مهم است، این است که این لیزر از کجا( جه موقعیتی) به چه سمتی(بردار سه بعدی جهت) پرتاب شود. همچنین در نهایت فاصله نهایی که این لیزر می پیماید چقدر باشد(نهایتا تا چه حدی جلو برود اگر به هیچ آبجکتی نخورد) دستور به این شکل است/👇
Physics.Raycast(position,direction,hit,interval)
▫ پارمتر ها 👇
🔸 موقعیت مکانی مبدا ارسال لیزر (در فضای سه بعدی)
🔹 بردار جهت ارسال لیزر (بردار سه بعدی Vector3)
🔸 لیزر که در مرحله اول تعریف کردیم(hit از نوع ReycastHit)
🔹 فاصله نهایی که طی می کند که عدد 100 مقدار مناسبی برای آن است (متغیر عددی integer)
🔸 این تابع Reyscast زمانی true خواهد بود که لیزر hit به یک ابجکت دارای #کامپوننت کالیدر برخورد کند و در غیر این صورت مثلا زمانی که به سمت آسمان لیزر پرتاب شود و تا فاصله مورد نظر به چیزی برخورد نکند مقدار false را بر می گرداند. بنابراین لازم است آن را در یک دستور شرطی if قرار دهیم و در شرایط اجرا if کار هایی که می خواهیم را انجام دهیم مثال برای این قسمت «اگر بخواهیم یک لیزر به سمت روبروی شی جاری پرتاب شود به این شکل کد می نوسیم ابتدا بردار جهت روبرو را محاسبه می کنیم و در متغیر از جنس Vector3 قرار می دهیم و در نهایت نیز آن را به تابع می دهیم./👇
var direction =transform.TransformDirection(Vector3.forward);
if(Physics.Raycast(transform.position,direction,hit,100))
{......
◀ نکته مهم در انجا این است که آبجکتی که لیزر به آن برخورد کرده است تا اینجا در متغیر hit قـــرار می گیرد. بنابراین اگر بخواهیم مثلا تابعی از آن را اجرا کنیم دستور Broadcast را به شکل زیر می نویسیم/👇
hit.BroadcastMessage("....");
🔺 سایر دستورات این مطلب در ادامه قرار می گیرد و کامل آن ها را بررسی می کنیم.
🔘 ما تا اینجا یاد گرفتیم بتوانیم یک لیزر از یک محل به سمت یک محل دیگر ارسال کنیم و این لیزر به هر آبجکتی برخورد کرد (که کالیدر داشت) به آن #آبجکت دسترسی داشته باشیم.
〰〰〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
💢 @UnityLearning💢
#خبر
◀️کلیه آبجکت های انیمیشن Adam برای دانلود منتشر شد.
🎥این انیمیشن که در پست زیر demo آن به صورت #فیلم قرار گرفت به زودی منتشر خواهد شد.
https://t.me/UnityLearning/426
🔹اکنون و قبل از انتشار نهایی آن تیم ساخت تصمیم بر این گرفته که کلیه آبجکت ها و Assetهای این انیمیشن را برای دانلود قرار دهد. تا بزودی بازی آن نیز توسط موتور یونیتی تولید شود.
🔸صفحه Adam در سایت یونیتی/👇
https://goo.gl/jUHRYK
با مراجعه به سایت بالا میتوانید تمام آبجکت ها و Assetها را نیز دانلود کنید.
💡کانال یونیتی لرنینگ تصمیم بر این دارد تا اخبارِ تولید و نشر بازی هایی که با یونیتی ساخته میشوند را نیز در پست های کانال قرار دهد. این اخبار با تگ #خبر در یونیتی لرنینگ قابل دسترسی است.
@UnityLearning
◀️کلیه آبجکت های انیمیشن Adam برای دانلود منتشر شد.
🎥این انیمیشن که در پست زیر demo آن به صورت #فیلم قرار گرفت به زودی منتشر خواهد شد.
https://t.me/UnityLearning/426
🔹اکنون و قبل از انتشار نهایی آن تیم ساخت تصمیم بر این گرفته که کلیه آبجکت ها و Assetهای این انیمیشن را برای دانلود قرار دهد. تا بزودی بازی آن نیز توسط موتور یونیتی تولید شود.
🔸صفحه Adam در سایت یونیتی/👇
https://goo.gl/jUHRYK
با مراجعه به سایت بالا میتوانید تمام آبجکت ها و Assetها را نیز دانلود کنید.
💡کانال یونیتی لرنینگ تصمیم بر این دارد تا اخبارِ تولید و نشر بازی هایی که با یونیتی ساخته میشوند را نیز در پست های کانال قرار دهد. این اخبار با تگ #خبر در یونیتی لرنینگ قابل دسترسی است.
@UnityLearning