Arduino اور Unity کے ساتھ کسٹم گیم کنٹرولر بنانے کا طریقہ

Arduino اور Unity کے ساتھ کسٹم گیم کنٹرولر بنانے کا طریقہ

کیا آپ کبھی اپنے گیم کنٹرولر کو ڈیزائن کرنا چاہتے ہیں؟ یہ آپ کے خیال سے کہیں زیادہ آسان ہے!





اس مختصر منصوبے میں ہم یونٹی گیم انجن کے ساتھ استعمال کرنے کے لیے ایک سادہ کسٹم گیم کنٹرولر بنائیں گے۔ یہ کنٹرولر ایک Arduino Uno کے ذریعہ تقویت یافتہ ہو گا ، حالانکہ آپ اس منصوبے کے لیے بہت سے متبادلوں میں سے ایک استعمال کر سکتے ہیں۔ ہم ایک بنیادی گیم بھی بنائیں گے جہاں آپ اپنے کنٹرولر کو گرنے والی اشیاء سے بچنے اور وقت کو سست کرنے کے لیے استعمال کریں گے۔





اس پروجیکٹ کے لیے آپ کو ضرورت ہو گی۔

  • Arduino یا اسی طرح کا مائیکرو کنٹرولر۔
  • 1 x 10k اوہم ریزسٹر
  • 1 ایکس لمحاتی سوئچ
  • 1 ایکس پوٹینومیٹر۔
  • ہک اپ تاروں
  • ایک بریڈ بورڈ۔
  • یونٹی گیم انجن۔
  • Unity Asset Store سے Uniduino پلگ ان ($ 30)
  • مکمل پروجیکٹ کوڈ ، اگر آپ اسے لکھنا نہیں چاہتے ہیں (یونیڈوینو پلگ ان شامل نہیں ہے)

ان میں سے بیشتر چیزیں آرڈوینو سٹارٹر کٹ میں دستیاب ہیں۔ اگر اسٹارٹر کٹ نہیں ملی ہے تو آپ کے لیے بہترین گائیڈ کا انتخاب کرنے کے لیے ہماری گائیڈ چیک کریں۔





آپ اپنے کنٹرولر کو اپنی مرضی کے مطابق پیچیدہ بنا سکتے ہیں ، حالانکہ اس مثال کے لیے ہم ایک پوٹینومیٹر اور ایک بٹن لگائیں گے - ایک سادہ آرکیڈ گیم کو کنٹرول کرنے کے لیے بہترین۔

اپنے کنٹرولر کو جمع کرنا۔

جیسا کہ نیچے دی گئی تصویر میں دکھایا گیا ہے اپنا بریڈ بورڈ اور آرڈینو ترتیب دیں۔ یہ وہی ہے جو ہم اپنے گیم کنٹرولر کے طور پر استعمال کریں گے ، حالانکہ آپ تقریبا the بالکل وہی سیٹ اپ استعمال کر سکتے ہیں جیسا کہ a DIY مڈی کنٹرولر۔ بھی!



اپنے Arduino کی تیاری

ایک بار جب آپ کے پاس ہر چیز وائرڈ ہوجائے تو ، اپنے آرڈوینو کو USB کے ذریعے مربوط کریں۔ Arduino سافٹ ویئر IDE کی طرف۔ اوزار> بورڈ۔ اور ٹولز> پورٹ۔ منتخب کرنے کے لیے کہ آپ کون سا مائیکرو کنٹرولر اور پورٹ استعمال کر رہے ہیں۔ Arduino IDE اس خاکے کے ساتھ بنڈل آتا ہے جس کی ہمیں ضرورت ہے ، اور آپ اسے نیچے تلاش کرسکتے ہیں۔ فائل> مثالیں> فرماتا> معیاری فرماتا۔ . اپ لوڈ پر کلک کریں اور آپ جانے کے لیے تیار ہو جائیں گے۔

اگر آپ Arduino میں نئے ہیں اور آپ کا سر تھوڑا سا پگھل رہا ہے تو ہمارا چیک کریں۔ ابتدائی رہنما۔ تاکہ آپ اپنے کمپیوٹر سے اچھی طرح بات کر سکیں۔





اپنے اتحاد کے منصوبے کو ترتیب دینا۔

