⭕️برخی دستورات #کلاس Vector3
🔹همانطور که قبلا نیز گفتیم این کلاس برای کار با بردار های سه بعدی (یا نقاط در صفحه سه بعدی) استفاده میشود.
🔸برای محاسبه زاویه بین دو بردار از دستور Vector3.Angle استفاده میشود این تابع دو پارامتر از نوع Vector3 میگیرد که در واقع همان دو بردار مورد نظر هستند و تابع زاویه بین آنها را از نوع float بر میگرداند.
👈 #مثال
var angle: float = Vector3.Angle(targetDir, transform.forward);
🔹این دستور زاویه بین دو بردار روبرو آبجکت جاری و targetDir را محاسبه کرده و در متغیر angle قرار میدهد.
◻️ برای «محاسبه فاصله دو نقطه از هم» بر حسب متر نیز از تابع Vector3.Distance استفاده میشود. این تابع دو نقطه از نوع Vector3 دریافت میکند و فاصله آنها را بر اساس دستورات ریاضی «جذر حاصل جمع مکعب هر کدام از پارامتر های xyz» محاسبه میکند و آن را برمی گرداند(خروجی از نوع float است و به علت اینکه برای محاسبه این عدد (فاصله) نیاز به جذر گرفتن هست اکثر مواقع این عدد یک عدد گُنگ است.
▫️هر متغیری از کلاس Vector3 داشته باشیم میتوانیم با دستورات XYZ به مقادیر این پارامتر ها به طور جداگانه دسترسی داشت /👇
var vct:Vector3;
▪️دستور زیر مقدار X مربوط به متغیر را بر می گرداند(اگر vct بیان کننده یک نقطه باشد 👈 x معادل موقعیت x در صفحه است و اگر معادل یک بردار باشد x معادل پارامتر x از آن است یعنی برداری که از نقطه (0،0،0) به سمت نقطه (X,Y,Z) رسم میشود معادل بردار مورد نظر ماست) /👇
vct.x;
#بردار #اسکریپت_نویسی #جاوا #یونیتی
👈 #ادامه_دارد
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
🔹همانطور که قبلا نیز گفتیم این کلاس برای کار با بردار های سه بعدی (یا نقاط در صفحه سه بعدی) استفاده میشود.
🔸برای محاسبه زاویه بین دو بردار از دستور Vector3.Angle استفاده میشود این تابع دو پارامتر از نوع Vector3 میگیرد که در واقع همان دو بردار مورد نظر هستند و تابع زاویه بین آنها را از نوع float بر میگرداند.
👈 #مثال
var angle: float = Vector3.Angle(targetDir, transform.forward);
🔹این دستور زاویه بین دو بردار روبرو آبجکت جاری و targetDir را محاسبه کرده و در متغیر angle قرار میدهد.
◻️ برای «محاسبه فاصله دو نقطه از هم» بر حسب متر نیز از تابع Vector3.Distance استفاده میشود. این تابع دو نقطه از نوع Vector3 دریافت میکند و فاصله آنها را بر اساس دستورات ریاضی «جذر حاصل جمع مکعب هر کدام از پارامتر های xyz» محاسبه میکند و آن را برمی گرداند(خروجی از نوع float است و به علت اینکه برای محاسبه این عدد (فاصله) نیاز به جذر گرفتن هست اکثر مواقع این عدد یک عدد گُنگ است.
▫️هر متغیری از کلاس Vector3 داشته باشیم میتوانیم با دستورات XYZ به مقادیر این پارامتر ها به طور جداگانه دسترسی داشت /👇
var vct:Vector3;
▪️دستور زیر مقدار X مربوط به متغیر را بر می گرداند(اگر vct بیان کننده یک نقطه باشد 👈 x معادل موقعیت x در صفحه است و اگر معادل یک بردار باشد x معادل پارامتر x از آن است یعنی برداری که از نقطه (0،0،0) به سمت نقطه (X,Y,Z) رسم میشود معادل بردار مورد نظر ماست) /👇
vct.x;
#بردار #اسکریپت_نویسی #جاوا #یونیتی
👈 #ادامه_دارد
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ برخی دستورات #کلاس Vector3 #ادامه
▪️با تابع Normalize میتوان مقادیر یک بردار (یا نقطه) را به صورت نرمال شده (بین صفر و یک) در آورد/👇
Vector3. Normalize(Vector);
▫️این دستور یک بردار (Vector3) با مقادیر نرمال شده بردار Vector را برمی گرداند.
🔸تابع MoveToward موقعیت لازم برای حرکت یک آبجکت از محلی به محل دیگر را بر می گرداند. پارامتر های دستور به این ترتیب هستند که پارامتر اول موقعیت فعلی آبجکت است، پارامتر دوم موقعیت نهایی است که در نظر داریم به آن برسیم و میزان جابجایی نیز در پارامتر سوم است. در واقع این تابع هر بار موقعیتی را از نقطه اول(شروع) به سمت نقطه پایان که به میزان داده شده پیموده شود میدهد. به طور مثال فرض کنید بخواهیم از نقطه A به سمت نقطه B به میزان 2 واحد برویم دستور را به این شکل به کار میبریم/👇
Vector3.MoveTowards(A,B,2);
🔹این دستور موقعیت جدید را بر میگرداند. دستوری بسیار مناسب برای حرکت آبجکت ها به دنبال هم و یا به سمت دلخواه (جایگزینی مناسب برای دستور Translate)
👈 #ادامه_دارد
〰〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
▪️با تابع Normalize میتوان مقادیر یک بردار (یا نقطه) را به صورت نرمال شده (بین صفر و یک) در آورد/👇
Vector3. Normalize(Vector);
▫️این دستور یک بردار (Vector3) با مقادیر نرمال شده بردار Vector را برمی گرداند.
🔸تابع MoveToward موقعیت لازم برای حرکت یک آبجکت از محلی به محل دیگر را بر می گرداند. پارامتر های دستور به این ترتیب هستند که پارامتر اول موقعیت فعلی آبجکت است، پارامتر دوم موقعیت نهایی است که در نظر داریم به آن برسیم و میزان جابجایی نیز در پارامتر سوم است. در واقع این تابع هر بار موقعیتی را از نقطه اول(شروع) به سمت نقطه پایان که به میزان داده شده پیموده شود میدهد. به طور مثال فرض کنید بخواهیم از نقطه A به سمت نقطه B به میزان 2 واحد برویم دستور را به این شکل به کار میبریم/👇
Vector3.MoveTowards(A,B,2);
🔹این دستور موقعیت جدید را بر میگرداند. دستوری بسیار مناسب برای حرکت آبجکت ها به دنبال هم و یا به سمت دلخواه (جایگزینی مناسب برای دستور Translate)
👈 #ادامه_دارد
〰〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
📷 حرم مطهر امام حسین علیه السلام در شب عرفه «هم اکنون»
◻️◽️▫️السلام علیک یا اباعبدالله الحسین
🌷التماس دعا
@UnityLearning
◻️◽️▫️السلام علیک یا اباعبدالله الحسین
🌷التماس دعا
@UnityLearning
⭕️ برخی دستورات مربوط به UI Text در کد نویسی
▪️اگر یک متغیر از نوع UI Text برای دسترسی به آن داشته باشیم یعنی با فرض تعریف به شکل زیر /👇
#سی_شارپ
Using UnityEngin.UI
Text Txt;
#جاوا
var Txt:UnityEngine.UI.Text;
👈با پارامتر color میتوان به رنگ متن دسترسی داشت. برای تغییر رنگ باید از #کلاس Color استفاده کرد که جزئیات بیشتر در پست زیر موجود است/👇
https://t.me/UnityLearning/1005
▫️با پارامتر font نیز میتوان فونت یک متن را در زمان اجرای بازی تغییر داد. این فونت باید در یونیتی تعریف شده باشد و آن را به اسکریپت معرفی کنیم، برای تعریف یک نوع داده فونت از کلاس Font استفاده میشود. این کلاس شامل پارامتر هایی مثل اندازه فونت و... است که در پست های بعد بیشتر در مورد آن توضیح میدهیم.
🔹برای تعیین تراز بندی (alignment) متن نیز از پارامتر alignment استفاده میشود. یک متن می تواند 6 حالت مختلف برای تراز بندی داشته باشد (مثلا بالا چپ چین، پایین راست چین و...) که این پارامتر ها با کلاس TextAnchor مشخص میشوند. مثلا
TextAnchor.MiddleLeft
▫️یعنی وسط چپ چین یا دستور /👇
TextAnchor.LowerCenter
🔸به معنای پایین وسط چین میباشد که باید این دستورات را به پارامتر alignment مربوط به یک UI Text داد. /👇
Txt.alignment = TextAnchor.LowerCenter;
🔹سایر دستورات و همچنین کلاس های لازم برای UI Text در پست های آتی توضیح داده خواهند شد.
#اسکریپت_نویسی #کد_نویسی در #یونیتی #برنامه
〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
▪️اگر یک متغیر از نوع UI Text برای دسترسی به آن داشته باشیم یعنی با فرض تعریف به شکل زیر /👇
#سی_شارپ
Using UnityEngin.UI
Text Txt;
#جاوا
var Txt:UnityEngine.UI.Text;
👈با پارامتر color میتوان به رنگ متن دسترسی داشت. برای تغییر رنگ باید از #کلاس Color استفاده کرد که جزئیات بیشتر در پست زیر موجود است/👇
https://t.me/UnityLearning/1005
▫️با پارامتر font نیز میتوان فونت یک متن را در زمان اجرای بازی تغییر داد. این فونت باید در یونیتی تعریف شده باشد و آن را به اسکریپت معرفی کنیم، برای تعریف یک نوع داده فونت از کلاس Font استفاده میشود. این کلاس شامل پارامتر هایی مثل اندازه فونت و... است که در پست های بعد بیشتر در مورد آن توضیح میدهیم.
🔹برای تعیین تراز بندی (alignment) متن نیز از پارامتر alignment استفاده میشود. یک متن می تواند 6 حالت مختلف برای تراز بندی داشته باشد (مثلا بالا چپ چین، پایین راست چین و...) که این پارامتر ها با کلاس TextAnchor مشخص میشوند. مثلا
TextAnchor.MiddleLeft
▫️یعنی وسط چپ چین یا دستور /👇
TextAnchor.LowerCenter
🔸به معنای پایین وسط چین میباشد که باید این دستورات را به پارامتر alignment مربوط به یک UI Text داد. /👇
Txt.alignment = TextAnchor.LowerCenter;
🔹سایر دستورات و همچنین کلاس های لازم برای UI Text در پست های آتی توضیح داده خواهند شد.
#اسکریپت_نویسی #کد_نویسی در #یونیتی #برنامه
〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ شبیه سازی وزش باد 💨 در یونیتی
👈همانطور که در پنجره Terrain Setting(پست قبل) مشاهده میکنید، بخشی برای تنظیمات Wind در یونیتی وجود دارد.
🔹در یونیتی درختان 🌲 و Grass ها 🌾 نسبت به باد واکنش نشان میدهند که این موضوع زمانی که به محیط بازی خود Grass (چمن) اضافه میکنید بیشتر نمایان است.
🔸برای اضافه کردن یک مرکز تولید باد که به اصطلاح Wind Zone نامیده میشود از مسیر زیر استفاده میشود. /👇
Game Object > Create General > Wind Zone.
▪️با اضافه کردن آن یک آبجکت جداگانه به #پنجره Hierarchy افزوده میشود که با انتخاب آن با گزینه های تنظیماتی آن در Inspector دسترسی خواهیم داشت.
🌬اولین و مهمترین گزینه، Mode است این گزینه مشخص کننده نوع باد (خطی یا چرخشی است) یاد خطی یا Direction کل Terrain را در یک جهت برای باد تحت تاثیر قرار می دهد.
🌪در مقابل باد چرخشی که واقعی تر هم به نظر می آید، فقط بخشی که در شعاع آن قرار دارد را در جهات مختلف تحت تاثیر قرار می دهد.
▫️گزینه های دیگر منوط به انتخاب نوع باد خواهند بود، مثلا گزینه Radius همان شعاعی است که در باد Spherical(چرخشی) در مورد آن صحبت کردیم.
👈گزینه های دیگر نیز برای تنظیمات پیشرفته مربوط به باد مثلا زمان تکرار (Frequently) و.... به کار می رود.
🌫 قدرت وزش بادی که همیشه به صورت پیش فرض به Grass ها وزیده میشود، در پنجره Terrain Setting قابل تنظیم است. این میزان باد فقط برای تکان خوردن Grass ها حتی زمانی که Wind Zone در محیط بازی قرار نداده اید ، تنظیم شده است.
🔹با قرار دادن Wind Zone باد در جهت معقول به درخت ها نیز وارد میشود، بنابراین توصیه میشود اگر لازم است در بازی شما باد وجود داشته باشد از Wind Zone استفاده کنید.
#یونیتی #برنامه
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
👈همانطور که در پنجره Terrain Setting(پست قبل) مشاهده میکنید، بخشی برای تنظیمات Wind در یونیتی وجود دارد.
🔹در یونیتی درختان 🌲 و Grass ها 🌾 نسبت به باد واکنش نشان میدهند که این موضوع زمانی که به محیط بازی خود Grass (چمن) اضافه میکنید بیشتر نمایان است.
🔸برای اضافه کردن یک مرکز تولید باد که به اصطلاح Wind Zone نامیده میشود از مسیر زیر استفاده میشود. /👇
Game Object > Create General > Wind Zone.
▪️با اضافه کردن آن یک آبجکت جداگانه به #پنجره Hierarchy افزوده میشود که با انتخاب آن با گزینه های تنظیماتی آن در Inspector دسترسی خواهیم داشت.
🌬اولین و مهمترین گزینه، Mode است این گزینه مشخص کننده نوع باد (خطی یا چرخشی است) یاد خطی یا Direction کل Terrain را در یک جهت برای باد تحت تاثیر قرار می دهد.
🌪در مقابل باد چرخشی که واقعی تر هم به نظر می آید، فقط بخشی که در شعاع آن قرار دارد را در جهات مختلف تحت تاثیر قرار می دهد.
▫️گزینه های دیگر منوط به انتخاب نوع باد خواهند بود، مثلا گزینه Radius همان شعاعی است که در باد Spherical(چرخشی) در مورد آن صحبت کردیم.
👈گزینه های دیگر نیز برای تنظیمات پیشرفته مربوط به باد مثلا زمان تکرار (Frequently) و.... به کار می رود.
🌫 قدرت وزش بادی که همیشه به صورت پیش فرض به Grass ها وزیده میشود، در پنجره Terrain Setting قابل تنظیم است. این میزان باد فقط برای تکان خوردن Grass ها حتی زمانی که Wind Zone در محیط بازی قرار نداده اید ، تنظیم شده است.
🔹با قرار دادن Wind Zone باد در جهت معقول به درخت ها نیز وارد میشود، بنابراین توصیه میشود اگر لازم است در بازی شما باد وجود داشته باشد از Wind Zone استفاده کنید.
#یونیتی #برنامه
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ #تکسچر مناسب Terrain برای زمین های ترک خورده (مثل کویر و یا کف رودخانه)
💡کیفیت: عادی
@UnityLearning
💡کیفیت: عادی
@UnityLearning
🌹در این عصر روز عرفه، روز دعا و استغفار ، ما را از دعای خیرتان بی بهره نگذارید.
🌸اللهم عجل لولیک الفرج🌸
▫️◽️◻️الـتماس دعا◻️◽️▫️
@UnityLearning
🌸اللهم عجل لولیک الفرج🌸
▫️◽️◻️الـتماس دعا◻️◽️▫️
@UnityLearning
Unity Learning
⭕️ شبیه سازی وزش باد 💨 در یونیتی 👈همانطور که در پنجره Terrain Setting(پست قبل) مشاهده میکنید، بخشی برای تنظیمات Wind در یونیتی وجود دارد. 🔹در یونیتی درختان 🌲 و Grass ها 🌾 نسبت به باد واکنش نشان میدهند که این موضوع زمانی که به محیط بازی خود Grass (چمن)…
👈چپ: Wind Zone در حالت Spherical
👉راست: Wind Zone در حالت Directional
🌪در حالت چرخشی باد فقط در محدوده مورد نظر اعمال میشود.
@UnityLearning
👉راست: Wind Zone در حالت Directional
🌪در حالت چرخشی باد فقط در محدوده مورد نظر اعمال میشود.
@UnityLearning
⭕️ استفاده از چند #دوربین برای یک صحنه
🎦 در صورتی که بخواهیم در بازی چند دوربین داشته باشیم، و در هر زمان یکی از آنها فعال باشد باید در بخش های مورد نظر دوربین را با کمک پارامتر enabled فعال/غیر فعال کرد. این حالت مشابه بازی هایی است که در آن ها با فشردن یک کلید دوربین جابجا میشود، مثل بازی های ماشین سواری که دوربین در آنها با فشردن کلید C جابجا میشود.
🔹به طور #مثال اگر دو دوربین که به صورت زیر تعریف شده است و در یونیتی برای اسکریپت معرفی شده اند را داشته باشیم/👇
var firstPersonCamera: Camera;
var overheadCamera: Camera;
👈میتوانیم با دستوراتی مثل زیر یکی از آنها را فعال و دیگری را غیر فعال کنیم /👇
firstPersonCamera.enabled = false;
overheadCamera.enabled = true;
☑️به طور مثال میتوان این دستورات را در شرط فشرده شدن یک کلید خاص قرار داد.
🔜 در پست های آتی اسکریپت های آماده و دستورات بیشتری از #کلاس Camera را بررسی میکنیم.
#اسکریپت_نویسی #کد_نویسی #یونیتی
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
🎦 در صورتی که بخواهیم در بازی چند دوربین داشته باشیم، و در هر زمان یکی از آنها فعال باشد باید در بخش های مورد نظر دوربین را با کمک پارامتر enabled فعال/غیر فعال کرد. این حالت مشابه بازی هایی است که در آن ها با فشردن یک کلید دوربین جابجا میشود، مثل بازی های ماشین سواری که دوربین در آنها با فشردن کلید C جابجا میشود.
🔹به طور #مثال اگر دو دوربین که به صورت زیر تعریف شده است و در یونیتی برای اسکریپت معرفی شده اند را داشته باشیم/👇
var firstPersonCamera: Camera;
var overheadCamera: Camera;
👈میتوانیم با دستوراتی مثل زیر یکی از آنها را فعال و دیگری را غیر فعال کنیم /👇
firstPersonCamera.enabled = false;
overheadCamera.enabled = true;
☑️به طور مثال میتوان این دستورات را در شرط فشرده شدن یک کلید خاص قرار داد.
🔜 در پست های آتی اسکریپت های آماده و دستورات بیشتری از #کلاس Camera را بررسی میکنیم.
#اسکریپت_نویسی #کد_نویسی #یونیتی
〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
This media is not supported in your browser
VIEW IN TELEGRAM
🌺فرا رسیدن ِ عید سعید قربان را به تمام مسلمین جهان تبریک و تهنیت عرض میکنیم.
🌹اَلسَّلامُ علَی ابراهیم خَلیل اللّه
💐با آرزوی ایام شاد و پر خیر و برکت برای شما
@UnityLearning
🌹اَلسَّلامُ علَی ابراهیم خَلیل اللّه
💐با آرزوی ایام شاد و پر خیر و برکت برای شما
@UnityLearning
peeling_red_paint_on_old_wooden_boards_texture.jpg
1.5 MB
⭕️ #تکسچر چوب دیگر برای ساخت درب و میز های قدیمی
🔸کیفیت خوب برای استفاده در #یونیتی و سایر نرم افزارهای گرافیکی تولید آبجکت
@UnityLearning
🔸کیفیت خوب برای استفاده در #یونیتی و سایر نرم افزارهای گرافیکی تولید آبجکت
@UnityLearning
⭕️ نکاتی در مورد ساخت بازی
🔹یکی از مواردی که در بازی مهم است و باعث بهتر شدن کیفیت بازی میشود استفاده صحیح از با کیفیت ترین #تکسچر هاست. تکسچر باید در محل مورد نظر به خوبی دیده شود و باعث زیبا شدن کیفیت بازی شود، حال آنکه اگر از تکسچری با کیفیت پایین برای بازی استفاده کنید و یا اینکه تکسچر را در محل مناسب قرار ندهید خروجی مطلوبی برای بازی خود نخواهید داشت.
🔸نکته دیگر این است که سعی کنید در محل های باز (محیط بیرون) در بازی تان آبجکت های زیبا قرار دهید و در صورتی که فرصت برنامه نویسی برای آن ها را ندارید به کمک کالیدر راه دسترسی به آنها را ببندید. ضمنا در کل سعی کنید تنها بازیکن را در محل های جریان بازی قرار دهید و اجازه آزاد بودن آن را در Terrain ندهید. قرار دادن آبجکت هایی در محیط بازی که در کل مربوط به بازی میشوند اما در بازی تاثیر ندارند، باعث ایجاد انگیزه در بازیکنان میشود.
▫️◽️◻️به طور مثال فرض کنید اگر بازی در یک خیابان اتفاق میافتد، قرار دادن اتوموبیل کنار جاده به صورت پارک شده میتواند به افزایش جذابیت بازی کمک کند.
#نکته #یونیتی #برنامه
〰〰〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
🔹یکی از مواردی که در بازی مهم است و باعث بهتر شدن کیفیت بازی میشود استفاده صحیح از با کیفیت ترین #تکسچر هاست. تکسچر باید در محل مورد نظر به خوبی دیده شود و باعث زیبا شدن کیفیت بازی شود، حال آنکه اگر از تکسچری با کیفیت پایین برای بازی استفاده کنید و یا اینکه تکسچر را در محل مناسب قرار ندهید خروجی مطلوبی برای بازی خود نخواهید داشت.
🔸نکته دیگر این است که سعی کنید در محل های باز (محیط بیرون) در بازی تان آبجکت های زیبا قرار دهید و در صورتی که فرصت برنامه نویسی برای آن ها را ندارید به کمک کالیدر راه دسترسی به آنها را ببندید. ضمنا در کل سعی کنید تنها بازیکن را در محل های جریان بازی قرار دهید و اجازه آزاد بودن آن را در Terrain ندهید. قرار دادن آبجکت هایی در محیط بازی که در کل مربوط به بازی میشوند اما در بازی تاثیر ندارند، باعث ایجاد انگیزه در بازیکنان میشود.
▫️◽️◻️به طور مثال فرض کنید اگر بازی در یک خیابان اتفاق میافتد، قرار دادن اتوموبیل کنار جاده به صورت پارک شده میتواند به افزایش جذابیت بازی کمک کند.
#نکته #یونیتی #برنامه
〰〰〰〰〰〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ #دانلود #آبجکت بسیار زیبا هلیکوپتر
🚁با فرمت های متعدد مثل 3ds,max و...
👇دانلود در پست بعدی👇
@UnityLearning
🚁با فرمت های متعدد مثل 3ds,max و...
👇دانلود در پست بعدی👇
@UnityLearning
⭕️ #دانلود #آبجکت هلیکوپتر کبرا
🚁Cobra Helicopter
📍با فرمت 3ds و تکسچر با فرمت tga
👇دانلود در پست بعدی👇
@UnityLearning
🚁Cobra Helicopter
📍با فرمت 3ds و تکسچر با فرمت tga
👇دانلود در پست بعدی👇
@UnityLearning