ఎంటిటీ కాంపోనెంట్ సిస్టమ్

ఎంటిటీ-కాంపోనెంట్-సిస్టమ్ అంటే ఏమిటి?

ఎంటిటీ-కాంపోనెంట్ – సిస్టమ్ (ECS) అనేది ఒక నిర్మాణ నమూనా. ఈ నమూనా గేమ్ అప్లికేషన్ అభివృద్ధిలో విస్తృతంగా ఉపయోగించబడుతుంది. ECS వారసత్వ సూత్రంపై కూర్పును అనుసరిస్తుంది, ఇది మెరుగైన వశ్యతను అందిస్తుంది మరియు ఆట సన్నివేశంలోని అన్ని వస్తువులు ఒక సంస్థగా పరిగణించబడే ఎంటిటీలను గుర్తించడంలో మీకు సహాయపడుతుంది.

ECS ప్రోగ్రామింగ్ అనేది డిఫాల్ట్‌గా అధిక పనితీరును అందించే కోడ్ వ్రాసే పద్ధతి.

ఈ వ్యవస్థ మూడు పదాలను కలిగి ఉంటుంది.

  1. సంస్థ
  2. భాగం
  3. వ్యవస్థ

ఈ భావనను వివరంగా నేర్చుకుందాం:

ఈ ఎంటిటీ-కాంపోనెంట్ సిస్టమ్ ట్యుటోరియల్‌లో, మీరు నేర్చుకుంటారు:

ఒక సంస్థ అంటే ఏమిటి?

ఒక సంస్థ అనేది ఒక అనుకరణ ప్రదేశంలో నటుడిని సూచించే ఒక విభిన్న వస్తువు. దీనికి వాస్తవ డేటా లేదా ప్రవర్తన లేదు. ఈ భాగం ఒక ఎంటిటీకి దాని డేటాను ఇస్తుంది. ఇది సాధారణంగా స్ట్రట్ లేదా డిక్షనరీ.

ఉదాహరణకు, మేము ఒక గేమ్ విశ్వాన్ని అనుకరిస్తుంటే Minecraft , ఆట విశ్వంలో కనిపించే, స్పష్టమైన 'విషయాలు' అన్నీ ఎంటిటీలలో లెక్కించబడతాయి.

ఒక భాగం అంటే ఏమిటి?

ఒక భాగం అనేది ఒక ఎంటిటీకి ఆపాదించబడిన ఏకవచన ప్రవర్తన. ఒక మూలకం యొక్క పేరు ఆదర్శంగా ఏ ప్రవర్తనను ప్రదర్శిస్తుందో తెలియజేయాలి. అయితే, భాగం స్వయంగా ప్రవర్తనను కలిగి ఉండదు. అవి ఎంటిటీలకు జోడించబడిన పునర్వినియోగ మాడ్యూల్స్. భాగం ప్రదర్శన, ప్రవర్తన మరియు కార్యాచరణను అందిస్తుంది.

భాగాలను కలపడం మరియు ఆకృతీకరించడం ద్వారా వివిధ రకాల వస్తువులను నిర్వచించడంలో మీకు సహాయపడే భాగాలను ఉపయోగించి అన్ని లాజిక్ అమలు చేయబడుతుంది.

వ్యవస్థ అంటే ఏమిటి?

తక్కువ-స్థాయిని నిర్వహించడానికి ఒక సిస్టమ్ అనేక భాగాలను మళ్ళిస్తుంది

గ్రాఫిక్స్ రెండరింగ్, ఫిజిక్స్ ప్రదర్శించడం వంటి విధులు

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

అయితే, సిస్టమ్‌లు ఐచ్ఛికం కాదు, కానీ లాజిక్ మరియు డేటాను వేరు చేయడానికి మేము వాటిని ఉపయోగించవచ్చు. లాజికల్ కాంపోనెంట్‌లను హ్యాండిల్ చేయడానికి, డేటా కంటైనర్‌లుగా వ్యవహరించడానికి కూడా ఇది మీకు సహాయపడుతుంది.