اتحاد میں ، کھلا۔ ونڈو> اثاثہ کی دکان یونٹی ایڈیٹر کے اندر سے یونٹی کے اثاثہ اسٹور تک رسائی حاصل کریں۔ Uniduino پلگ ان کے لیے اثاثہ سٹور تلاش کریں۔ یہ پلگ ان آپ کو یونٹی کے اندر اپنے Arduino پنوں سے ڈیٹا وصول کرنے اور بھیجنے کی اجازت دے گا۔ لکھنے کے وقت پلگ ان کی قیمت $ 30 ہے۔ یہ ممکن ہے پلگ ان کو خریدے بغیر اس پروجیکٹ کو کرنا ، حالانکہ یہ زیادہ پیچیدہ ہے اور آپ کو پلگ ان کو زیادہ سہل لگتا ہے۔

پلگ ان کے تخلیق کاروں کی جانب سے یہ ویڈیو آپ کو پہلی بار سیٹ اپ کے ساتھ ساتھ ہر چیز کی جانچ کے عمل کے ذریعے لے جاتی ہے۔ نوٹ کریں کہ آپ کو ونڈوز پر یونٹی ایڈیٹر کو بھی ری سیٹ کرنا پڑ سکتا ہے۔





ہم اپنے کنٹرولر کو جانچنے کے لیے اسی ٹیسٹ پینل کا استعمال کر سکتے ہیں۔ پن D2 کو INPUT اور ڈیجیٹل پر سیٹ کریں۔ مزید نیچے ، پن A5 کو ANALOG پر سیٹ کریں۔ آپ کے پوٹینومیٹر اور بٹن کو ان کے پن نمبروں کے ساتھ اسکرین پر اقدار ظاہر ہونی چاہئیں۔ پیش رفت!

اب ہم کچھ کنٹرول کر سکتے ہیں۔

تو ہمارے پاس ایک کنٹرولر ہے ، لیکن ہم کیا کنٹرول کریں گے؟ ٹھیک ہے ، امکانات لامتناہی ہیں ، لیکن آج کے لیے ہم اپنے نئے کنٹرول سسٹم کو جانچنے کے لیے ایک بہت ہی آسان ڈوڈنگ گیم بنائیں گے۔ ہم گیم سیٹ اپ کو بہت تیزی سے آگے بڑھائیں گے ، لہذا اگر آپ یونٹی انجن کے لیے بالکل نئے ہیں تو آپ کو ہمارا مل سکتا ہے۔ یونٹی گیم پروگرامنگ بیگنرز گائیڈ۔ آپ کے بیرنگ حاصل کرنے کے لئے مفید.

ہم ایک بہت ہی بنیادی گیم بنائیں گے جس میں آپ کا مقصد اپنے دائرے کو بائیں اور دائیں چکنا ہے تاکہ گرنے والے کیوبز سے بچ سکیں ، جو آپ کے نئے بنائے گئے کسٹم کنٹرولر کو استعمال کرے گا۔

ایک نیا منظر بنائیں اور Uniduino prefab کو گھسیٹیں۔ اثاثے> Uniduino> Prefabs۔ اپنے درجہ بندی میں اور یونیڈوینو پریفاب کو درجہ بندی میں گھسیٹیں۔ ہمیں اپنے گیم اور کنٹرولر کے درمیان بات چیت کرنے کی ضرورت ہے۔

یونٹی ڈھانچے میں کلک کریں۔ > دائرہ بنائیں۔ اور انسپکٹر میں ٹرانسفارم ٹیب کا استعمال کرتے ہوئے اسے گیم اسکرین کے نیچے منتقل کریں۔

کوڈنگ حاصل کرنے کا وقت آگیا ہے۔

اب اس پارٹی میں کچھ کوڈ شامل کرنے کے لیے۔ درجہ بندی میں منتخب کردہ دائرے کے ساتھ ، کلک کریں۔ جزو> نیا سکرپٹ شامل کریں۔ اس کے انسپکٹر ونڈو کے نیچے اس کا نام بتاؤ کرہ موور اور منتخب کریں سی شارپ۔ ڈراپ ڈاؤن مینو سے کلک کریں۔ بنائیں اور شامل کریں۔ اور اسکرپٹ کو گیم آبجیکٹ میں شامل کیا جائے گا۔ اسکرپٹ کھولنے کے لیے اس پر ڈبل کلک کریں اور یہ کوڈ درج کریں:

