ఆర్డునో మరియు యూనిటీతో కస్టమ్ గేమ్ కంట్రోలర్‌ని ఎలా తయారు చేయాలి

ఆర్డునో మరియు యూనిటీతో కస్టమ్ గేమ్ కంట్రోలర్‌ని ఎలా తయారు చేయాలి

మీరు ఎప్పుడైనా మీ స్వంత గేమ్ కంట్రోలర్‌ను డిజైన్ చేయాలనుకుంటున్నారా? మీరు అనుకున్నదానికంటే సులభం!





ఈ చిన్న ప్రాజెక్ట్‌లో మేము యూనిటీ గేమ్ ఇంజిన్‌తో ఉపయోగించడానికి ఒక సాధారణ కస్టమ్ గేమ్ కంట్రోలర్‌ను నిర్మిస్తాము. ఈ కంట్రోలర్ ఒక Arduino Uno ద్వారా శక్తిని పొందుతుంది, అయితే మీరు ఈ ప్రాజెక్ట్ కోసం అక్కడ ఉన్న అనేక ప్రత్యామ్నాయాలలో ఒకదాన్ని ఉపయోగించవచ్చు. వస్తువులను పడకుండా మరియు సమయాన్ని తగ్గించడానికి మీరు మీ కంట్రోలర్‌ని ఉపయోగించే ప్రాథమిక గేమ్‌ని కూడా మేము సృష్టిస్తాము.





ఈ ప్రాజెక్ట్ కోసం మీకు అవసరం

  • ఆర్డునో లేదా ఇలాంటి మైక్రోకంట్రోలర్
  • 1 x 10k ఓమ్ రెసిస్టర్
  • 1 x మొమెంటరీ స్విచ్
  • 1 x పొటెన్షియోమీటర్
  • హుక్ అప్ వైర్లు
  • ఒక బ్రెడ్‌బోర్డ్
  • యూనిటీ గేమ్ ఇంజిన్
  • యూనిటీ అసెట్ స్టోర్ ($ 30) నుండి యునిడునో ప్లగ్ఇన్
  • ఒకవేళ మీరు దాన్ని వ్రాయకూడదనుకుంటే ప్రాజెక్ట్ కోడ్‌ని పూర్తి చేయండి (యునిడునో ప్లగ్‌ఇన్‌ని కలిగి ఉండదు)

వీటిలో చాలా విషయాలు ఆర్డునో స్టార్టర్ కిట్‌లో అందుబాటులో ఉన్నాయి. మీకు స్టార్టర్ కిట్ లేకపోతే, మీ కోసం ఉత్తమమైనదాన్ని ఎంచుకోవడానికి మా గైడ్‌ను చూడండి.





మీరు మీ కంట్రోలర్‌ను మీకు నచ్చిన విధంగా క్లిష్టతరం చేయవచ్చు, అయితే ఈ ఉదాహరణ కోసం మేము ఒక పొటెన్షియోమీటర్ మరియు ఒక బటన్‌ని సెటప్ చేస్తాము - సాధారణ ఆర్కేడ్ గేమ్‌ను నియంత్రించడానికి సరైనది.

మీ కంట్రోలర్‌ను సమీకరించడం

దిగువ చిత్రంలో చూపిన విధంగా మీ బ్రెడ్‌బోర్డ్ మరియు ఆర్డునోను సెటప్ చేయండి. ఇది మా గేమ్ కంట్రోలర్‌గా మేము ఉపయోగిస్తున్నాము, అయినప్పటికీ మీరు దాదాపుగా అదే సెటప్‌ను ఉపయోగించవచ్చు DIY మిడి కంట్రోలర్ చాలా!



మీ ఆర్డునోను సిద్ధం చేస్తోంది

