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
⭕️ باز کردن #فایل به کمک #کلاس WWW در یونیتی

[سطح آموزش: #متوسط]

🔹 تا کنون برای دسترسی به فایل ها در یونیتی از کلاس File که مربوط به کتابخانه System.IO بود استفاده می کردیم. همچنین بیان کرده بودیم برای دسترسی به #اینترنت و شبکه در یونیتی می توان از کلاس WWW استفاده کرد. اکنون کاربرد دیگری از این کلاس را برای دسترسی به فایل ها بررسی می کنیم.

🔸 کلاس WWW می تواند به پروتکل های http https file ftp و... دسترسی داشته باشد، بنابراین کافی است برای دسترسی به فایل ها از file استفاده نماییم.

w = new WWW ("file://fileurlpath");

👈 دستور بالا فایل داده شده (در مسیر fileurlpath) را بازکرده و محتویاتش را در w که متغیری از جنس کلاس WWW می باشد، قرار می دهد. به راحتی با دستورات کلاس (که در پست های قبلی مفصل بررسی کردیم) می توان به محتویات w دسترسی داشت. مثلا برای دسترسی به #تکسچر (فایل تصویری) قرار گرفته در w می توان از دستور زیر استفاده کرد.

w.texture;

@UnityLearning
⚫️ فرا رسیدن سالروز شهادت بانوی بزرگوار اسلام، حضرت فاطمه الزهرا(س) را به تمام مسلمین جهان تسلیت عرض می‌کنیم.

🏴 صلی الله علیکِ یا فاطمه الزهرا یا بنتِ رسول الله

@UnityLearning
⭕️ استفاده از شکلک های فونت Wingdings به عنوان یک کاراکتر در بازی

🔹 فونت Wingdings یکی از فونت های پرکاربرد در نرم افزارهای طراحی می باشد که اشکال بسیار گوناگونی را با کیفیت مطلوب ارائه می کند. در #یونیتی نیز می توان از اشکال این فونت به طور مستقیم استفاده کرد (مثلا روی یک آبجکت 3D Text یا UI Text)

🎯 برای اینکار کافی است، فونت Wingdings را به پروژه خود Import کرده و سپس آن را به عنوان Font به #کامپوننت Text این آبجکت ها داد. البته مرحله بعد هم شناسایی کدهای هر کاراکتر(شکلک) این فونت می باشد که لیست کامل آن در پست بعدی قرار خواهد گرفت. دو راه برای استفاده دقیق از کاراکتر ها وجود دارد، یک) استفاده از کلید Alt و تایپ شمارۀ کاراکتر و یا کپی کاراکتر مورد نظر از صفحه قرار داده شده در پست بعدی

@UnityLearning
Guns.7z
12.6 MB
⭕️ #پک چندین مدل اسلحه برای استفاده در بازی

🎯 این پک شامل مدل های مختلفی برای سلاح های مختلف است که می توانید دانلود و استفاده نمایید.

@UnityLearning
uFlex.unitypackage
52.5 MB
⭕️ #پکیج uFlex برای سرعت بخشیدن اجرای Partilceها با کارت های گرافیک nVidia

@UnityLearning
TestLifeCycle.cs
1021 B
⭕️ تمام توابع چرخه حیات (Life Cycle) در #یونیتی در یک فایل

🔹 هر کدام از توابع در یک زمان خاص از چرخه حیات بازی شما(از لحظه شروع بازی تا بسته شدن کامل آن) اجرا می شوند که شناسایی آن بسیار مهم است.
Unity Learning
TestLifeCycle.cs
📸 توابع چرخه حیات شبکه در یونیتی

🔹 این توابع در هنگام قطع اتصال شبکه از بازی اتفاق خواهند افتاد.

@UnityLearning
📸 کلید 2D در Toolbox یونیتی به منظور تغییر حالت نمایش #پنجره Scene از دو بعدی به سه بعدی و بر عکس به کار می رود.

@UnityLearning
📸 #پنجره Light Explorer در #یونیتی به منظور نمایش کلیۀ آبجکت های نور (مثل Direction Light و ...) به صورت دسته بندی شده مورد استفاده قرار می گیرد.

@UnityLearning
⭕️ پنجم اسفند، روز بزرگداشت خواجه نصیرالدین طوسی و روز مهندس را به تمام مهندسین عزیز تبریک و تهنیت عرض می‌کنیم.


@UnityLearning
DownloadImage.cs
1006 B
📋 اسکریپت آماده برای دانلود تکسچر از #اینترنت و نمایش آن برای تصویر یک UI Image

🎯 این اسکریپت تصویر داده شده در URL را دانلود و آن را به صورت یک #تکسچر به #کامپوننت Image متصل می کند.
Unity Learning
DownloadImage.cs
🎯 #توضیحات کد نویسی

[سطح دستورات: #پیشرفته]

🔹 این اسکریپت برای دانلود از #اینترنت از کلاس WWW استفاده می کند. سپس برای تطبیق اندازۀ #تکسچر #دانلود شده با اندازه #آبجکت UI Image یک متغیر واسط از نوع Texture2D می سازد تا اندازه ها را تنظیم کند. در نهایت با توجه به اینکه تکسچر نمایشی UI Image از نوع Sprite است، یک Sprite واسط نیز تعریف و مقدار دهی می شود. (این کار با دستور Sprite.Create انجام می پذیرد)

🔸 در نهایت Sprite ساخته شده به عنوان پارامتر به Image (کامپوننت Image مربوط به آبجکت UI Image) داده شده و اتصال قطع می شود.

📍دقت کنید چون برای بررسی دانلود شدن از دستور حلقه بی نهایت استفاده شده است، در صورتی که آدرس اشتباهی به مقدار URL بدهید، اسکریپت در حلقه بی نهایت متوقف خواهد شد. بنابراین همواره از آدرس صحیح برای دانلود استفاده نمایید.

@UnityLearning
Unity Learning
DownloadImage.cs
UseDownloadImageScript.png
387.8 KB
📸 #آموزش استفاده از اسکریپت #دانلود تکسچر از اینترنت به صورت مرحله به مرحله

@UnityLearning
⭕️ آبجکت فوق از بازی جنگ ستارگان Battlefront

🔸 دانلود آبجکت با فرمت های 3ds و obj در پست بعدی
c9zv0730i5_StarWarsR5d4.rar
1.3 MB
🔹 #دانلود #آبجکت Star Wars R5-d4

🔸 از فیلم و بازی بسیار معروف جنگ ستارگان

@UnityLearning
⭕️ محاسبۀ جهت روبروی دوربین

[سطح دستورات: #متوسط]

🔹 گاهی اوقات لازم است حرکت یک #آبجکت بر اساس جهتی که دوربین نمایش می دهد، صورت گیرد. این مسئله زمانی که دوربین با آبجکت به صورت همزمان حرکت نمی کند پیش می آید. فرض کنید لازم در بخشی از بازی تان دوربین ثابت باشد و آبجکت خاصی بر اساس جهت قرار گیری آن حرکت کند. در این صورت دیگر استفاده از پارامترهای Vector3.forward و... همیشه برای آبجکت نسبت به دوربین مقدار دهی نمی شود(بلکه نسبت به جهت خود آبجکت تغییر خواهد کرد) .

🎯 برای محاسبۀ جهت حرکت روبرو نسبت جهت نمایشی دوربین می توان به این شکل عمل کرد.

camForward = Vector3.Scale(cam.forward, new Vector3(1, 0, 1)).normalized;

👈 با فرض اینکه در دستور بالا cam متغیری از نوع Transfrom و معادل دوربین فعال بازی باشد، یعنی/🔻

cam = Camera.main.transform;

🔸دستور مورد نظر همیشه جهت روبرو را نسبت به جهت دوربین محاسبه کرده و بردار آن را به صورت نرمال شده (با مقدار بین 0 و 1) در متغیر camForward که از نوع Vector3 می باشد، بر می گرداند. در واقع در دستورات بعد مقدار camForward معادل جهت روبروی نمایش داده شده توسط دوربین می باشد که مثلا می توان آن را برای حرکت به دستور Translate یا velocity داد.

@UnityLearning
#یادآوری

⭕️بدست آوردن دوربین فعال در بازی

🔹 به کمک دستور main از #کلاس Camera می توان به دوربین فعال بازی دسترسی داشت. این دوربین باید دو ویژگی داشته باشد. ابتدا داشتن تگ MainCamera و همچنین فعال بودن آن نسبت به سایر دوربین ها دستور
Camera.main
از نوع #کامپوننت Camera بوده و کلیه پارامترهای آن را داراست.

🔸 در پست بعدی اسکریپت بسیار کاربردی برای یادگیری این دستور قرار خواهد گرفت. این اسکریپت برای جابجا کردن دوربین های بازی به کمک کلید L می باشد. زمانی که کاربر کلید L را بزند اسکریپت فعال بودن دوربین ها را جابجا خواهد کرد. (فعال بودن یک #کامپوننت به کمک پارامتر enabled قابل تنظیم می باشد)

@UnityLearning