using UnityEngine;
using System.Collections;
using Uniduino;
public class sphereMover : MonoBehaviour
{
//Headers aren't scrictly neccesary, but they make life easier back in the Inspector.
[Header('Arduino Variables')]
//we need to declare the Arduino as a variable
public Arduino arduino;
//we need to declare an integer for the pin number of our potentiometer,
//making these variables public means we can change them in the editor later
//if we change the layout of our arduino
public int potPinNumber;
//a float variable to hold the potentiometer value (0 - 1023)
public float potValue;
//we will later remap that potValue to the y position of our capsule and hold it in this variable
public float mappedPot;
//public int for our button pin
public int buttonPinNumber;
[Header('Sphere Variables')]
//variables to hold the values we noted earlier for the sides of our screen
public float leftEdge;
public float rightEdge;
// Use this for initialization
void Start ()
{//and initialize we shall, starting with the Arduino Variable.
//we are only using one arduino, so we can use Arduino.global to grab it.
arduino = Arduino.global;
arduino.Setup(ConfigurePins);
}
void ConfigurePins()
{
//configure the Arduino pin to be analog for our potentiometer
arduino.pinMode(potPinNumber, PinMode.ANALOG);
//Tell the Arduino to report any changes in the value of our potentiometer
arduino.reportAnalog(5, 1);
//configure our Button pin
arduino.pinMode(buttonPinNumber, PinMode.INPUT);
arduino.reportDigital((byte)(buttonPinNumber / 8), 1);
}
}

کوڈ کے تبصرے کو پڑھنے کے لئے ایک لمحہ نکالیں۔ اب تک ، ہم نے اپنے Arduino ، اس کے پنوں اور اپنے دائرے کے لیے کچھ متغیرات کا اعلان کیا ہے۔ ہم نے بھی استعمال کیا ہے

رن ٹائم پر ہمارے Arduino کو شروع کرنے کے لیے پنس کے طریقے شروع کریں اور ترتیب دیں۔ آئیے ہماری اسکرپٹ کو محفوظ کریں ، اور یونٹی ایڈیٹر میں واپس جائیں اور دیکھیں کہ کیا تبدیل ہوا ہے۔

اب ہم انسپکٹر ونڈو میں اپنے عوامی متغیرات دیکھ سکتے ہیں۔ آئیے دیکھتے ہیں کہ ہم اس مرحلے میں کیا داخل کر سکتے ہیں تاکہ بعد میں ہماری مدد کی جا سکے۔ ہم جانتے ہیں کہ ہم اپنی تعمیر سے پہلے Arduino پر کیا پن استعمال کر رہے ہیں ، ہم ان میں داخل ہو سکتے ہیں۔ ہم پہلے اپنے تجربے سے یہ بھی جانتے ہیں کہ ہم کتنا دور چاہتے ہیں کہ ہمارا دائرہ بائیں اور دائیں سفر کر سکے تاکہ یہ سکرین سے گر نہ جائے۔ آئیے اب ان اقدار کو داخل کریں۔

زندگی کی پہلی نشانیاں۔

اب وقت آگیا ہے کہ یونٹی ایڈیٹر کے اندر ہمارے آرڈینو سے اقدار دیکھیں۔ ابھی کے لیے ، ہم اپنے شعبہ موور اسکرپٹ کے اپ ڈیٹ فنکشن میں کوڈ کی ایک لائن شامل کر سکتے ہیں ، اور اسکرپٹ کو دوبارہ محفوظ کر سکتے ہیں۔

void Update ()
{
//We assign the value the arduino is reading from our potentionmeter to our potValue variable
potValue = arduino.analogRead(potPinNumber);
}