మీరు అన్నింటినీ తీర్చిదిద్దిన తర్వాత, మీ Arduino ని USB ద్వారా కనెక్ట్ చేయండి. Arduino సాఫ్ట్‌వేర్ IDE కి వెళ్ళండి ఉపకరణాలు> బోర్డు మరియు టూల్స్> పోర్ట్ మీరు ఉపయోగించే మైక్రోకంట్రోలర్ మరియు పోర్ట్‌ను ఎంచుకోవడానికి. Arduino IDE మనకు అవసరమైన స్కెచ్‌తో కూడి ఉంటుంది మరియు మీరు దానిని కింద కనుగొనవచ్చు ఫైల్> ఉదాహరణలు> ఫర్మాటా> స్టాండర్డ్ ఫర్మాటా . అప్‌లోడ్ క్లిక్ చేయండి మరియు మీరు వెళ్లడానికి సిద్ధంగా ఉంటారు.

మీరు Arduino కి కొత్తగా ఉంటే మరియు మీ తల కొద్దిగా కరిగిపోతుంటే, మా తనిఖీ చేయండి బిగినర్స్ గైడ్ మీ కంప్యూటర్‌తో చక్కగా మాట్లాడడానికి మీకు సహాయపడటానికి.





మీ యూనిటీ ప్రాజెక్ట్‌ను సెటప్ చేస్తోంది

ఐక్యతలో, తెరవండి విండో> అసెట్ స్టోర్ యూనిటీ ఎడిటర్ లోపల యూనిటీ అసెట్ స్టోర్‌ను యాక్సెస్ చేయడానికి. యునిడునో ప్లగ్ఇన్ కోసం అసెట్ స్టోర్‌లో శోధించండి. ఈ ప్లగ్ఇన్ మీరు యూనిటీ లోపల మీ Arduino పిన్‌లకు మరియు దాని నుండి డేటాను స్వీకరించడానికి మరియు పంపడానికి అనుమతిస్తుంది. వ్రాసే సమయంలో ప్లగ్ఇన్ ధర $ 30. కుదురుతుంది ప్లగ్ఇన్ కొనుగోలు చేయకుండా ఈ ప్రాజెక్ట్ చేయడానికి, ఇది చాలా క్లిష్టంగా ఉన్నప్పటికీ మరియు ప్లగ్ఇన్ అన్ని రౌండ్లలో మీకు మరింత సౌకర్యవంతంగా ఉంటుంది.

ప్లగ్ఇన్ సృష్టికర్తల నుండి వచ్చిన ఈ వీడియో మొదటిసారి సెటప్‌తో పాటుగా ప్రతిదీ పని చేస్తుందో పరీక్షించే ప్రక్రియ ద్వారా మిమ్మల్ని తీసుకెళుతుంది. మీరు విండోస్‌లో యూనిటీ ఎడిటర్‌ని కూడా రీసెట్ చేయాల్సి ఉంటుందని గమనించండి.





మా కంట్రోలర్‌ని పరీక్షించడానికి మేము ఇదే పరీక్ష ప్యానెల్‌ని ఉపయోగించవచ్చు. పిన్ డి 2 ని ఇన్‌పుట్ మరియు డిజిటల్‌కి సెట్ చేయండి. మరింత దిగువకు, పిన్ A5 ను అనలాగ్‌కు సెట్ చేయండి. మీ పొటెన్షియోమీటర్ మరియు బటన్ ఇప్పుడు వాటి పిన్ నంబర్‌ల పక్కన తెరపై విలువలను ప్రదర్శించాలి. పురోగతి!

ఇప్పుడు మనం నియంత్రించగలిగేది చేయడానికి

కాబట్టి మాకు నియంత్రిక ఉంది, కానీ మనం దేనిని నియంత్రిస్తాము? సరే, అవకాశాలు అంతులేనివి, కానీ ఈ రోజు కోసం మేము మా కొత్త నియంత్రణ వ్యవస్థను పరీక్షించడానికి చాలా సులభమైన డాడ్జింగ్ గేమ్‌ను రూపొందిస్తాము. మేము గేమ్ సెటప్‌ని చాలా త్వరగా కదిలిస్తాము, కాబట్టి మీరు యూనిటీ ఇంజిన్‌కు పూర్తిగా కొత్తవారైతే మాది కనుగొనవచ్చు యూనిటీ గేమ్ ప్రోగ్రామింగ్ బిగినర్స్ గైడ్ మీ బేరింగ్స్ పొందడానికి ఉపయోగపడుతుంది.