ఉదాహరణలు

  • గురుత్వాకర్షణ (వేగం) - గురుత్వాకర్షణ కారణంగా వేగాన్ని వేగవంతం చేయడానికి ఇది మీకు సహాయపడుతుంది
  • ఇది స్థానానికి వేగాన్ని జోడిస్తుంది
  • AI ఏజెంట్ ప్రకారం బోట్-నియంత్రిత ఎంటిటీ ఇన్‌పుట్‌ను సెట్ చేస్తుంది
  • రెండర్ (స్థానం, స్ప్రైట్) - స్ప్రైట్‌లను గీస్తుంది
  • ప్లేయర్ కంట్రోల్ (ఇన్‌పుట్ ప్లేయర్) కంట్రోలర్ ప్రకారం ప్లేయర్-కంట్రోల్డ్ ఎంటిటీ ఇన్‌పుట్‌ను సెట్ చేయడంలో మీకు సహాయపడుతుంది.

కూర్పు

కూర్పు అనేది అదనపు రూపాన్ని, ప్రవర్తన లేదా కార్యాచరణను జోడించడానికి మీరు మరిన్ని భాగాలను జోడించగల ఒక మూలకం. ఎంటిటీని కాన్ఫిగర్ చేయడానికి మీరు కాంపోనెంట్ విలువలను కూడా అప్‌డేట్ చేయవచ్చు.

ECS యొక్క ప్రయోజనం

ప్రోగ్రామింగ్‌లో ECS ఉపయోగించడం వల్ల కలిగే ప్రయోజనాలు ఇక్కడ ఉన్నాయి:

  • మీరు తక్కువ మరియు తక్కువ సంక్లిష్టమైన కోడ్‌ను సృష్టించవచ్చు.
  • చాలా సరళమైన ఎమర్జెంట్ ప్రవర్తన.
  • ఇది 3D మరియు VR అభివృద్ధి కోసం ఒక నిర్మాణాన్ని అందిస్తుంది.
  • టెక్నికేతరుల ద్వారా ప్రవర్తన ద్వారా స్క్రిప్టింగ్‌ను ప్రారంభిస్తుంది.
  • ఇది మీ ఏకశిలా తరగతులను విభజించడానికి మీకు సహాయపడుతుంది.
  • సులభమైన తిరస్కరణ మరియు సమ్మేళనం.
  • యూనిట్ టెస్టింగ్ మరియు ఎగతాళి కోసం సులభమైన ఎంపిక.
  • ఇది సంక్లిష్టత పరంగా VR అప్లికేషన్‌ను రూపొందించడానికి మిమ్మల్ని అనుమతిస్తుంది.
  • రన్‌టైమ్‌లో ఎగతాళి చేయబడిన భాగాలతో భాగాలను ప్రత్యామ్నాయం చేయండి.
  • కొత్త ఫీచర్లను విస్తరించడానికి ఇది మీకు సహాయపడుతుంది.
  • ECS అనేది సమాంతర-ప్రాసెసింగ్ మరియు మల్టీ-థ్రెడింగ్ కోసం స్నేహపూర్వక పద్ధతి,
  • దానిపై పనిచేసే విధుల నుండి డేటాను వేరు చేయడానికి మీకు సహాయపడుతుంది
  • పునర్వినియోగ భాగాలతో కలపడం ద్వారా వస్తువులను నిర్వచించేటప్పుడు మెరుగైన వశ్యతను అందించండి.
  • ఇది డీకప్లింగ్, ఎన్‌క్యాప్సులేషన్, మాడ్యులరైజేషన్, పునర్వినియోగ పద్ధతులను ఉపయోగించి క్లీన్ డిజైన్‌ను అందిస్తుంది.

ECS ఉపయోగించడం వల్ల కలిగే నష్టాలు