اب جب کہ ہمارے پوٹ ویلیو متغیر کو ہر فریم میں اپ ڈیٹ کیا جا رہا ہے ، ہم یونٹی انسپکٹر میں حقیقی وقت میں اس کی قیمت دیکھ سکتے ہیں۔ اس سے پہلے کہ ہم اسے ٹیسٹ دیں ، اب یہ دیکھنے کا اچھا وقت ہوگا کہ یونیڈوینو پلگ ان صحیح بندرگاہ پر سن رہا ہے۔ ہیرارچی میں یونیڈوینو پر کلک کریں ، اور انسپکٹر میں اس کے پورٹ کا نام چیک کریں۔ اگر یہ خالی ہے تو ، اپنے Arduino کے لیے صحیح پورٹ نمبر پُر کریں۔ اس معاملے میں یہ COM4 تھا ، حالانکہ یہ آپ کے لیے مختلف ہو سکتا ہے۔ اگر آپ کو یقین نہیں ہے تو Arduino IDE کا استعمال چیک کریں۔

درجہ بندی میں اپنا دائرہ منتخب کریں اور اسکرین کے اوپری حصے میں پلے بٹن پر کلک کریں۔ سسٹم کو شروع کرنے کے لیے چند سیکنڈ درکار ہوتے ہیں ، جس کے بعد جب آپ پوٹینومیٹر منتقل کرتے ہیں تو آپ کو انسپکٹر میں پوٹ ویلیو متغیر تبدیلی دیکھنا شروع کرنی چاہیے۔

اب ہم بات کر رہے ہیں! ٹھیک ہے ، سختی سے بولنا یونٹی اور آرڈوینو بات کر رہے ہیں ، لیکن کون گن رہا ہے؟ اگر آپ اس حد تک پہنچ چکے ہیں اور انسپکٹر میں قدر میں تبدیلی نہیں دیکھ رہے ہیں تو ، سیٹ اپ کے مراحل کو چیک کریں ، اور اس بات کو یقینی بنائیں کہ آپ اپنے Arduino کے لیے صحیح پورٹ منتخب کریں۔

آئیے اس دائرے کو منتقل کریں۔

اب جب کہ ہمارے پاس potValue متغیر کو اپ ڈیٹ کیا جا رہا ہے ، ہم اپنے دائرے کو منتقل کرنے کے لیے اس قدر کو استعمال کرنا چاہتے ہیں۔ جب پوٹینومیٹر بائیں طرف جاتا ہے تو ہم چاہتے ہیں کہ دائرہ اسکرین کے بائیں جانب ہو ، اور اس کے برعکس۔ یونٹی میں آبجیکٹ ویکٹر اسپیس کے ایک مقام پر رکھے جاتے ہیں ، جو اس کی اقدار سے متعین ہوتا ہے۔ ٹرانسفارم پوزیشن۔ . نیچے دی گئی تصویر میں ، جہاں دائرہ بائیں طرف سب سے دور کے مقام پر ہے ہم اسے چاہتے ہیں ، آپ دیکھ سکتے ہیں کہ اس کی پوزیشن ویکٹر 9.5 ، -4 ، 0 ہے۔

ہم دائرے کی X پوزیشن کو متاثر کرنا چاہتے ہیں۔ بدقسمتی سے ہمارے پوٹینومیٹر کی اقدار کو براہ راست استعمال کرنے سے کام نہیں چلے گا ، کیونکہ جب پوٹینومیٹر بائیں طرف ہوتا ہے تو یہ 0 کی قیمت دیتا ہے - جو کہ ہمارے دائرے کو اسکرین کے وسط میں ڈالے گا۔ دوسری انتہا پر ، پوٹینومیٹر کی ٹاپ ویلیو ، 1023 ، کیوب کو ہماری اسکرین کے دائیں طرف رکھ دے گی۔ مفید نہیں۔ ہمیں یہاں کچھ ریاضی کی ضرورت ہے۔

ریاضی کیوں کریں جب اتحاد آپ کے لیے یہ کام کرے گا؟

آپ میں سے ان لوگوں کے لیے جو کاغذ کے ایک ٹکڑے کو گھمنڈ سے دیکھ رہے ہیں جو کہ غیر سنجیدہ نمبروں سے ڈھکے ہوئے ہیں (حالانکہ کچھ ہیں۔ زبردست ویب سائٹس یہ آپ کو ریاضی سیکھنے میں مدد دے سکتا ہے) ، خوفزدہ نہ ہوں۔ ہمیں اپنے دائرے کی X پوزیشن سے مطابقت رکھنے کے لیے اپنی پوٹینومیٹر ویلیوز بنانے کا ایک طریقہ درکار ہے۔ خوش قسمتی سے ، ہم ایک استعمال کرسکتے ہیں۔ توسیع کا طریقہ .