మేము చాలా ప్రాథమిక గేమ్‌ని నిర్మిస్తాము, దీనిలో మీ గోళాన్ని ఎడమ మరియు కుడి వైపుకు ఓడించడమే మీ లక్ష్యం, ఇది కొత్తగా తయారు చేసిన కస్టమ్ కంట్రోలర్‌ని ఉపయోగించుకుంటుంది.

క్రొత్త సన్నివేశాన్ని సృష్టించండి మరియు యునిడునో ప్రీఫాబ్ నుండి లాగండి ఆస్తులు> 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, దాని పిన్‌లు మరియు మన గోళం కోసం కొన్ని వేరియబుల్స్‌ను ప్రకటించాము. మేము కూడా ఉపయోగించాము

రన్ టైమ్‌లో మా ఆర్డునోను ప్రారంభించడానికి పిన్స్ పద్ధతులను ప్రారంభించండి మరియు కాన్ఫిగర్ చేయండి. మా స్క్రిప్ట్‌ను సేవ్ చేసి, తిరిగి యూనిటీ ఎడిటర్‌లోకి వెళ్లి, ఏమి మార్చబడిందో చూద్దాం.

ఇన్స్పెక్టర్ విండోలో ఇప్పుడు మన పబ్లిక్ వేరియబుల్స్ చూడవచ్చు. తరువాత మాకు సహాయం చేయడానికి ఈ దశలో మనం ఏమి నమోదు చేయవచ్చో చూద్దాం. ఆర్డునోలో మనం ఏ పిన్‌ని ఉపయోగిస్తున్నామో మా బిల్డ్ నుండి మాకు తెలుసు, మేము వాటిని నమోదు చేయవచ్చు. మన గోళం ఎంత దూరం ఎడమ మరియు కుడి వైపుకు ప్రయాణం చేయాలనుకుంటుందో అంతకుముందు మా ప్రయోగం ద్వారా మనకు తెలుసు కాబట్టి అది తెరపై నుంచి రాలదు. ఇప్పుడు ఈ విలువలను నమోదు చేద్దాం.

జీవితం యొక్క మొదటి సంకేతాలు

యూనిటీ ఎడిటర్ లోపల మా ఆర్డునో నుండి విలువలను చూసే సమయం వచ్చింది. ప్రస్తుతానికి, మేము మా స్పియర్‌మోవర్ స్క్రిప్ట్ యొక్క అప్‌డేట్ ఫంక్షన్‌కు ఒక లైన్ కోడ్‌ను జోడించవచ్చు మరియు స్క్రిప్ట్‌ను మళ్లీ సేవ్ చేయవచ్చు.

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 ని ఉపయోగించి తనిఖీ చేయండి.

సోపానక్రమంలో మీ గోళాన్ని ఎంచుకోండి మరియు స్క్రీన్ ఎగువన ఉన్న ప్లే బటన్‌ను క్లిక్ చేయండి. సిస్టమ్ ప్రారంభించడానికి కొన్ని సెకన్లు అవసరం, ఆ తర్వాత మీరు పొటెన్షియోమీటర్‌ని తరలించినప్పుడు మీరు ఇన్స్‌పెక్టర్‌లో పాట్ వాల్యూ వేరియబుల్ మార్పును చూడడం ప్రారంభించాలి.

ఇప్పుడు మనం మాట్లాడుతున్నాం! సరే, కచ్చితంగా మాట్లాడితే ఐక్యత మరియు ఆర్డునో మాట్లాడుతున్నారు, కానీ ఎవరు లెక్కిస్తున్నారు? మీరు ఇంత దూరం వచ్చి, ఇన్స్‌పెక్టర్‌లో విలువ మార్పును చూడకపోతే, సెటప్ దశలను తనిఖీ చేయండి మరియు మీ ఆర్డునో కోసం సరైన పోర్ట్ ఎంపిక చేయబడిందని నిర్ధారించుకోండి.

