⭕️ میلاد با سعادت حضرت فاطمه الزهرا سلام الله علیها و روز زن و مادر را به تمام شیعیان جهان تبریک و تهنیت عرض میکنیم.
السلام علیکِ یا فاطمه الزهرا
〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢 @UnityLearning 💢
السلام علیکِ یا فاطمه الزهرا
〰〰〰〰〰
⭕️کانال یونیتی لرنینگ⭕️
💢 @UnityLearning 💢
♦️فرا رسیدن عید نوروز و آغاز سال 1396 هجری شمسی را به همه ایرانیان عزیز تبریک عرض میکنیم.
🙏بهترین ها را در سال جدید برایتان آرزومندیم.
💢 @UnityLearning 💢
🙏بهترین ها را در سال جدید برایتان آرزومندیم.
💢 @UnityLearning 💢
⭕#آموزش شلیک کردن سلاح هایی مثل AK47
🔹 در اینجا و پست های آتی قرار است یک آموزش استثنایی برای کاربران کانال قرار دهیم. این هم عیدی به کاربران کانال پس «با ما همراه باشید و کانال رو تبلیغ کنید»
🔸 قبلا و در سایر پست های قبل مربوط به #اسکریپت_نویسی #کد_نویسی شلیک شدن تیر هایی مثل موشک که دیده می شوند تا به محل برخورد به برسند و از بین بروند، بیان شد. با جستجو در کانال این مطلب را حتماً بخوانید. در آن اسکریپت ها یک تابع fire وجود داشت که به اسلحه (مثلا RPG یا Rocket Launcher) متصل می شد و عمل صدا زدن این تابع در first person (به طور #مثال) انجام می شد. بنابراین عمل صدا زدن در اینجا (تیر اندازی در حالتی که تیر دیده نمی شود، مثل اسلحه Colt یا AK47) تفاوتی نمی کند و با تابع BroadcastMessage انجام می شود. تفاوت در کد های تابع Fire در اسکریپت دیگری است که به اسلحه ها داده می شوند.
⚪ همانطور که گفتیم در اینجا تیری دیده نمی شود که ما بخواهیم آن را بسازیم و به آن نیرو وارد کنیم تا به مقصد برسد و مقصد را بررسی کنیم، بلکه در این حالت ما باید در همان لحظه شلیک مقصد را پیدا کرده و عمل خاص خود (مثلاً ایجاد آتش، یا کم شدن جان طرف مقابل) را در همان اسکریپت (که شامل تابع Fire است) انجام دهیم.
▫ این کار به وسیله شبیه سازی ها یونیتی و با دستورات ساخت لیزر (Reycast) انجام می شود، در واقع ما یک لیزر از فرد شلیک کننده به سمت هدف پرتاب می کنیم، این لیزر به هر مکانی رسید یعـــنی تیر به مقصد خورده و باید عمل خاص ما انجام شود.
▪سایر اعمال مثل کم شدن خشاب اسلحه، فاصله زمانی بین تیر ها(تفاوت بین سلاح های رگباری و کُلت و هفت تیر) ، شبیه سازی صدای اسلحه و... نیز باید در اسکریپت تعبیه گردد که کد های آن را دقیق «در پست های آتی» توضیح میدهیم.
♦ پس با پست های بعدی ما همراه باشید.
🎉 سال نو مبارک🎉
〰〰〰〰
⭕کانال یونیتی لرنینگ⭕
⚪@UnityLearning⚪
🔹 در اینجا و پست های آتی قرار است یک آموزش استثنایی برای کاربران کانال قرار دهیم. این هم عیدی به کاربران کانال پس «با ما همراه باشید و کانال رو تبلیغ کنید»
🔸 قبلا و در سایر پست های قبل مربوط به #اسکریپت_نویسی #کد_نویسی شلیک شدن تیر هایی مثل موشک که دیده می شوند تا به محل برخورد به برسند و از بین بروند، بیان شد. با جستجو در کانال این مطلب را حتماً بخوانید. در آن اسکریپت ها یک تابع fire وجود داشت که به اسلحه (مثلا RPG یا Rocket Launcher) متصل می شد و عمل صدا زدن این تابع در first person (به طور #مثال) انجام می شد. بنابراین عمل صدا زدن در اینجا (تیر اندازی در حالتی که تیر دیده نمی شود، مثل اسلحه Colt یا AK47) تفاوتی نمی کند و با تابع BroadcastMessage انجام می شود. تفاوت در کد های تابع Fire در اسکریپت دیگری است که به اسلحه ها داده می شوند.
⚪ همانطور که گفتیم در اینجا تیری دیده نمی شود که ما بخواهیم آن را بسازیم و به آن نیرو وارد کنیم تا به مقصد برسد و مقصد را بررسی کنیم، بلکه در این حالت ما باید در همان لحظه شلیک مقصد را پیدا کرده و عمل خاص خود (مثلاً ایجاد آتش، یا کم شدن جان طرف مقابل) را در همان اسکریپت (که شامل تابع Fire است) انجام دهیم.
▫ این کار به وسیله شبیه سازی ها یونیتی و با دستورات ساخت لیزر (Reycast) انجام می شود، در واقع ما یک لیزر از فرد شلیک کننده به سمت هدف پرتاب می کنیم، این لیزر به هر مکانی رسید یعـــنی تیر به مقصد خورده و باید عمل خاص ما انجام شود.
▪سایر اعمال مثل کم شدن خشاب اسلحه، فاصله زمانی بین تیر ها(تفاوت بین سلاح های رگباری و کُلت و هفت تیر) ، شبیه سازی صدای اسلحه و... نیز باید در اسکریپت تعبیه گردد که کد های آن را دقیق «در پست های آتی» توضیح میدهیم.
♦ پس با پست های بعدی ما همراه باشید.
🎉 سال نو مبارک🎉
〰〰〰〰
⭕کانال یونیتی لرنینگ⭕
⚪@UnityLearning⚪
🔰دوستان عزیز و همراهان گرامیِ کانال، مجددا تأکید میگردد کلیه مطالب کانال با نسخه رسمی تلگرام و نرم افزار تلگرام غیر رسمی Plus ارائه میگردد. اگر شما در Direction یا جهت مطالب مشکل دارید یعنی مطالب فارسی برایتان چپ به راست نمایش داده میشود، برای مشاهده مطالب کانال آخرین نسخه تلگرام و یا Plus را نصب کنید.
@UnityLearning
⚪️این مشکل در نسخه ویندوز تلگرام دیده نشده است.
👌برای دانلود آخرین نسخه ها از دکمه های زیر استفاده کنید(لینک به گوگل پلی)
👇👇👇👇👇👇👇👇👇
@UnityLearning
⚪️این مشکل در نسخه ویندوز تلگرام دیده نشده است.
👌برای دانلود آخرین نسخه ها از دکمه های زیر استفاده کنید(لینک به گوگل پلی)
👇👇👇👇👇👇👇👇👇
⭕ #ادامه #آموزش تیر اندازی (آموزش قبل را حتما مطالعه کنید!)
#اسکریپت_نویسی #کد_نویسی #جاوا #برنامه
☑ با توجه به آن چه در پست قبل توضیح دادیم، می خواهیم یک لیزر به طرف جلو شلیک کننده پرتاب شود و اگر این تیر به یک شی دارای Collider خورد، یک عمل در آن مکان انجام شود.
🔘 برای بدست آوردن نقطه سه بعدی جلوی بازیکن از دستور زیر استفاده میکنیم، در واقع این دستور جهت جلو(Forward) بازیکن را محاسبه کرده و در متغیر Vector3 قـــرار می دهد.
var direction =transform.TransformDirection(Vector3.forward);
◽ با توجه به این که از دستورات Reycast در #یونیتی استفاده می کنیم، شیئی که لیزر به آن برخورد می کند، از نوع RaycastHit است(خط پایین👇 )
var hit:RaycastHit;
(تعریف متغیر hit برای بدست آوردن شی که لیزر به آن برخورد می کند و در ادامه بررسی اینکه این شی قابلیت( #کامپوننت) Rigidbody دارد یا خیر؟)
▪ اما قبل از آنچه توضیح دادیم(یعنی بررسی Rigidbody) باید لیزر را پرتاب کنیم، دستور آن به شکل زیر است که علت استفاده از دستور if این است که اگر لیزر تا شعاع 100 به چیزی برخورد نکرد دیگر بررسی انجام نشود.
👈 دستــــور:
if(Physics.Raycast(transform.position,direction,hit,100))
{.......
👈 این دستور از کلاس Physics برای ارسال یک لیزر از نوع Reycast استفاده می کند. پارامتر های آن شامل، موقعیت شروع (ارسال) لیزر که چون این کد را اسلحه می دهیم موقعیت شروع می شود:
transform.position
👈 پارامتر دوم جهت ارسال که طبق آنچه بیان شد، روبروی کاراکتر است یعنی متغیر direction پارامتر سوم شیی است که این لیزر به آن برخورد می کند و هر #آبجکت می تواند باشد. آخرین پارامتر نیز شعاع این لیزر خواهد بود.
▫ این شرط اگر لیزر به آبجکتی برخورد بکند true خواهد بود و در بدنه این if می توانیم روی شی hit کار کنیم.
👌 این آموزش ادامه دارد.
〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
⚪ @UnityLearning⚪
#اسکریپت_نویسی #کد_نویسی #جاوا #برنامه
☑ با توجه به آن چه در پست قبل توضیح دادیم، می خواهیم یک لیزر به طرف جلو شلیک کننده پرتاب شود و اگر این تیر به یک شی دارای Collider خورد، یک عمل در آن مکان انجام شود.
🔘 برای بدست آوردن نقطه سه بعدی جلوی بازیکن از دستور زیر استفاده میکنیم، در واقع این دستور جهت جلو(Forward) بازیکن را محاسبه کرده و در متغیر Vector3 قـــرار می دهد.
var direction =transform.TransformDirection(Vector3.forward);
◽ با توجه به این که از دستورات Reycast در #یونیتی استفاده می کنیم، شیئی که لیزر به آن برخورد می کند، از نوع RaycastHit است(خط پایین👇 )
var hit:RaycastHit;
(تعریف متغیر hit برای بدست آوردن شی که لیزر به آن برخورد می کند و در ادامه بررسی اینکه این شی قابلیت( #کامپوننت) Rigidbody دارد یا خیر؟)
▪ اما قبل از آنچه توضیح دادیم(یعنی بررسی Rigidbody) باید لیزر را پرتاب کنیم، دستور آن به شکل زیر است که علت استفاده از دستور if این است که اگر لیزر تا شعاع 100 به چیزی برخورد نکرد دیگر بررسی انجام نشود.
👈 دستــــور:
if(Physics.Raycast(transform.position,direction,hit,100))
{.......
👈 این دستور از کلاس Physics برای ارسال یک لیزر از نوع Reycast استفاده می کند. پارامتر های آن شامل، موقعیت شروع (ارسال) لیزر که چون این کد را اسلحه می دهیم موقعیت شروع می شود:
transform.position
👈 پارامتر دوم جهت ارسال که طبق آنچه بیان شد، روبروی کاراکتر است یعنی متغیر direction پارامتر سوم شیی است که این لیزر به آن برخورد می کند و هر #آبجکت می تواند باشد. آخرین پارامتر نیز شعاع این لیزر خواهد بود.
▫ این شرط اگر لیزر به آبجکتی برخورد بکند true خواهد بود و در بدنه این if می توانیم روی شی hit کار کنیم.
👌 این آموزش ادامه دارد.
〰〰〰〰〰
⭕ کانال یونیتی لرنینگ⭕
⚪ @UnityLearning⚪
🌺اِنَّ الله وَ مَلائِکَتَهُ یُصَلّونَ عَلی النَّبی، یا ایّهَا الْذینَ آمَنُوا صَلّوا عَلَیْهِ وَ سَلِّموا تَسْلیما🌺
💐همانا خداوند و فرشتگانش بر پیامبر درود می فرستند، ای کسانی که ایمان آورده اید بر او درود فرستید و بر او سلام دهید، سلامی نیکو💐
🌸قرآن کریم، سوره احزاب، آیه ۵۶🌸
🌿اولین جمعه سال ۱۳۹۶ را گرامی داشته و بر محمد و آل محمد درود میفرستم و برای تعجیل در فرج مهدی موعود «قائم آل محمد» دعا میکنیم.
🌹اللهم صل علی محمد و آل محمد و عجل فرجهم🌹
🍃🍃🍃🍃🍃🍃🍃🍃🍃
🌱کانال یونیتی لرنینگ🌱
🌿@UnityLearning🌿
💐همانا خداوند و فرشتگانش بر پیامبر درود می فرستند، ای کسانی که ایمان آورده اید بر او درود فرستید و بر او سلام دهید، سلامی نیکو💐
🌸قرآن کریم، سوره احزاب، آیه ۵۶🌸
🌿اولین جمعه سال ۱۳۹۶ را گرامی داشته و بر محمد و آل محمد درود میفرستم و برای تعجیل در فرج مهدی موعود «قائم آل محمد» دعا میکنیم.
🌹اللهم صل علی محمد و آل محمد و عجل فرجهم🌹
🍃🍃🍃🍃🍃🍃🍃🍃🍃
🌱کانال یونیتی لرنینگ🌱
🌿@UnityLearning🌿
⭕ #ادامه #آموزش تیر اندازی با اسلحه، قسمـــت سوم و نهایی
این آموزش ادامه دو بخش قبلی است.
🔸 این بخش مهمترین قسمت آموزش #کد_نویسی #اسکریپت_نویسی مربوط به تیر اندازی سلاح هایی است که تیر آنها دیده نمیشود.
🔺 اسکریپت کامل مربوط به این کار به زبان ساده به همراه کامنت (توضیح خطوط به زبان فارسی) در پست بعدی قرار خواهد گرفت. در پست های قبــل یاد گرفتیم یک لیزر از نوع ReycastHit به سمت هدف (جلوی بازیکن، تیر انداز) پرتاب کنیم و بررسی کنیم آیا به هدف برخورد میکند یا خیر؟
▫ اکنون ادامه کار▫
◀ در ابتدا باید اصلی ترین کار خود یعنــــی کاهش جان و یا از بین بردن آبجکتی که تیـــر به آن برخورد میکند را انجام دهید. شما این کد را قبلاً نوشته اید (اسکریپت معروف جان/ Health) که در پستهای گذشته کاملاً توضیح داده شد و با آن توانستیم به کاراکتر خــود به اصطلاح «جان» بدهیم. بنابراین لازم است در اینجا به هر آبجکتی که نیاز دارید در بازی کشته شود یا در واقع از بین برود / Destroy اسکریپت Health را بدهید. (اگر به هر دلیل مطالب این بخش را مطالعه نکردید حتما سری به پست های گذشته کانال بزنید و یا کلمه جان را جستجو کنید.
🚩 با فرض اینکه شما اسکریپت های لازم را به آبجکتهایی که قرار است در بازی با تیر خوردن از بین برود، دادهاید به مطلب خود ادامه میدهیم. همانطور که بیان شد، آبجکتی که تیر به آن برخورد کرده، طبق کد نویسی قبلی hit که از نوع ReycastHit است نام دارد بنابراین برای کم شدن جان این آبجکت تنها لازم است، تابع MinHealth مربوط به اسکریپت جان را صدا بزنیم، این کار را با کد زیر انجام میدهیم. تنها بحث جدید این کد متغیری است که در تابع BroadcastMessage استفاده شده است. برای توضیح این کد لازم است بگوییم اگر میخواهید به توابعی که دارای پارامــتر ورودی هستند در تابع BroadcastMessage مقدار ارسال کنید از این روش کد نویسی بهره میبریم. در اینجا فرض ما بر این است که تابع MinHealth یک ورودی از نوع عددی دارد که مشخص میکند چه مقدار از جان کم شود (این قسمت در کد قرار داده شده در قسمت قبل کانال نیست میتوانید این بخش کد را برای اسکریپت خود اضافه کنید)
📍 کد صدا زدن کم شدنِ جان
hit.rigidbody.SendMessageUpwards("MinHealth",10,SendMessageOptions.DontRequireReceiver);
▫ عملکرد تابع SendMessageUpward تقریبا مشابه BroadcastMessage است و تابعی از یک اسکریپت دیگر متصل شده به یک #آبجکت را صدا میزند. مقدار 10 نیز ورودی تابع کاهش Health است که به عنوان پارامتر ورودی برای آن ارسال میشود.
▪ آنچه لازم بود برای تیر اندازی انجام شده است تا همین جا ما دقیقاً کاری کردیم تا بازیکن/تیر انداز به سمت هدفشان تیر اندازی کنند و باعث Kill شدن آن شوند.
🔗 اما کار های اضافه
🔘 در اسکریپتی که برایتان قرار خواهیم داد چهار کار دیگر نیز علاوه بر عمل اصلی انجام میشود.
🔹 1-پخش صدای اسلحه :
برای استفاده از این قسمت کد یک صدا متناسب باد صدای تیر اندازی به آبجکتی که کد را به آن متصل میکنید، بدهید و گزینه Play On Awake آن را غیر فعال کنید (از پنجره Inspector)
🔹 2-اعمال نیرو در محل برخورد تیر به جسمی که تیر به آن برخورد میکند:
این کد به شکل زیر نوشته شده است و نیرو به جسم مورد نظر وارد خواهد کرد.
hit.rigidbody.AddForceAtPosition(100*direction,hit.point);
🔹 3-نمایش یک آتش در محل برخورد تیر به سایر اجسام (کلیه جسم های دارای Collider):
برای نمایش این آتش از یک آبجکت Spark به صورت انیمیشن استفاده میشود. این آبجکت در پست های بعدی برای دانلود قرار میگیرد، همچنین آموزش Assign کردن آن به کد نیز به صورت تصویری قرار خواهد گرفت/ فقط به طور خلاصه این که این آبجکت را دقیقا روی Muzzleflash اسلحه قرار دهید و آن را به کد بدهید (کاملا توضیح داده خواهـــد شد)
🔹 4-چرخش Muzzleflash یا آتش سرِ اسلحه:
برای اینکه تیر اندازی واقعی جلوه کند یک آتش در سر اسلحه (محل خروج تیر) یک آتش به صورت چرخشی نمایش داده میشود. که باید آبجکت MuzzleFlash که معمولاً در آبجکت های اسلحه موجود است را دقیقا در محل مورد نظر تنظیم کرده و آن را به کد بدهید (Assign کنید)
☑ اعمالی که گفته شد به صورت تصویری نیز آموزش داده میشود تا آموزش این مبحث تکمیل گردد.
〰〰〰〰〰〰〰
⭕کانال یونیتی لرنینگ⭕
⚪ @UnityLearning⚪
این آموزش ادامه دو بخش قبلی است.
🔸 این بخش مهمترین قسمت آموزش #کد_نویسی #اسکریپت_نویسی مربوط به تیر اندازی سلاح هایی است که تیر آنها دیده نمیشود.
🔺 اسکریپت کامل مربوط به این کار به زبان ساده به همراه کامنت (توضیح خطوط به زبان فارسی) در پست بعدی قرار خواهد گرفت. در پست های قبــل یاد گرفتیم یک لیزر از نوع ReycastHit به سمت هدف (جلوی بازیکن، تیر انداز) پرتاب کنیم و بررسی کنیم آیا به هدف برخورد میکند یا خیر؟
▫ اکنون ادامه کار▫
◀ در ابتدا باید اصلی ترین کار خود یعنــــی کاهش جان و یا از بین بردن آبجکتی که تیـــر به آن برخورد میکند را انجام دهید. شما این کد را قبلاً نوشته اید (اسکریپت معروف جان/ Health) که در پستهای گذشته کاملاً توضیح داده شد و با آن توانستیم به کاراکتر خــود به اصطلاح «جان» بدهیم. بنابراین لازم است در اینجا به هر آبجکتی که نیاز دارید در بازی کشته شود یا در واقع از بین برود / Destroy اسکریپت Health را بدهید. (اگر به هر دلیل مطالب این بخش را مطالعه نکردید حتما سری به پست های گذشته کانال بزنید و یا کلمه جان را جستجو کنید.
🚩 با فرض اینکه شما اسکریپت های لازم را به آبجکتهایی که قرار است در بازی با تیر خوردن از بین برود، دادهاید به مطلب خود ادامه میدهیم. همانطور که بیان شد، آبجکتی که تیر به آن برخورد کرده، طبق کد نویسی قبلی hit که از نوع ReycastHit است نام دارد بنابراین برای کم شدن جان این آبجکت تنها لازم است، تابع MinHealth مربوط به اسکریپت جان را صدا بزنیم، این کار را با کد زیر انجام میدهیم. تنها بحث جدید این کد متغیری است که در تابع BroadcastMessage استفاده شده است. برای توضیح این کد لازم است بگوییم اگر میخواهید به توابعی که دارای پارامــتر ورودی هستند در تابع BroadcastMessage مقدار ارسال کنید از این روش کد نویسی بهره میبریم. در اینجا فرض ما بر این است که تابع MinHealth یک ورودی از نوع عددی دارد که مشخص میکند چه مقدار از جان کم شود (این قسمت در کد قرار داده شده در قسمت قبل کانال نیست میتوانید این بخش کد را برای اسکریپت خود اضافه کنید)
📍 کد صدا زدن کم شدنِ جان
hit.rigidbody.SendMessageUpwards("MinHealth",10,SendMessageOptions.DontRequireReceiver);
▫ عملکرد تابع SendMessageUpward تقریبا مشابه BroadcastMessage است و تابعی از یک اسکریپت دیگر متصل شده به یک #آبجکت را صدا میزند. مقدار 10 نیز ورودی تابع کاهش Health است که به عنوان پارامتر ورودی برای آن ارسال میشود.
▪ آنچه لازم بود برای تیر اندازی انجام شده است تا همین جا ما دقیقاً کاری کردیم تا بازیکن/تیر انداز به سمت هدفشان تیر اندازی کنند و باعث Kill شدن آن شوند.
🔗 اما کار های اضافه
🔘 در اسکریپتی که برایتان قرار خواهیم داد چهار کار دیگر نیز علاوه بر عمل اصلی انجام میشود.
🔹 1-پخش صدای اسلحه :
برای استفاده از این قسمت کد یک صدا متناسب باد صدای تیر اندازی به آبجکتی که کد را به آن متصل میکنید، بدهید و گزینه Play On Awake آن را غیر فعال کنید (از پنجره Inspector)
🔹 2-اعمال نیرو در محل برخورد تیر به جسمی که تیر به آن برخورد میکند:
این کد به شکل زیر نوشته شده است و نیرو به جسم مورد نظر وارد خواهد کرد.
hit.rigidbody.AddForceAtPosition(100*direction,hit.point);
🔹 3-نمایش یک آتش در محل برخورد تیر به سایر اجسام (کلیه جسم های دارای Collider):
برای نمایش این آتش از یک آبجکت Spark به صورت انیمیشن استفاده میشود. این آبجکت در پست های بعدی برای دانلود قرار میگیرد، همچنین آموزش Assign کردن آن به کد نیز به صورت تصویری قرار خواهد گرفت/ فقط به طور خلاصه این که این آبجکت را دقیقا روی Muzzleflash اسلحه قرار دهید و آن را به کد بدهید (کاملا توضیح داده خواهـــد شد)
🔹 4-چرخش Muzzleflash یا آتش سرِ اسلحه:
برای اینکه تیر اندازی واقعی جلوه کند یک آتش در سر اسلحه (محل خروج تیر) یک آتش به صورت چرخشی نمایش داده میشود. که باید آبجکت MuzzleFlash که معمولاً در آبجکت های اسلحه موجود است را دقیقا در محل مورد نظر تنظیم کرده و آن را به کد بدهید (Assign کنید)
☑ اعمالی که گفته شد به صورت تصویری نیز آموزش داده میشود تا آموزش این مبحث تکمیل گردد.
〰〰〰〰〰〰〰
⭕کانال یونیتی لرنینگ⭕
⚪ @UnityLearning⚪
Script_Shooting_By@UnityLearning.js
2.9 KB
⭕ #اسکریپت_نویسی و #کد_نویسی #جاوا آماده تیر اندازی مربوط به آموزش تیر اندازی با سلاح هایی که تیر آن ها دیده نمی شود، به همراه توضیحات فارسی خطوط
@UnityLearning
@UnityLearning
⭕ #رفع مشکل اجرای خراب بازی خاطره انگیز Project IGI در ویندوز های 7/8/8.1/10 «آموزش برای اولین بار ایران» /این #آموزش کاملا تست شده و به طور صحیح اجرا خواهد شد.
🔹 ابتدا بیان علت مسئله، این مشکل به این دلیل رخ میدهد که Renderingهای بازی IGI (و البته بازی های مشابه) بر اساس نسخه های قدیمی از ویندوز انجام می شود. این امر در تنظیمات گرافیک بازی (Configuration - Graphics) کاملاً مشهود است. در این بخش شما مشخصات کارت گرافیک شما به درستی نمایش داده نمی شود.
🔸 برای رفع این مشکل از نرم افزار شبیه سازی استفاده می کنیم، که کارت گرافیک را برای بازی ها شبیه سازی می کند، در واقع این نرم افزار کارت گرافیکی غیر حقیقی به بازی معرفی می کند و خود از منابع سیستم شما برای اجرای خودش(شبیه ساز) استفاده می کند.
◀ این نرم افزار را در پست بعدی دانلود کنید، همانطور که توضیح داده شد، از این نرم افزار برای تغییر در تنظیمات گرافیکی هر بازی می توانید استفاده کنید. یکی از مشکلاتی به با بروز شدن ویندوز در چند سال پیش برای بازیکن های این بازی خاطـــره انگیز اتفاق افتاد، اجرای نادرست آن در نسخه های جدید ویندوز بود. که این مشکل به هیچ وجه (حتی با تنظیم Campatiblity ویندوز) نیز قابل حل نبود. تنها راه حل همین نرم افزار است که کارت گرافیکی مجازی به بازی معرفی می کند و مشکل عدم اجرای بازی با کارت گرافیکی که درایور آن در ویندوز جدید نصب شده است را حل می کند.
آموزش نصب و راه اندازی نرم افزار dgVoodoo2 «شبیه ساز کارت گرافیک برای بازی های کامپیوتری»
⭕ آخرین نسخه از این نرم افزار را دریافت کنید(آخرین نسخه تاکنون در پست بعدی قابل دانلود است)/ بعد از اکسترکت کردن فایل zip در یک پوشه، آن را به محل نصب بازی کپی کنید/ در پوشه ایجاد شده از فایل zip پوشه MS را باز کنید و محتویات آن را در کنار فایل IGI.exe یعنی پوشه نصب بازی کپی کنید/ در این مرحله فایل dgVoodooSetup را نیز به محل نصب بازی کـــپی کنید/ اکنون این فایل را باز کنید/ به تَب DirectX بروید و آخرین مقداری که برای VRAM پیشنهاد می کند را انتخاب کنید (معمولا این مقدار 1024 مگابایت است)/ می توانید تیک Watermark را نیز بردارید/ در مرحله آخر تنظیمات را ذخیره کرده و بازی را اجرا کنید و برای اینکه مطمئن شوید همه کار را درست انجام دادید، تنظیمات گرافیک بازی را چک کنید و به جای کارت گرافیک نوشته شده است dgVoodoo/ کار تمام است شما می توانید بازی را اجرا کرده و مراحل خاطره انگیز آن را انجام دهید.
⛔ همانطور که بیان شد، این آموزش در ایران برای اولین بار قرار می گیرد/ کلیه حقوق برای یونیتی لرنینگ محفوظ است.
********
⭕ کانال یونیتی لرنینگ⭕
⚪ @UnityLearning⚪
********
دانلود آخرین نسخه از نرم افزار شبیه ساز
🔰🔰🔰🔰🔰🔰🔰🔰
🔹 ابتدا بیان علت مسئله، این مشکل به این دلیل رخ میدهد که Renderingهای بازی IGI (و البته بازی های مشابه) بر اساس نسخه های قدیمی از ویندوز انجام می شود. این امر در تنظیمات گرافیک بازی (Configuration - Graphics) کاملاً مشهود است. در این بخش شما مشخصات کارت گرافیک شما به درستی نمایش داده نمی شود.
🔸 برای رفع این مشکل از نرم افزار شبیه سازی استفاده می کنیم، که کارت گرافیک را برای بازی ها شبیه سازی می کند، در واقع این نرم افزار کارت گرافیکی غیر حقیقی به بازی معرفی می کند و خود از منابع سیستم شما برای اجرای خودش(شبیه ساز) استفاده می کند.
◀ این نرم افزار را در پست بعدی دانلود کنید، همانطور که توضیح داده شد، از این نرم افزار برای تغییر در تنظیمات گرافیکی هر بازی می توانید استفاده کنید. یکی از مشکلاتی به با بروز شدن ویندوز در چند سال پیش برای بازیکن های این بازی خاطـــره انگیز اتفاق افتاد، اجرای نادرست آن در نسخه های جدید ویندوز بود. که این مشکل به هیچ وجه (حتی با تنظیم Campatiblity ویندوز) نیز قابل حل نبود. تنها راه حل همین نرم افزار است که کارت گرافیکی مجازی به بازی معرفی می کند و مشکل عدم اجرای بازی با کارت گرافیکی که درایور آن در ویندوز جدید نصب شده است را حل می کند.
آموزش نصب و راه اندازی نرم افزار dgVoodoo2 «شبیه ساز کارت گرافیک برای بازی های کامپیوتری»
⭕ آخرین نسخه از این نرم افزار را دریافت کنید(آخرین نسخه تاکنون در پست بعدی قابل دانلود است)/ بعد از اکسترکت کردن فایل zip در یک پوشه، آن را به محل نصب بازی کپی کنید/ در پوشه ایجاد شده از فایل zip پوشه MS را باز کنید و محتویات آن را در کنار فایل IGI.exe یعنی پوشه نصب بازی کپی کنید/ در این مرحله فایل dgVoodooSetup را نیز به محل نصب بازی کـــپی کنید/ اکنون این فایل را باز کنید/ به تَب DirectX بروید و آخرین مقداری که برای VRAM پیشنهاد می کند را انتخاب کنید (معمولا این مقدار 1024 مگابایت است)/ می توانید تیک Watermark را نیز بردارید/ در مرحله آخر تنظیمات را ذخیره کرده و بازی را اجرا کنید و برای اینکه مطمئن شوید همه کار را درست انجام دادید، تنظیمات گرافیک بازی را چک کنید و به جای کارت گرافیک نوشته شده است dgVoodoo/ کار تمام است شما می توانید بازی را اجرا کرده و مراحل خاطره انگیز آن را انجام دهید.
⛔ همانطور که بیان شد، این آموزش در ایران برای اولین بار قرار می گیرد/ کلیه حقوق برای یونیتی لرنینگ محفوظ است.
********
⭕ کانال یونیتی لرنینگ⭕
⚪ @UnityLearning⚪
********
دانلود آخرین نسخه از نرم افزار شبیه ساز
🔰🔰🔰🔰🔰🔰🔰🔰
dgVoodoo2_53.zip
726.5 KB
⭕ #دانلود آخرین نسخه از نرم افزار «شبیه ساز گرافیکی» برای رفع ایراد بازی IGI در ویندوز های 7/8/8.1/10
@UnityLearning
@UnityLearning
Unity Learning
⭕ #ادامه #آموزش تیر اندازی با اسلحه، قسمـــت سوم و نهایی این آموزش ادامه دو بخش قبلی است. 🔸 این بخش مهمترین قسمت آموزش #کد_نویسی #اسکریپت_نویسی مربوط به تیر اندازی سلاح هایی است که تیر آنها دیده نمیشود. 🔺 اسکریپت کامل مربوط به این کار به زبان ساده به…
Amouzesh.wmv
16.1 MB
⭕️ #دانلود #آموزش تصویری تیر اندازی با سلاح هایی که تیر در آنها دیده نمیشود. مربوط به پست های قبل👆
#فیلم
👈همانطور که قول داده بودیم.
@UnityLearning
#فیلم
👈همانطور که قول داده بودیم.
@UnityLearning
Unity Learning
⚪ #آموزش دادن اسلحه به FPS یا بازیکن اول شخص 🔸 برای این کار ابتدا کاراکتر اول شخص خـــود را به محیط بازی اضافه می کنیم. این کاراکتر آماده در یونیتی 5 به بعد تغییراتی داشته است از جمله این که قبلا برای هر بخش (بدن، دوربین و ...) یک آبجکت جداگانه داشتیم و…
Amouzesh2.mkv
5.2 MB
👆👆👆👆
🔺 این #آموزش به صورت تصویری #فیلم
▫ البته این مطلب به صورت عکس نیز برای شما قرار گرفته بود.
@UnityLearning
🔺 این #آموزش به صورت تصویری #فیلم
▫ البته این مطلب به صورت عکس نیز برای شما قرار گرفته بود.
@UnityLearning
⭕ ایجاد تاخیر در کد نویسی
🔹 به منظور ایجـــاد تاخیر زمانی در اجرای اسکریپت ها روش های مختلفی وجود دارد، که زمان استفاده صحیح از آن ها مهم است. یعنی کد نویس باید بداند که از چه روشی در چه موقعیتی می تواند استفاده کند.
🔸یکی از این روش ها استفاده از دستورات WaitFor در یونیتی است، این روش دقیقاً معادل استفاده از دستور Delay در C++ است. یعنی زمانی که کامپایلر به این خط کد رسید (در این بلوک از کد) صبر می کند تا تاخیر داده شده بگذرد و خط بعدی را اجرا می کند.
❓ چرا تاکید می کنیم «در این بلوک ازکد» ؟
☑ ابتدا منظور از بلوک را بیان کنیم، همانطور که می دانیم به یک قطعه کد که در {} قرار می گیرد یک بلوک از کد گفته می شود، که می تواند یک کلاس، تابع، دستور (مثل if و for) را شامل شود. در اینجا بیشتــر منظور همان تابع است. یعنی کامپایلر زمانی که به این خط می رسد، دستورات این تابع را (در صورت امکان برای تابع) نگه می دارد و ادامه دستورات را بعد از فاصله زمانی ذکر شده ادامه می دهد. اما چرا فقط کد در این قسمت متوقف می شود؟ پاسخ این است که برخی توابع امکان ایجاد تاخیر زمانی را ندارند، مثل تابع Update و LateUpdate این دو تابع باید در هر صورت در هر فریم از زمان اجرا شوند، بنابراین اگر از این دستورات در این توابع استفاده کردید خواهید دید که هیچ تاخیر زمانی اتفاق نخواهد افتاد.
🔻 در واقع محل صحیح استفاده از دستورات WaitFor در توابعی است که همیشه اجرا نمی شوند و مثلا در یک زمان خاص (به طور مثال هنگام شلیک شدن/Fire) اتفاق میافتند.
💢 استفاده از این دستور به شکل زیر👇 است.
👉 yield WaitForSeconds(delayTime);
👈 که متغیر delayTime #زمان تاخیر 🕑 بر حسب ثانیه است.
❗ اما در اینجا لازم است، بتوانیم در توابعی مثل Update نیز تاخیر زمانی ایجاد کنیم و اتفاقاً این بسیار لازم و ضروری است. در پست بعدی تکنیک برنامه نویسی این کار را که از زمان بازی استفاده خواهد کرد بیان می کنیم.
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی #برنامه
〰〰〰〰〰
⭕کانال یونیتی لرنینگ⭕
⚪ @UnityLearning⚪
🔹 به منظور ایجـــاد تاخیر زمانی در اجرای اسکریپت ها روش های مختلفی وجود دارد، که زمان استفاده صحیح از آن ها مهم است. یعنی کد نویس باید بداند که از چه روشی در چه موقعیتی می تواند استفاده کند.
🔸یکی از این روش ها استفاده از دستورات WaitFor در یونیتی است، این روش دقیقاً معادل استفاده از دستور Delay در C++ است. یعنی زمانی که کامپایلر به این خط کد رسید (در این بلوک از کد) صبر می کند تا تاخیر داده شده بگذرد و خط بعدی را اجرا می کند.
❓ چرا تاکید می کنیم «در این بلوک ازکد» ؟
☑ ابتدا منظور از بلوک را بیان کنیم، همانطور که می دانیم به یک قطعه کد که در {} قرار می گیرد یک بلوک از کد گفته می شود، که می تواند یک کلاس، تابع، دستور (مثل if و for) را شامل شود. در اینجا بیشتــر منظور همان تابع است. یعنی کامپایلر زمانی که به این خط می رسد، دستورات این تابع را (در صورت امکان برای تابع) نگه می دارد و ادامه دستورات را بعد از فاصله زمانی ذکر شده ادامه می دهد. اما چرا فقط کد در این قسمت متوقف می شود؟ پاسخ این است که برخی توابع امکان ایجاد تاخیر زمانی را ندارند، مثل تابع Update و LateUpdate این دو تابع باید در هر صورت در هر فریم از زمان اجرا شوند، بنابراین اگر از این دستورات در این توابع استفاده کردید خواهید دید که هیچ تاخیر زمانی اتفاق نخواهد افتاد.
🔻 در واقع محل صحیح استفاده از دستورات WaitFor در توابعی است که همیشه اجرا نمی شوند و مثلا در یک زمان خاص (به طور مثال هنگام شلیک شدن/Fire) اتفاق میافتند.
💢 استفاده از این دستور به شکل زیر👇 است.
👉 yield WaitForSeconds(delayTime);
👈 که متغیر delayTime #زمان تاخیر 🕑 بر حسب ثانیه است.
❗ اما در اینجا لازم است، بتوانیم در توابعی مثل Update نیز تاخیر زمانی ایجاد کنیم و اتفاقاً این بسیار لازم و ضروری است. در پست بعدی تکنیک برنامه نویسی این کار را که از زمان بازی استفاده خواهد کرد بیان می کنیم.
#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی #برنامه
〰〰〰〰〰
⭕کانال یونیتی لرنینگ⭕
⚪ @UnityLearning⚪
⭕️ فرا رسیدن سالروز ولادت حضرت امام محمد باقر (ع) بر تمام مسلمانان جهان مبارک باد.
🌸السلام علیک یا محمد بن علی ایها باقر یابن الرسول الله🌸
🌹🌹🌹🌹🌹🌹🌹🌹
🌹 @UnityLearning🌹
🌹🌹🌹🌹🌹🌹🌹🌹
🌸السلام علیک یا محمد بن علی ایها باقر یابن الرسول الله🌸
🌹🌹🌹🌹🌹🌹🌹🌹
🌹 @UnityLearning🌹
🌹🌹🌹🌹🌹🌹🌹🌹
⭕️ دعای بعد از هر نماز در ماه رجب، روایت شده از حضرت امام صادق(علیه السلام)
🌸بِسْمِ اللهِ الرَّحْمنِ الرَّحيم🌸ِ
يا مَنْ اَرْجُوهُ لِكُلِّ خَيْر،
وَآمَنُ سَخَطَهُ عِنْدَ كُلِّ شَرٍّ،
يا مَنْ يُعْطِي الْكَثيرَ بِالْقَليلِ،
يا مَنْ يُعْطي مَنْ سَئَلَهُ،
يا مَنْ يُعْطي مَنْ لَمْ يَسْئَلْهُ وَمَنْ لَمْ يَعْرِفْهُ تَحَنُّناً مِنْهُ وَرَحْمَةً،
اَعْطِني بِمَسْئَلَتي اِيّاكَ، جَميعَ خَيْرِ الدُّنْيا وَجَميعَ خَيْرِ الاْخِرَةِ،
وَاصْرِفْ عَنّي بِمَسْئَلَتي اِيّاكَ جَميعَ شَرِّ الدُّنْيا، وَشَرِّ الاْخِرَةِ،
فَاِنَّهُ غَيْرُ مَنْقُوص مااَعْطَيْتَ،
وَزِدْني مِنْ فَضْلِكَ يا كَريمُ.
🔹التماس دعا🔸
🌜 @UnityLearning 🌛
🌸بِسْمِ اللهِ الرَّحْمنِ الرَّحيم🌸ِ
يا مَنْ اَرْجُوهُ لِكُلِّ خَيْر،
وَآمَنُ سَخَطَهُ عِنْدَ كُلِّ شَرٍّ،
يا مَنْ يُعْطِي الْكَثيرَ بِالْقَليلِ،
يا مَنْ يُعْطي مَنْ سَئَلَهُ،
يا مَنْ يُعْطي مَنْ لَمْ يَسْئَلْهُ وَمَنْ لَمْ يَعْرِفْهُ تَحَنُّناً مِنْهُ وَرَحْمَةً،
اَعْطِني بِمَسْئَلَتي اِيّاكَ، جَميعَ خَيْرِ الدُّنْيا وَجَميعَ خَيْرِ الاْخِرَةِ،
وَاصْرِفْ عَنّي بِمَسْئَلَتي اِيّاكَ جَميعَ شَرِّ الدُّنْيا، وَشَرِّ الاْخِرَةِ،
فَاِنَّهُ غَيْرُ مَنْقُوص مااَعْطَيْتَ،
وَزِدْني مِنْ فَضْلِكَ يا كَريمُ.
🔹التماس دعا🔸
🌜 @UnityLearning 🌛
⭕ #آموزش قرار دادن یک #تکسچر در «وسط صفحه»
🔹 برای رسم یک تکسچر دو بعدی در وسط صفحه برای دوربین فعال بازی (در صحنه نهایی بازی) از روش های مختلفی استفاده می شود که بعضا پیچیده و گنگ است و یا قرار دادن آن ها دقیقا در وسط صفحه مشکل است. در این پست قصد داریم، ساده ترین و کاربردی ترین روش برای این کار را به شما آموزش دهیم.
🔸معمولاً در بازی های جنگی مشاهده می کنید، یک هدف (aim) مثلا به شکل ➕ در وسط صفحه قرار دارد و بازیکن با هدف گیری آن روی نقطه ای که قصد شلیک به آن را دارد، به سمت آن(target) تیر اندازی کند. بنابراین بهترین #مثال برای این آموزش قرار دادن aim در وسط صفحه است/ که البته این تکسچر(Texture2D) هر چیزی می تواند باشد.
▫ اسکریپتی که برای این کار استفاده می کنیم، دقیقاً یک تکسچر دو بعدی را در ورودی خود دریافت کرده و آن را با استفاده از دستورات کلاس Screen که به صفحه خروجی نهایی بازی اشاره می کند، وسط صفحه را به صورت کاملاً صحیح محاسبه می کند و اسکریپت را با استفاده از تابع بسیار کاربردی OnGUI و دستور DrawTexture تکسچر مورد نظر را در محل محاسبه شده رسم می کند.
🔘 این محاسبه در تابع Update انجام می شود و یک کار کاملاً ضروری است، به این علت که در زمان بازی، بازیکن نهایی بازی ممکن است، اولاً این بازی را در هر Deviceیی و با هر رزولیشنی اجرا کند، همچنین در هنگام بازی ممکن است کاربر بخواهد سایز پنجره windows بازی را تغییر دهد، به همین علت باید همیشه کامپایلرِ #یونیتی وسط صفحه را محاسبه کند و تکسچر مورد نظر ما را در آن رسم کند.
🔗لطفا به کلمات انگلیسی که در پست ها قرار می دهیم دقت کنید، چون از همین کلمات در اسکریپت ها استفاده می شود. به طور مثال و برای توضیح بیشتر نوع Texture2D در این پست بیان شد، که می تواند هر نوع تکسچری (معمولاً با فرمت های png) باشد.
☑ برای نمونه در پست بعدی یک نمونه aim یا تکسچر زیبای مربوط به هدف تیر اندازی با فرمت tif برای استفاده شما در این اسکریپت قرار می دهیم. دقت کنید تکسچری که از اینترنت برای Aim دانلود می کنید باید دقیق و سالم باشد، در غیر این صورت به اشتباه رسم خواهد شد چون قسمت های مخلف آن تکسچر پاک نشده است. تکسچری که برایتان قرار می دهیم کاملا استاندارد است.
☑ اسکریپتی که در پست بعدی ارسال می شود، به همراه توضیحات (Comment) فارسی است.
❗کلیه حقوق این فایل برای یونیتی لرنینگ محفوظ است.
#اسکریپت_نویسی #کد_نویسی #جاوا #برنامه
〰〰〰〰〰
⭕کانال یونـــیتی لرنینگ⭕
💢@UnityLearning 💢
🔹 برای رسم یک تکسچر دو بعدی در وسط صفحه برای دوربین فعال بازی (در صحنه نهایی بازی) از روش های مختلفی استفاده می شود که بعضا پیچیده و گنگ است و یا قرار دادن آن ها دقیقا در وسط صفحه مشکل است. در این پست قصد داریم، ساده ترین و کاربردی ترین روش برای این کار را به شما آموزش دهیم.
🔸معمولاً در بازی های جنگی مشاهده می کنید، یک هدف (aim) مثلا به شکل ➕ در وسط صفحه قرار دارد و بازیکن با هدف گیری آن روی نقطه ای که قصد شلیک به آن را دارد، به سمت آن(target) تیر اندازی کند. بنابراین بهترین #مثال برای این آموزش قرار دادن aim در وسط صفحه است/ که البته این تکسچر(Texture2D) هر چیزی می تواند باشد.
▫ اسکریپتی که برای این کار استفاده می کنیم، دقیقاً یک تکسچر دو بعدی را در ورودی خود دریافت کرده و آن را با استفاده از دستورات کلاس Screen که به صفحه خروجی نهایی بازی اشاره می کند، وسط صفحه را به صورت کاملاً صحیح محاسبه می کند و اسکریپت را با استفاده از تابع بسیار کاربردی OnGUI و دستور DrawTexture تکسچر مورد نظر را در محل محاسبه شده رسم می کند.
🔘 این محاسبه در تابع Update انجام می شود و یک کار کاملاً ضروری است، به این علت که در زمان بازی، بازیکن نهایی بازی ممکن است، اولاً این بازی را در هر Deviceیی و با هر رزولیشنی اجرا کند، همچنین در هنگام بازی ممکن است کاربر بخواهد سایز پنجره windows بازی را تغییر دهد، به همین علت باید همیشه کامپایلرِ #یونیتی وسط صفحه را محاسبه کند و تکسچر مورد نظر ما را در آن رسم کند.
🔗لطفا به کلمات انگلیسی که در پست ها قرار می دهیم دقت کنید، چون از همین کلمات در اسکریپت ها استفاده می شود. به طور مثال و برای توضیح بیشتر نوع Texture2D در این پست بیان شد، که می تواند هر نوع تکسچری (معمولاً با فرمت های png) باشد.
☑ برای نمونه در پست بعدی یک نمونه aim یا تکسچر زیبای مربوط به هدف تیر اندازی با فرمت tif برای استفاده شما در این اسکریپت قرار می دهیم. دقت کنید تکسچری که از اینترنت برای Aim دانلود می کنید باید دقیق و سالم باشد، در غیر این صورت به اشتباه رسم خواهد شد چون قسمت های مخلف آن تکسچر پاک نشده است. تکسچری که برایتان قرار می دهیم کاملا استاندارد است.
☑ اسکریپتی که در پست بعدی ارسال می شود، به همراه توضیحات (Comment) فارسی است.
❗کلیه حقوق این فایل برای یونیتی لرنینگ محفوظ است.
#اسکریپت_نویسی #کد_نویسی #جاوا #برنامه
〰〰〰〰〰
⭕کانال یونـــیتی لرنینگ⭕
💢@UnityLearning 💢
🔰🔰🔰🔰🔰🔰
▫️توضیحات فایل▫️
⭕️#دانلود #اسکریپت_نویسی #کد_نویسی به زبان #جاوا که یک تکسچر دو بعدی را در وسط صفحه رسم می کند.
🔸تکسچر مورد نظر را روی پارامتر Crosshair بدهید. می توانید برای راحتی کار این اسکریپت را به FPS بدهید و مقادیر را تنظیم کنید.
@UnityLearning
▫️توضیحات فایل▫️
⭕️#دانلود #اسکریپت_نویسی #کد_نویسی به زبان #جاوا که یک تکسچر دو بعدی را در وسط صفحه رسم می کند.
🔸تکسچر مورد نظر را روی پارامتر Crosshair بدهید. می توانید برای راحتی کار این اسکریپت را به FPS بدهید و مقادیر را تنظیم کنید.
@UnityLearning