ایکسٹینشن کا طریقہ ایک سکرپٹ ہے جو ہمارے لیے ایک مخصوص کام کرتا ہے۔ اس صورت میں ، ہم اسے وہ اقدار دیتے ہیں جو ہمارے پاس ہیں ، اور یہ انہیں ایک دوسرے کے نقشے پر لوٹاتا ہے ، جو ہمارے استعمال کے لیے تیار ہے کرہ موور سکرپٹ. پروجیکٹ پینل کے اوپر ، کلک کریں۔ > C# سکرپٹ بنائیں۔ اور اسے ExtensionMethods کا نام دیں۔ اسکرپٹ میں نیچے کوڈ درج کریں:

using UnityEngine;
using System.Collections;
public static class ExtensionMethods {

//our handy dandy Remapper function
public static float Remap (this float value, float from1, float to1, float from2, float to2)
{
return (value - from1) / (to1 - from1) * (to2 - from2) + from2;
}
}

اسکرپٹ کو محفوظ کریں ، اور اپنے دائرہ موور اسکرپٹ پر واپس جائیں۔ اب ہم اس ریمپ فنکشن کو اپنے ایکسٹینشن میتھوڈس اسکرپٹ میں اپنے اپڈیٹ فنکشن میں استعمال کر سکتے ہیں تاکہ ہمارے پوٹینومیٹر ویلیوز کو اپنے گیم میں قابل استعمال اقدار میں تبدیل کر سکیں۔ جہاں ہم نے ابھی potValue متغیر تفویض کیا ہے ، درج ذیل ٹائپ کریں:

اشارہ ہمیں دکھاتا ہے کہ ہمارا ریمپ اقدار کے دو سیٹ لیتا ہے ، اور ان کو ایک ساتھ نقشہ بناتا ہے۔ ہم اس میں اپنی اقدار داخل کر سکتے ہیں۔

mappedPot = potValue.Remap(0, 1023, leftEdge, rightEdge);

اپنی اسکرپٹ کو محفوظ کریں ، یونٹی ایڈیٹر پر واپس جائیں ، اور پلے بٹن دبائیں۔ اب آپ کو یہ دیکھنا چاہیے کہ جب آپ پوٹینومیٹر کو منتقل کرتے ہیں تو میپڈ پاٹ متغیر تبدیل ہوتا ہے ، تاکہ ہم اپنے بائیں اور دائیں کناروں کے لیے طے کردہ اقدار کے مطابق ہوں۔ ایک لمحے کو بیٹھ جاؤ اور اپنے ExtensionMethods اسکرپٹ کا شکریہ۔ نظر میں کیلکولیٹر نہیں۔

نوٹ: اگر آپ دیکھ رہے ہیں کہ آپ کی اقدار الٹ ہیں ، لہذا جب آپ کا پوٹینومیٹر صحیح راستے پر ہے تو آپ اپنے میپڈ پاٹ متغیر کے لیے منفی قیمت حاصل کر رہے ہیں ، آپ اپنے پوٹینومیٹر کو غلط طریقے سے ترتیب دے سکتے ہیں۔ خوش قسمتی سے ، آپ اسے بغیر کسی ری وائرنگ کے ٹھیک کر سکتے ہیں۔ جب آپ اقدار کو دوبارہ بنائیں گے تو آپ آسانی سے تبدیل کر سکتے ہیں:

اب آخر کار ہمارے پاس قابل استعمال اقدار ہیں۔ اب جو کچھ کرنا باقی ہے وہ ان اقدار کو ہمارے دائرے کی X پوزیشن پر تفویض کرنا ہے۔

آن لائن ایک ساتھ فلم دیکھنے کا طریقہ
//Assign the mapped pot value to the sphere's x position
transform.position = new Vector3(mappedPot, transform.position.y, transform.position.z);

اپنی اسکرپٹ کو محفوظ کریں ، یونٹی ایڈیٹر پر واپس جائیں اور پلے دبائیں۔ اب آپ کو اپنے پوٹینومیٹر کا استعمال کرتے ہوئے اپنے دائرے کو بائیں اور دائیں منتقل کرنے کے قابل ہونا چاہئے!