ఇక్కడ, ECS ఉపయోగించి కొన్ని లోపాలు ఉన్నాయి

  • MVC వంటి ఇతర నమూనాల వలె ఖచ్చితంగా నిర్వచించబడలేదు.
  • సరిగ్గా దరఖాస్తు చేయడం కష్టం, దుర్వినియోగం చేయడం సులభం మంచి భాగాలు డిజైన్ గురించి మరింత ఆలోచించడం అవసరం
  • ECS కు అనేక చిన్న వ్యవస్థలను వ్రాయడం అవసరం, ఇది భారీ సంఖ్యలో ఎంటిటీలను కలిగి ఉంటుంది, ఇవి చాలా అసమర్థమైన కోడ్ రాసే ప్రమాదాన్ని అభివృద్ధి చేస్తాయి
  • చాలామంది ఈ నమూనా గురించి ఎన్నడూ వినలేదు.

ఎంటిటీ కాంపోనెంట్ సిస్టమ్ ఉదాహరణ

బన్నీ ఉదాహరణను చూద్దాం:

ఈ భాగాల చుట్టూ గీతల పెట్టెను చూడండి. అది బన్నీ ఎంటిటీ - భాగాల కంటైనర్ తప్ప మరొకటి కాదు. మీరు ఏవైనా భాగాల ఉపసమితి యొక్క అగ్రిగేషన్‌గా ఎంటిటీలను కూడా నిర్వచించవచ్చు.

మీరు పైన ఇచ్చిన చిత్రాన్ని చూడవచ్చు. ఇది బన్నీ ఎంటిటీలలో ఒకటి - భాగాల కంటైనర్ కంటే ఎక్కువ కాదు. మీరు క్యారెట్ వంటి ఏదైనా ఉపసమితుల సమ్మేళనంగా ఎంటిటీలను నిర్వచించవచ్చు:

ECS లో డేటా ప్రవాహం:

సిస్టమ్స్ ప్రవర్తన అంటే ECS మోడల్ అనేది ఒక రాష్ట్రం నుండి మరొక రాష్ట్రానికి మారడం.

ఈ ఉదాహరణను ఉపయోగించి మనం అర్థం చేసుకుందాం:

ప్రవర్తనలు: 'గురుత్వాకర్షణ కారణంగా చెట్టుపై కూర్చున్న బన్నీ పడిపోతుంది.'

పై ప్రవర్తనను ఎలా అమలు చేయాలి?

మీరు దానిని 0 కంటే ఎక్కువ z విలువతో చేయవచ్చు, ఇది కాలక్రమేణా 0 కి తగ్గుతుంది.

ప్రవర్తన: 'జీవుల వయస్సు.'

మీరు ఈ ప్రవర్తనను ఎలా అమలు చేయగలరో చూద్దాం?

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

సారాంశం:

  • ఎంటిటీ-కాంపోనెంట్ – సిస్టమ్ (ECS) అనేది ఒక నిర్మాణ నమూనా.
  • ఒక సంస్థ అనేది ఒక అనుకరణ ప్రదేశంలో నటుడిని సూచించే ఒక విభిన్న వస్తువు.
  • ఒక భాగం అనేది ఒక ఎంటిటీకి ఆపాదించబడిన ఏకవచన ప్రవర్తన.
  • గ్రాఫిక్స్ రెండరింగ్, ఫిజిక్స్ లెక్కలు చేయడం లేదా పాత్‌ఫైండింగ్ వంటి తక్కువ-స్థాయి ఫంక్షన్‌లను నిర్వహించడానికి సిస్టమ్ అనేక భాగాలను పునరుద్దరిస్తుంది.
  • కూర్పు అనేది అదనపు రూపాన్ని, ప్రవర్తన లేదా కార్యాచరణను జోడించడానికి మీరు మరిన్ని భాగాలను జోడించగల ఒక మూలకం.
  • ECS నమూనాను ఉపయోగించడం ద్వారా మీరు చిన్న మరియు తక్కువ సంక్లిష్టమైన కోడ్‌ని సృష్టించవచ్చు.
  • ఇది MVC వంటి ఇతర నమూనాల వలె నిర్దిష్టంగా నిర్వచించబడలేదు.
  • సిస్టమ్స్ ప్రవర్తన అంటే ECS మోడల్ అనేది ఒక రాష్ట్రం నుండి మరొక రాష్ట్రానికి మారడం.