ఈ గోళాన్ని తరలిద్దాం

ఇప్పుడు మన దగ్గర పాట్‌వాల్యూ వేరియబుల్ అప్‌డేట్ చేయబడుతోంది, మన గోళాన్ని తరలించడానికి మేము ఈ విలువను ఉపయోగించాలనుకుంటున్నాము. పొటెన్షియోమీటర్ ఎడమవైపుకి అన్ని మార్గాలు ఉన్నప్పుడు, గోళం స్క్రీన్ ఎడమ వైపున ఉండాలని మేము కోరుకుంటున్నాము, మరియు దీనికి విరుద్ధంగా. యూనిటీలోని వస్తువులు వెక్టర్ స్పేస్‌లో ఒక పాయింట్‌లో ఉంచబడతాయి, దాని విలువలతో నిర్ణయించబడుతుంది పరివర్తన. స్థానం . దిగువ చిత్రంలో, గోళం ఎడమ వైపున అత్యంత దూరంలో ఉన్న చోట మనం కోరుకుంటే, దాని స్థాన వెక్టర్ 9.5, -4, 0 అని మీరు చూడవచ్చు.

మేము గోళం యొక్క X స్థానాన్ని ప్రభావితం చేయాలనుకుంటున్నాము. దురదృష్టవశాత్తు, మా పొటెన్షియోమీటర్ నుండి విలువలను నేరుగా ఉపయోగించడం పనిచేయదు, ఎందుకంటే పొటెన్షియోమీటర్ ఎడమ వైపున ఉన్నప్పుడు అది 0 విలువను ఇస్తుంది - ఇది మన గోళాన్ని స్క్రీన్ మధ్యలో సరిగ్గా ఉంచుతుంది. మరొక తీవ్రత వద్ద, పొటెన్షియోమీటర్ యొక్క టాప్ వాల్యూ, 1023, క్యూబ్ మార్గాన్ని మన స్క్రీన్ కుడి వైపున ఉంచుతుంది. ఉపయోగకరం కాదు. ఇక్కడ మనకు కావలసింది కొంత గణితం.

మీ కోసం ఐక్యత ఉన్నప్పుడు గణితం ఎందుకు చేస్తుంది?

మీలో అక్కడ ఉన్నవారు అర్ధంలేని సంఖ్యలతో కప్పబడిన కాగితపు ముక్కను చూస్తూ భయపడుతున్నారు గొప్ప వెబ్‌సైట్‌లు అది మీకు గణితం నేర్చుకోవడానికి సహాయపడుతుంది), భయపడవద్దు. మన గోళం యొక్క X స్థానానికి అనుగుణంగా మన పొటెన్షియోమీటర్ విలువలను రూపొందించడానికి మాకు ఒక మార్గం అవసరం. అదృష్టవశాత్తూ, మేము ఒకదాన్ని ఉపయోగించవచ్చు పొడిగింపు విధానం .

ఎక్స్‌టెన్షన్ మెథడ్ అనేది మాకు నిర్దిష్ట ఉద్యోగం చేసే స్క్రిప్ట్. ఈ సందర్భంలో, మన వద్ద ఉన్న విలువలను మేము ఇస్తాము, మరియు అది వాటిని ఒకదానికొకటి మ్యాప్ చేసి, మనలో ఉపయోగించడానికి సిద్ధంగా ఉంటుంది స్పియర్‌మోవర్ స్క్రిప్ట్. ప్రాజెక్ట్ ప్యానెల్ ఎగువన, క్లిక్ చేయండి సృష్టించు> సి# స్క్రిప్ట్ మరియు దానికి పొడిగింపు పద్ధతులు అని పేరు పెట్టండి. స్క్రిప్ట్‌లో దిగువ కోడ్‌ని నమోదు చేయండి:

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;
}
}