بٹن کو کام پر رکھنا۔

اب جب کہ ہمارا دائرہ حرکت میں ہے ، کیا یہ اچھا نہیں ہوگا کہ جب ہم کسی تنگ جگہ پر پہنچ جائیں تو چیزوں کو تھوڑا سا سست کرنے کا کوئی طریقہ ہے؟ ہم اپنے بٹن کو اپنے کھیل میں وقت کم کرنے کے لیے استعمال کرنے جا رہے ہیں۔ اپنا sphereMover اسکرپٹ کھولیں ، اور اس کوڈ کو اپنے اپ ڈیٹ فنکشن میں شامل کریں۔

//if Unity detects the button is being pressed, the time scale slows down
if (arduino.digitalRead(buttonPinNumber) == 1){
Time.timeScale = 0.4f;
}
else Time.timeScale = 1.0f;

اب ہمارے پاس ہمارے کھیل کے میکانکس ہیں ، آئیے کچھ رکاوٹیں شامل کریں! ہم دائرے کے قدرتی دشمن ، کیوب کو استعمال کرنے جا رہے ہیں۔ درجہ بندی میں ، کلک کریں۔ > 3d آبجیکٹ> کیوب بنائیں۔ . کیوب کے انسپکٹر میں ، اجزاء شامل کریں> طبیعیات> Rigidbody . ریگ باڈی کی ڈریگ ویلیو 5 پر سیٹ کریں۔ نیز ، انسپکٹر میں باکس کولائیڈر جزو کے تحت ، Is Trigger کو منتخب کریں۔ یہ ہمیں اپنے دائرے کے ساتھ تصادم کا پتہ لگانے کی اجازت دے گا۔

کیوب پر اسکرپٹ بنائیں اور اسے کال کریں۔ ٹکرائیں ، اسکرپٹ کھولیں اور اسٹارٹ اور اپ ڈیٹ افعال کو حذف کریں کیونکہ ہمیں اس بار ان کی ضرورت نہیں ہوگی۔ یہ کوڈ درج کریں:

using UnityEngine;
using System.Collections;
public class collideWithSphere : MonoBehaviour
{
void OnTriggerEnter(Collider other)
{
Destroy(other.gameObject);
}
}

OnTriggerEnter ایک پیغام بھیجتا ہے جب بھی ٹرگر کولائیڈر دوسرے کولائیڈر سے ٹکراتا ہے۔ اس مثال میں ، ہم اسے کہہ رہے ہیں کہ جو بھی چھوئے اسے تباہ کردیں۔ اسکرپٹ کو محفوظ کریں اور یونٹی ایڈیٹر پر واپس جائیں۔ کیوب کو درجہ بندی سے پروجیکٹ پینل پر گھسیٹیں۔ آپ دیکھیں گے کہ درجہ بندی میں کیوب کا متن نیلے ہو گیا ہے۔ اس کی وجہ یہ ہے کہ ہم نے ایک پریفاب بنایا ہے اور اسے اپنے پروجیکٹ میں محفوظ کیا ہے۔ اپنے کیوب کو درجہ بندی سے ابھی حذف کریں۔

اب ہمیں صرف کیوبز کے لیے ایک سکرپٹ کی ضرورت ہے۔ درجہ بندی میں کلک کریں۔ بنائیں> خالی بنائیں۔ ، اور انسپکٹر میں گیم منیجر کا نام تبدیل کریں اور اس میں ایک سکرپٹ شامل کریں جسے گیم مینجر کہا جاتا ہے۔ اسکرپٹ کھولیں اور یہ کوڈ شامل کریں:

