ºÇ½ª¹¹¿·¡§
orika_ex_miyako 2024ǯ01·î05Æü(¶â) 14:05:14ÍúÎò
¥²¡¼¥àÆâ¤ÎÆÃÄê¤Î¼ïÎà¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¤¹¤Ù¤Æ¼èÆÀ¤·¤Æ¡¢¤½¤ÎÃæ¤ÎºÇ¤â¶á¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë 
¡¡¾åµ¤Î½èÍý¤ò¼Â¹Ô¤¹¤ë¤¿¤á¤ÎSearchGameObject¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤Þ¤¹¡£
¡¡ºîÀ®¤·¤¿SearchGameObject¥¹¥¯¥ê¥×¥È¤òǤ°Õ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢
¥¢¥¿¥Ã¥Á¤µ¤ì¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤«¤é¸«¤ÆºÇ¤â¶á¤¤µ÷Î¥¤Ë¤¤¤ëÊ̤Υ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¡¢¤È¤¤¤¦ÆâÍƤˤʤäƤ¤¤Þ¤¹¡£
¡¡º£²ó¤Î¥±¡¼¥¹¤Ç¤ÏSearchGameObject¥¹¥¯¥ê¥×¥È¤ò¥×¥ì¥¤¥ä¡¼Ìò¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¥¿¥°¤Ë¤Ï¡ÖEnemy¡×¤ò»ØÄꤷ¤Æ¤ª¤¤¤Æ¡¢¥²¡¼¥àÆâ¤Ë¸ºß¤¹¤ë¤¹¤Ù¤Æ¤Î¡ÖEnemy¡×¥¿¥°¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òUpdate¤Ç¾ï¤Ë¼èÆÀ¤·¤Þ¤¹¡£
¼èÆÀ¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤È¥×¥ì¥¤¥ä¡¼¤È¤Îµ÷Î¥¤ò¤½¤ì¤¾¤ì»»½Ð¤·¡¢¤½¤Îº¹Ê¬¤¬ºÇ¤â¾®¤µ¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤Î·ë²Ì¤òÍѤ¤¤ë¤³¤È¤Ç¡¢¡ÖºÇ¤â¶á¤¯¤Ë¤¤¤ëŨ¤òÂоݤˤȤë¡×¤È¤¤¤¦¥í¥¸¥Ã¥¯¤ËÍøÍѤǤ¤Þ¤¹¡£
¸¡¾ÚÆ°²è(Console¤Ë¼èÆÀ¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤¬É½¼¨¤µ¤ì¤Þ¤¹)
https://gyazo.com/0be28b486ef177e6243898c2d97910b3
SearchGameObject.cs
¡¡Ìµ»ö¤Ë¼èÆÀ¤Ç¤¤Þ¤·¤¿¤é¡¢¤¢¤È¤Ï¼èÆÀ¤·¤¿¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊó¤ò¾¤Î¥¯¥é¥¹¤Èɳ¤Å¤±¤¹¤ë¤«¡¢¤¢¤ë¤¤¤ÏÊ̤Υ¯¥é¥¹¤ÎÊÑ¿ô¤ËľÀÜÂåÆþ¤¹¤ë¤è¤¦¤Ë¤¹¤ì¤ÐÍøÍѤǤ¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü

¸¡¾ÚÆ°²è(SearchGameObject¤ÎsearchNearObj¤ÎÃͤ¬ÊѲ½¤·¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤¹)
https://gyazo.com/6abaff18db8d19357caa742de6a594f8
¡¡Seach ¥á¥½¥Ã¥ÉÆâ¤Î½èÍý¤Ï LINQ ¤Îµ¡Ç½¤òÍøÍѤ¹¤ë¤³¤È¤Ë¤è¤ê¡¢½èÍý¤Î´Êάµ½Ò½ÐÍè¤Þ¤¹¡£
private GameObject Search() { GameObject[] objs = GameObject.FindGameObjectsWithTag(tagName); GameObject searchTargetObj = objs .OrderBy(obj => Vector3.Distance(obj.transform.position, transform.position)) .FirstOrDefault(); return searchTargetObj; }
¡¡¤³¤Î¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤Ç¤Ï¡¢LINQ¤ÎOrderBy¥á¥½¥Ã¥É¤ò»ÈÍѤ·¤Æ¡¢¥ª¥Ö¥¸¥§¥¯¥È¤òµ÷Î¥¤Î¾º½ç¤Ç¥½¡¼¥È¤·¡¢
FirstOrDefault¥á¥½¥Ã¥É¤ÇºÇ½é¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò¼èÆÀ¤·¤Æ¤¤¤Þ¤¹¡£
¡¡¤³¤ì¤Ë¤è¤ê¡¢¥³¡¼¥É¤¬´Ê·é¤Ë¤Ê¤ê¡¢ºÇ¤â¶á¤¤¥ª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤¹¤ë½èÍý¤¬¤è¤êÌÀ¼¨Åª¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
¡¡
¡¡½èÍý¤¬Àµ¤·¤¯Æɤ߲ò¤±¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¿¤é¡¢¤µ¤é¤Ê¤ë´Êά²½¤¬²Äǽ¤Ç¤¹¡£
private GameObject Search() { return GameObject.FindGameObjectsWithTag(tagName) .OrderBy(obj => Vector3.Distance(obj.transform.position, transform.position)) .FirstOrDefault(); }
¡¡¤¤¤º¤ì¤âÌá¤êÃͤÎÃͤòÍøÍѤ·¤¿¡¢¥á¥½¥Ã¥É¥Á¥§¡¼¥ó¤Ë¤è¤ëµË¡¤Ç¤¹¡£
- ¥«¥Æ¥´¥ê¡§
- ¿Ê³Ø/¥¹¥¯¡¼¥ë
- ¥×¥í¥°¥é¥ß¥ó¥°
¥³¥á¥ó¥È¤ò¤«¤¯