స్క్రిప్ట్‌ను సేవ్ చేసి, మీ స్పియర్‌మోవర్ స్క్రిప్ట్‌కు తిరిగి వెళ్లండి. మన ఆటలో మా పొటెన్షియోమీటర్ విలువలను ఉపయోగకరమైన విలువలుగా మార్చడానికి మేము ఇప్పుడు మా అప్‌డేట్ ఫంక్షన్‌లోని మా ఎక్స్‌టెన్షన్ మెథడ్స్ స్క్రిప్ట్‌లో ఈ రీమాప్ ఫంక్షన్‌ను ఉపయోగించవచ్చు. మేము పాట్ వాల్యూ వేరియబుల్‌ను కేటాయించిన చోట, కింది వాటిని టైప్ చేయండి:

ప్రాంప్ట్ మా రీమాప్ రెండు సెట్ల నుండి ఫ్రమ్ అండ్ టు వాల్యూస్‌ని తీసుకొని వాటిని మ్యాప్ చేస్తుంది. దీనిలో మన విలువలను నమోదు చేయవచ్చు.

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

మీ స్క్రిప్ట్‌ను సేవ్ చేయండి, యూనిటీ ఎడిటర్‌కి తిరిగి వెళ్లి, ప్లే బటన్‌ని నొక్కండి. మా ఎడమ మరియు కుడి అంచుల కోసం మేము నిర్ణయించిన విలువలకు అనుగుణంగా, మీరు పొటెన్షియోమీటర్‌ని తరలించినప్పుడు మ్యాప్డ్ పాట్ వేరియబుల్ మారుతుందని మీరు ఇప్పుడు చూడాలి. మీ ఎక్స్‌టెన్షన్‌మెథడ్స్ స్క్రిప్ట్‌కి ధన్యవాదాలు చెప్పడానికి కొంత సమయం కేటాయించండి. దృష్టిలో కాలిక్యులేటర్ కాదు.

గమనిక: మీ విలువలు రివర్స్ చేయబడ్డాయని మీరు గమనిస్తుంటే, మీ పొటెన్షియోమీటర్ కుడి వైపున ఉన్నప్పుడు మీ మ్యాప్డ్ పాట్ వేరియబుల్ కోసం మీరు ప్రతికూల విలువను పొందుతుంటే, మీ పొటెన్షియోమీటర్ తప్పుగా సెట్ చేయబడి ఉండవచ్చు. అదృష్టవశాత్తూ, మీరు ఏదైనా రీవైరింగ్ చేయకుండానే దీన్ని పరిష్కరించవచ్చు. మీరు వాటిని రీమాప్ చేసినప్పుడు మీరు కేవలం విలువలను మార్చవచ్చు:

ఇప్పుడు మేము చివరకు ఉపయోగపడే విలువలను కలిగి ఉన్నాము. ఇప్పుడు మా గోళం యొక్క X స్థానానికి ఆ విలువలను కేటాయించడం మాత్రమే మిగిలి ఉంది:

కంప్యూటర్ బాహ్య హార్డ్‌డ్రైవ్‌ను గుర్తించదు
//Assign the mapped pot value to the sphere's x position
transform.position = new Vector3(mappedPot, transform.position.y, transform.position.z);

మీ స్క్రిప్ట్‌ను సేవ్ చేయండి, యూనిటీ ఎడిటర్‌కు తిరిగి వెళ్లి ప్లే నొక్కండి. మీ పొటెన్షియోమీటర్‌ని ఉపయోగించి మీరు ఇప్పుడు మీ గోళాన్ని ఎడమ మరియు కుడి వైపుకు తరలించగలగాలి!

పని చేయడానికి బటన్‌ని పెట్టడం

ఇప్పుడు మన గోళం కదులుతున్నందున, మనం ఒక గట్టి ప్రదేశానికి చేరుకున్నప్పుడు కొంచెం నెమ్మదిగా ఉండే మార్గం ఉంటే మంచిది కాదా? మా ఆటలో సమయం తగ్గించడానికి మేము మా బటన్‌ను ఉపయోగించబోతున్నాము. మీ స్పియర్‌మోవర్ స్క్రిప్ట్‌ను తెరిచి, మీ అప్‌డేట్ ఫంక్షన్‌కు ఈ కోడ్‌ని జోడించండి