using UnityEngine;
using System.Collections;
public class gameManager : MonoBehaviour {
//a variable to hold the prefab we want to spawn
public GameObject cube;
//we want some variables to decide how any cubes to spawn
//and how high above us we want them to spawn
public int numberToSpwan;
public float lowestSpawnheight;
public float highestSpawnheight;
// Use this for initialization
void Start ()
{
for (int i = 0; i {
Instantiate(cube, new Vector3(Random.Range(-9, 9), Random.Range(lowestSpawnheight, highestSpawnheight), 0), Quaternion.identity);
}
}

// Update is called once per frame
void Update ()
{

}
}

اسکرپٹ کو محفوظ کریں۔ ایڈیٹر میں واپس ، درجہ بندی میں گیم مینیجر کو منتخب کریں ، اور اپنے کیوب پریفاب کو پروجیکٹ پینل سے انسپکٹر میں کیوب متغیر پر گھسیٹیں۔ یہاں بھی اپنی پیدائش کے لیے اقدار کو پُر کریں۔ آپ اس کے ساتھ ہلچل مچا سکتے ہیں تاکہ اسے اپنی مرضی کے مطابق مشکل یا آسان بنا سکیں۔ نوٹ کریں کہ یہ آپ کے سب سے کم کیوبز کو کافی اونچا رکھنے کے قابل ہے تاکہ یونیڈوینو کو شروع کیا جاسکے - اس سے پہلے کہ آپ حرکت کریں اس سے پہلے کھیل ہارنا مایوس کن ہوسکتا ہے!

ختم شدہ پروجیکٹ۔

اب جب آپ پلے دبائیں گے تو کیوب آپ کے اوپر پھوٹ پڑے گا اور گر جائے گا۔ آپ ان سے بچنے کے لیے اپنا پوٹینومیٹر استعمال کر سکتے ہیں ، اور وقت کو کم کرنے کے لیے اپنا بٹن۔

اس پروجیکٹ میں ہم نے ایک Arduino کے ساتھ ایک کسٹم کنٹرولر بنایا ہے ، اس کے ساتھ بات چیت کرنے کے لیے Unity اور Uniduino کو تشکیل دیا ہے ، اور اس کی جانچ کے لیے ایک سادہ گیم بنایا ہے۔ یہاں کے تصورات کو تقریبا any کسی بھی پروجیکٹ پر لاگو کیا جا سکتا ہے ، اور یہاں تک کہ ہیں۔ گیم جام جو اپنی مرضی کے کنٹرولرز میں مہارت رکھتا ہے۔ .

Arduino اور اتحاد کے ساتھ آپ تقریبا کسی بھی چیز سے اپنی مرضی کے مطابق کنٹرولر بنا سکتے ہیں۔ کیا آپ نے ایک ہائی فائی بنایا ہے جو خلائی جہاز کو کنٹرول کرتا ہے؟ ایک ٹوسٹر جو پلیٹ فارم گیم کو کنٹرول کرتا ہے؟

اگر آپ نے اس طرح کا کوئی پروجیکٹ بنایا ہے تو میں اسے دیکھنا پسند کروں گا! اسے نیچے تبصروں میں پوسٹ کریں!

بانٹیں بانٹیں ٹویٹ ای میل۔ 6 قابل سماعت متبادل: بہترین مفت یا سستی آڈیو بک ایپس۔

اگر آپ آڈیو بکس کی ادائیگی پسند نہیں کرتے ہیں تو ، یہاں کچھ زبردست ایپس ہیں جو آپ کو ان کو مفت اور قانونی طور پر سننے دیتی ہیں۔

اگلا پڑھیں۔
متعلقہ موضوعات۔
  • DIY
  • پروگرامنگ۔
  • Arduino
  • کھیل کنٹرولر
  • کھیل کی ترقی
مصنف کے بارے میں ایان بکلے۔(216 مضامین شائع ہوئے)

ایان بکلے برلن ، جرمنی میں رہنے والے ایک آزاد صحافی ، موسیقار ، اداکار اور ویڈیو پروڈیوسر ہیں۔ جب وہ لکھ نہیں رہا ہے یا اسٹیج پر نہیں ہے تو ، وہ پاگل سائنسدان بننے کی امید میں DIY الیکٹرانکس یا کوڈ کے ساتھ چھیڑ چھاڑ کر رہا ہے۔

ایان بکلی سے مزید

ہماری نیوز لیٹر کو سبسکرائب کریں

ٹیک ٹپس ، جائزے ، مفت ای بکس ، اور خصوصی سودوں کے لیے ہمارے نیوز لیٹر میں شامل ہوں!

سبسکرائب کرنے کے لیے یہاں کلک کریں۔