//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;

ఇప్పుడు మా ఆట యొక్క మెకానిక్స్ ఉంది, కొన్ని అడ్డంకులను జోడిద్దాం! మేము గోళం యొక్క సహజ శత్రువు, క్యూబ్‌ను ఉపయోగించబోతున్నాం. సోపానక్రమంలో, క్లిక్ చేయండి సృష్టించు> 3 డి ఆబ్జెక్ట్> క్యూబ్ . క్యూబ్ ఇన్‌స్పెక్టర్‌లో, కాంపోనెంట్> ఫిజిక్స్> రిగిడ్‌బాడీని జోడించండి . దృఢమైన బాడీ యొక్క డ్రాగ్ విలువను 5. గా సెట్ చేయండి. అలాగే, ఇన్‌స్పెక్టర్‌లోని బాక్స్ కొలైడర్ భాగం కింద, ఈజ్ ట్రిగ్గర్‌ను ఎంచుకోండి. ఇది మన గోళంతో ఘర్షణలను గుర్తించడానికి అనుమతిస్తుంది.

క్యూబ్‌లో స్క్రిప్ట్‌ను సృష్టించి, దానికి కాల్ చేయండి గోళంతో కొట్టుకోండి , స్క్రిప్ట్ తెరిచి, స్టార్ట్ మరియు అప్‌డేట్ ఫంక్షన్‌లను తొలగించండి, ఎందుకంటే ఈసారి మాకు అవి అవసరం లేదు. ఈ కోడ్‌ని నమోదు చేయండి:

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

ట్రిగ్గర్ కొలైడర్ మరొక కొలైడర్‌ని తాకినప్పుడల్లా OnTriggerEnter సందేశాన్ని పంపుతుంది. ఈ సందర్భంలో, ఏది తాకినా దానిని నాశనం చేయమని మేము చెబుతున్నాము. స్క్రిప్ట్‌ను సేవ్ చేసి, యూనిటీ ఎడిటర్‌కు తిరిగి వెళ్లండి. సోపానక్రమం నుండి ప్రాజెక్ట్ ప్యానెల్‌కు క్యూబ్‌ని లాగండి. సోపానక్రమంలో క్యూబ్ టెక్స్ట్ నీలం రంగులోకి మారడాన్ని మీరు గమనించవచ్చు. దీనికి కారణం మేము ఒక prefab ని క్రియేట్ చేసి మా ప్రాజెక్ట్‌లో సేవ్ చేశాము. సోపానక్రమం నుండి మీ క్యూబ్‌ను ఇప్పుడు తొలగించండి.

ఇప్పుడు మనకు కావలసింది క్యూబ్స్ పుట్టుకొచ్చే స్క్రిప్ట్ మాత్రమే. సోపానక్రమంలో క్లిక్ చేయండి సృష్టించు> ఖాళీగా సృష్టించు , మరియు దీనిని ఇన్‌స్పెక్టర్‌లో గేమ్ మేనేజర్‌గా పేరు మార్చండి మరియు గేమ్‌మేనేజర్ అనే స్క్రిప్ట్‌ని జోడించండి. స్క్రిప్ట్ తెరిచి ఈ కోడ్‌ని జోడించండి:

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 ()
{

}
}

స్క్రిప్ట్‌ను సేవ్ చేయండి. తిరిగి ఎడిటర్‌లో, సోపానక్రమంలో గేమ్ మేనేజర్‌ని ఎంచుకుని, మీ క్యూబ్ ప్రీఫ్యాబ్‌ని ప్రాజెక్ట్ ప్యానెల్ నుండి ఇన్స్‌పెక్టర్‌లోని క్యూబ్ వేరియబుల్‌కి లాగండి. మీ స్పాన్ కోసం ఇక్కడ కూడా విలువలను పూరించండి. మీకు నచ్చినంత కష్టంగా లేదా సులభంగా చేయడానికి మీరు దానితో ఫిడేల్ చేయవచ్చు. యునిడునో ప్రారంభించడానికి అనుమతించడానికి మీ అత్యల్ప క్యూబ్‌లు పెరగడం విలువైనదని గమనించండి - మీరు కదిలే ముందు ఆట ఓడిపోవడం నిరాశ కలిగించవచ్చు!

పూర్తయిన ప్రాజెక్ట్

ఇప్పుడు మీరు ప్లే నొక్కినప్పుడు, క్యూబ్స్ మీ పైన పుట్టుకొచ్చి పడిపోతాయి. వాటిని నివారించడానికి మీరు మీ పొటెన్షియోమీటర్‌ని మరియు సమయాన్ని తగ్గించడానికి మీ బటన్‌ని ఉపయోగించవచ్చు.

ఈ ప్రాజెక్ట్‌లో మేము ఆర్డునోతో కస్టమ్ కంట్రోలర్‌ను సృష్టించాము, దానితో కమ్యూనికేట్ చేయడానికి యూనిటీ మరియు యునిడునోను కాన్ఫిగర్ చేశాము మరియు దానిని పరీక్షించడానికి ఒక సాధారణ గేమ్‌ను సృష్టించాము. ఇక్కడ ఉన్న కాన్సెప్ట్‌లు దాదాపు ఏ ప్రాజెక్ట్‌కైనా వర్తింపజేయబడతాయి మరియు అవి కూడా ఉన్నాయి కస్టమ్ కంట్రోలర్‌లలో ప్రత్యేకత కలిగిన గేమ్ జామ్‌లు .

ఆర్డునో మరియు యూనిటీతో మీరు దాదాపు ఏదైనా నుండి కస్టమ్ కంట్రోలర్‌ని సృష్టించవచ్చు. మీరు అంతరిక్ష నౌకను నియంత్రించే హై-ఫైని సృష్టించారా? ప్లాట్‌ఫారమ్ గేమ్‌ను నియంత్రించే టోస్టర్?

మీరు ఇలాంటి ప్రాజెక్ట్ చేసి ఉంటే నేను చూడాలనుకుంటున్నాను! దిగువ వ్యాఖ్యలలో పోస్ట్ చేయండి!

షేర్ చేయండి షేర్ చేయండి ట్వీట్ ఇమెయిల్ 6 వినగల ప్రత్యామ్నాయాలు: ఉత్తమ ఉచిత లేదా చౌకైన ఆడియోబుక్ యాప్‌లు

మీరు ఆడియోబుక్‌ల కోసం చెల్లించడం ఇష్టపడకపోతే, వాటిని ఉచితంగా మరియు చట్టపరంగా వినడానికి కొన్ని గొప్ప యాప్‌లు ఇక్కడ ఉన్నాయి.

తదుపరి చదవండి
సంబంధిత అంశాలు
  • DIY
  • ప్రోగ్రామింగ్
  • ఆర్డునో
  • గేమ్ కంట్రోలర్
  • గేమ్ అభివృద్ధి
రచయిత గురుంచి ఇయాన్ బక్లీ(216 కథనాలు ప్రచురించబడ్డాయి)

ఇయాన్ బక్లీ జర్మనీలోని బెర్లిన్‌లో నివసిస్తున్న ఫ్రీలాన్స్ జర్నలిస్ట్, సంగీతకారుడు, ప్రదర్శనకారుడు మరియు వీడియో నిర్మాత. అతను వ్రాయనప్పుడు లేదా వేదికపై లేనప్పుడు, అతను పిచ్చి శాస్త్రవేత్త కావాలనే ఆశతో DIY ఎలక్ట్రానిక్స్ లేదా కోడ్‌తో టింకరింగ్ చేస్తున్నాడు.

ఇయాన్ బక్లీ నుండి మరిన్ని

మా వార్తాలేఖకు సభ్యత్వాన్ని పొందండి

టెక్ చిట్కాలు, సమీక్షలు, ఉచిత ఈబుక్‌లు మరియు ప్రత్యేకమైన డీల్స్ కోసం మా వార్తాలేఖలో చేరండి!

సభ్యత్వం పొందడానికి ఇక్కడ క్లిక్ చేయండి
వర్గం Diy