Unity¤Ë´ØÏ¢¤¹¤ëµ­»ö¤Ç¤¹

¡¡¥×¥ì¥¤¥ä¡¼¤Î¹¶·â½èÍý¤ò£³²ó¤Î¼ê½ç¤Ëʬ¤±¤Æ¡¢¼ÂÁõ¤·¤Þ¤¹¡£
¤³¤Î¼ê½ç¤Ç¤Ï¥×¥ì¥¤¥ä¡¼¤Î¾ðÊó¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î¥¯¥é¥¹¤òºîÀ®¤·¤Æ¤¤¤­¤Þ¤¹¡£

¼ê½ç£´ ¡¼¥×¥ì¥¤¥ä¡¼¤Î¾ðÊó¤ò´ÉÍý¤¹¤ëµ¡Ç½¤Î¼ÂÁõ¡¼



¡¡¡¦¥é¥à¥À¼°¤Ë¤è¤ë¥×¥í¥Ñ¥Æ¥£¤Îµ­½ÒÊýË¡
¡¡¡¦¡Ú a = b = ¾ò·ï¼°¡Û ¤Î½ñ¼°



£±¡¥Àß·×


¡¡¥×¥ì¥¤¥ä¡¼Â¦¤ÎÁàºî¼þ¤ê¤Î¼ÂÁõ¤ò¹Ô¤¤¤Þ¤¹¡£¿·¤·¤¯£³¤Ä¤Î¥¯¥é¥¹¤òºîÀ®¤·¤Æ¤¤¤­¤Þ¤¹¡£
¥¯¥é¥¹Ì¾¤Ï¤³¤ÎÄ̤ê¤Ç¤¢¤ëɬÍפϤ¢¤ê¤Þ¤»¤ó¡£¤½¤Î¾ì¹ç¡¢¥¯¥é¥¹¤ÎÌò³ä¤Ë¹ç¤Ã¤¿Ì¾Á°¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¡ãº£²ó¼ÂÁõ¤¹¤ë¥¯¥é¥¹¡ä¡¡
¡¡¡þ¡¡PlayerController¡¡¡¡¡¡¥×¥ì¥¤¥ä¡¼¤Î¾ðÊó¤ò´ÉÍý¤¹¤ë¥¯¥é¥¹¡£ÂÎÎϤäÃÆ¿ô¤Ê¤É¤ò´ÉÍý¤·¡¢³°Éô¤Î¥¯¥é¥¹¤Ë¾ðÊóÄ󶡤¹¤ë¥¯¥é¥¹¡£¥ê¥í¡¼¥É½èÍý¡¢Å¨¤Î¹¶·â¤ÎÅö¤¿¤êȽÄê¤Ê¤É¤â´ÉÍý¤¹¤ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥«¥á¥é¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È(AR Camera¡¢¤¢¤ë¤¤¤Ï Main Camera ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È)¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë

¡¡¡¦¡¡EffectManager ¥¨¥Õ¥§¥¯¥È¤Î´ÉÍý¤ò¹Ô¤¦¥¯¥é¥¹¡£Create Empty ¤Ç¿·¤·¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢¤½¤³¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥·¥ó¥°¥ë¥È¥ó¤ÇºîÀ®¤·¡¢¤É¤Î¥¯¥é¥¹¤«¤é¤Ç¤â¥¢¥¯¥»¥¹¤·¤ä¤¹¤¤¾õÂ֤ˤ¹¤ë¡£¥¨¥Õ¥§¥¯¥È¤Ê¤É¤Ï¸ÄÊ̤Υ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë»ý¤¿¤»¤Ê¤¤¤è¤¦¤Ë¤·¡¢´ÉÍý¤ò´ÊÊز½¤Ç¤­¤ë

¡¡¡¦¡¡RayController¡¡¡¡¡¡¡¡ ²èÌ̤Υ¿¥Ã¥×½èÍý(¥Þ¥¦¥¹¤Îº¸¥¯¥ê¥Ã¥¯)¤òȽÄꤷ¡¢Physics.Raycast ¥á¥½¥Ã¥É¤ò³èÍѤ·¤Æ¡¢ÃƤ¬È¯¼Í¤Ç¤­¤ë¤«¤ò´ÉÍýÀ©¸æ¤¹¤ë¥¯¥é¥¹
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡PlayerController ¤«¤éÃÆ¿ô¤Î¾ðÊó¤òÄ󶡤·¤Æ¤â¤é¤¤¡¢PlayerController ¤ÎÃÆ¿ô¤ÎÃͤò¹¹¿·¤·¤¿¤ê¡¢¥ê¥í¡¼¥É¤µ¤»¤ëÌ¿Îá¤ò¤À¤¹
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¥«¥á¥é¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ Create Empty ¤Ç¿·¤·¤¤¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢¤½¤³¤Ë¥¢¥¿¥Ã¥Á¤¹¤ë
¡¡¡¡¡¡¡¡¡¡¡¡¡¡


¡ã´°À®»þ¤Î¥Ò¥¨¥é¥ë¥­¡¼²èÁü¡ä


¡¡¤³¤ì¤é¤¬¤¹¤Ù¤Æ´°À®¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢¥×¥ì¥¤¥ä¡¼¤Î¹¶·â¤Î½èÍý¤¬¼ÂÁõ¤µ¤ì¤Þ¤¹¡£

¡¡¥¤¥Ù¥ó¥È¦(Ũ¤ä¥¢¥¤¥Æ¥à¤Ê¤É)¤Î¼ÂÁõ¤¬¤Þ¤ÀºÑ¤ó¤Ç¤¤¤Ê¤¤¤¿¤á¡¢¤½¤Î¼êÁ°¤Þ¤Ç¤ò Debug.Log ¥á¥½¥Ã¥É¤ò³èÍѤ·¤Æ¼ÂÁõ¤·¡¢
¤½¤ì¤é¤Î¼ÂÁõ¤¬½ªÎ»¤·¤Æ¤«¤é¡¢ºÆÅÙ½¤Àµ¤ò²Ã¤¨¤Æ´°À®¤Ë¶á¤Å¤±¤Æ¤¤¤¯¤è¤¦¤Ë¤·¤Þ¤¹¡£


£²¡¥¥¤¥Ù¥ó¥ÈÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎºîÀ®¤ò¹Ô¤¦

¥×¥ì¥¤¥ä¡¼¤Î¹¶·â¤òȽÄꤹ¤ë¤¿¤á¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£


²¾¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Æ¤¤¤¿¤À¤¯¤«¡¢¼ÂºÝ¤Ë¼ÂÁõ¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÇÂбþ¤¹¤ë¤«¤ÏǤ°Õ¤Ç¤¹¡£


²¾¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¢¤ì¤Ð¡¢3D Object => Cube ¤Ê¤É¤òºîÀ®¤·¤Æ¡¢¤½¤ì¤é¤ÇȽÄê¤ò¹Ô¤¤¤Þ¤¹¡£
¥¾¥ó¥Ó¤Î¥¢¥»¥Ã¥È¤òÍøÍѤ¹¤ë¤Î¤Ç¤¢¤ì¤Ð¡¢°Ê²¼¤Î¥ê¥ó¥¯¤è¤ê¼èÆÀ¤Ç¤­¤Þ¤¹¡£

¥¢¥»¥Ã¥È¥¹¥È¥¢/Zombie
https://assetstore.unity.com/packages/3d/character...





¹¶·â¤ÎȽÄê½èÍý¤Ë¤Ï Physics ¥¯¥é¥¹¤Î Raycast ¥á¥½¥Ã¥É¤ò³èÍѤ·¤Þ¤¹¡£
¤³¤ì¤Ï Ray ¤È Layer ¤òÁȤ߹ç¤ï¤»¤ÆȽÄê¤ò¹Ô¤¤¤Þ¤¹¤Î¤Ç¡¢¥¤¥Ù¥ó¥ÈÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Layer ¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£


¿·¤·¤¯ Enemy ¤Î Layer ¤òÄɲä·¡¢¤½¤ì¤ò¡¢¥¤¥Ù¥ó¥ÈÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤âÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
²¼µ­¤Î»²¹Í²èÁü¤Ç¤ÏÊ£¿ô¤Î Layer ¤¬ÅÐÏ¿¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢É¬Íפʤâ¤Î¤À¤±ÅÐÏ¿¤¹¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£


Layer




°Ê¾å¤Ç»öÁ°¤Î½àÈ÷¤Ï´°Î»¤Ç¤¹¡£


£³¡¥PlayerController ¥¯¥é¥¹¤òºîÀ®¤¹¤ë



¥×¥ì¥¤¥ä¡¼¤Î¾ðÊó¤ò´ÉÍý¤¹¤ë¤¿¤á¤Î PlayerController ¥¯¥é¥¹¤òºîÀ®¤·¤Þ¤¹¡£
ÊÑ¿ô(¥×¥í¥Ñ¥Æ¥£) ¤òÍøÍѤ·¤ÆÂÎÎϤäÃÆ¿ô¤Ê¤É¤ò´ÉÍý¤·¡¢³°Éô¤Î¥¯¥é¥¹¤Ë¾ðÊóÄ󶡤·¤Þ¤¹¡£


¥á¥½¥Ã¥É¤È¤·¤Æ¤Ï¡¢¥¯¥é¥¹¤ÎÀßÄê½èÍý¡¢ÂÎÎϤäÃÆ¿ô¤Î¹¹¿·½èÍý¡¢¥ê¥í¡¼¥É½èÍý¡¢Å¨¤«¤é¤Î¹¶·â¤ÎÅö¤¿¤êȽÄê¤Ê¤É¤â½àÈ÷¤·¤Æ¤ª¤­¤Þ¤¹¡£


º£²ó¤Î¥±¡¼¥¹¤Ç¤Ï¡¢¥«¥á¥é = ¥×¥ì¥¤¥ä¡¼¤Î¹½¿Þ¤Ç¥²¡¼¥à¤òºîÀ®¤·¤Þ¤¹¤Î¤Ç¡¢¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¥«¥á¥é¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¡¢
¥«¥á¥é¤¬¥×¥ì¥¤¥ä¡¼¤È¤·¤Æ¤ÎÌò³ä¤â¹ç¤ï¤»¤â¤Ä·Á¤Ë¤Ê¤ê¤Þ¤¹¡£


PlayerController.cs

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£



£¶¡¥Main Camera ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë PlayerController ¥¯¥é¥¹¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡Main Camera ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î̾¾Î¤òÊѹ¹¤·¤Æ¤ª¤¤¤Æ¤â¤¤¤¤¤È»×¤¤¤Þ¤¹¡£

¡¡³Æ¼ï¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò²¼µ­¤Î²èÁü¤ò»²¹Í¤Ë¤·¤ÆÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£
¿ôÃͤÏŬµ¹Ä´À°¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£


¡ã¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü¡ä


¡¡°Ê¾å¤ÇÀßÄê¤Ï´°Î»¤Ç¤¹¡£


¡ã±þÍÑ¡ä¡¡PlayerControler ¥¯¥é¥¹¤ò¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤¹¤ë

¡¡¥×¥í¥Ñ¥Æ¥£¤ä½é´üÃͤÎÀßÄê¤Ë¤Ä¤¤¤Æ¡¢¿·¤·¤¤µ­½Ò¤ÎÊý¼°¤òÍѤ¤¤Æ¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ò¹Ô¤¤¤Þ¤¹¡£


PlayerController.cs

<= ¥¯¥ê¥Ã¥¯¤¹¤ë¤È³«¤­¤Þ¤¹¡£



£´¡¥¡ã¥é¥à¥À¼°¤Ë¤è¤ë¥×¥í¥Ñ¥Æ¥£¤Îµ­½ÒÊýË¡¡ä

¡¡¥é¥à¥À¼°¤Ë¤è¤ëµ­½Ò¤Ï¥×¥í¥Ñ¥Æ¥£¤Ë¤Ä¤¤¤Æ¤âÍøÍѤ¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


¡ã¥×¥í¥Ñ¥Æ¥£¤Î½ñ¼°¤Î°ìÎã¡ä
    public int BulletCount
{
    set {
        bulletCount = Mathf.Clamp(value, 0, maxBullet);
    }
    get {
        return bulletCount;
    }
}


¡ã¥é¥à¥À¼°¤Ë¤è¤ë¥×¥í¥Ñ¥Æ¥£¡ä
    public int BulletCount
{
    set => bulletCount = Mathf.Clamp(value, 0, maxBullet);
    get => bulletCount;
}

get Éôʬ¤Ë¤Ä¤¤¤Æ¤Ï return ¤ò¾Êά¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡Ãí°ÕÅÀ¤È¤·¤Æ¤Ï¡¢¥×¥í¥Ñ¥Æ¥£¤Ç¥é¥à¥À¼°¤Ë¤Ç¤­¤ë¤Î¤Ï£±¹Ôʬ¤À¤± ¤Ç¤¹¡£
¤½¤Î¤¿¤á¡¢Î㤨¤Ð set Æâ¤Ë£²¹Ô°Ê¾å¤Î½èÍý¤¬¤¢¤ë¾ì¹ç¤Ë¤Ï¥é¥à¥À¼°¤Ç¤Îµ­½Ò¤Ï¤Ç¤­¤Þ¤»¤ó¡£


£µ¡¥¡ã¡Ú a = b = ¾ò·ï¼°¡Û ¤Î½ñ¼°¡ä


¡¡»°¹à±é»»»Ò¤òÍøÍѤ·¡¢ÂåÆþ½èÍý¤ò£²²ó¹Ô¤¦½ñ¼°¤Ç¤¹¡£

¡¡¡¡// maxHp ¤ÎÀßÄêÃͤ¬¤¢¤ë¤«(0 ¤Ç¤Ï¤Ê¤¤¤«)³Îǧ¡£0 ¤Ç¤¢¤ë¾ì¹ç¡¢maxHp ¤Î½é´üÃͤò 10 ¤Ç¥»¥Ã¥È¤·¤Æ¤«¤é hp ¤òÀßÄê
    hp = maxHp = maxHp == 0 ? 10 : maxHp;

¡¡¤Þ¤º¤ÏºÇ½é¤Ë¡¢°ìÈÖ±¦Â¦¤Î¾ò·ï¼°¤ÎÉôʬ¤È¡¢¤½¤Î·ë²Ì¤ÎÂåÆþ½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£maxHp = maxHp == 0 ? 10 : maxHp ¤ÎÉôʬ¤Ç¤¹¡£
¾ò·ï¼°¤ÎÉôʬ¤Ï»°¹à±é»»»Ò¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢maxHp ¤ÎÃͤ¬ 0 ¤Ç¤¢¤ë¤«¤É¤¦¤«¤ò³Îǧ¤·¡¢¿¿¤Ç¤¢¤ì¤Ð 10¡¢µ¶¤Ç¤¢¤ì¤Ð maxHp ¤ÎÃͤò maxHp ¤ËÊÖ¤·¤Þ¤¹¡£

¡¡·ë²Ì¤ò¼õ¤±¤Æ¡¢hp = maxHp ¤Î½èÍý¤ò¹Ô¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢»°¹à±é»»»Ò¤Ë¤è¤ë·ë²Ì¤¬¡¢maxHp ¤È hp ¤ÎξÊý¤ËÂåÆþ¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
maxBullet ÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤âƱÍͤνèÍý¤ËÊѹ¹¤·¤Æ¤¤¤Þ¤¹¡£

¡¡Ä̾ï¤Î»°¹à±é»»»Ò¤Î½èÍý¤Ç¤ÏÈæ³Ó¤·¤Æ¤«¤éŬÀÚ¤ÊÃͤòÂåÆþ¤Ç¤­¤Þ¤¹¤¬¡¢¤³¤Î¤è¤¦¤Ëµ­½Ò¤¹¤ë¤³¤È¤Ç¡¢Ãͤò¹¹¿·¤·¤¿¾å¤ÇÂåÆþ½èÍý¤ò¹Ô¤¦¤³¤È¤¬½ÐÍè¤Þ¤¹¡£



¡¡°Ê¾å¤Ç¤³¤Î¼ê½ç¤Ï½ªÎ»¤Ç¤¹¡£

¡¡=>¡¡¼¡¤Ï ¼ê½ç£µ ¡¼¥¨¥Õ¥§¥¯¥ÈºÆÀ¸µ¡Ç½¤Î¼ÂÁõ¡¼¤Ç¤¹¡£

¥³¥á¥ó¥È¤ò¤«¤¯


¡Öhttp://¡×¤ò´Þ¤àÅê¹Æ¤Ï¶Ø»ß¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

ÍøÍѵ¬Ìó¤ò¤´³Îǧ¤Î¤¦¤¨¤´µ­Æþ²¼¤µ¤¤

Menu



´ðÁÃ

µ»½Ñ/Ãμ±(¼ÂÁõÎã)

3D¥¢¥¯¥·¥ç¥ó¥²¡¼¥à

2D¤ª¤Ï¤¸¤­¥²¡¼¥à(ȯŸÊÔ)

2D¶¯À©²£¥¹¥¯¥í¡¼¥ë¥¢¥¯¥·¥ç¥ó(ȯŸÊÔ)

2D¥¿¥Ã¥×¥·¥å¡¼¥Æ¥£¥ó¥°(³ÈÄ¥ÊÔ)

¥ì¡¼¥¹¥²¡¼¥à(È´¿è)

2DÊüÃÖ¥²¡¼¥à(ȯŸÊÔ)

3D¥ì¡¼¥ë¥¬¥ó¥·¥å¡¼¥Æ¥£¥ó¥°(±þÍÑÊÔ)

3Dæ½Ð¥²¡¼¥à(È´¿è)

2D¥ê¥¢¥ë¥¿¥¤¥à¥¹¥È¥é¥Æ¥¸¡¼

3D¥¿¥Ã¥×¥¢¥¯¥·¥ç¥ó(NavMeshAgent »ÈÍÑ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥«¥¨¥ë¤Î°Ù¤Ë¡Á¡¢¥Ü¥³¥¹¥«¥¦¥©¡¼¥ºÉ÷)

VideoPlayer ¥¤¥Ù¥ó¥ÈϢư¤Î¼ÂÁõÎã

VideoPlayer ¥ê¥¹¥ÈÆ⤫¤é¥à¡¼¥Ó¡¼ºÆÀ¸¤Î¼ÂÁõÎã(ȯŸ)

AR ²èÁüÉÕ¤­¥ª¥Ö¥¸¥§¥¯¥ÈÀ¸À®¤Î¼ÂÁõÎã

AR ¥ê¥¹¥ÈÆ⤫¤éÀ¸À®¤Î¼ÂÁõÎã(ȯŸ)

2D¥È¥Ã¥×¥Ó¥å¡¼¥¢¥¯¥·¥ç¥ó(¥µ¥Ð¥¤¥Ð¡¼É÷)

private



¤³¤Î¥µ¥¤¥ÈÆâ¤ÎºîÉʤϥæ¥Ë¥Æ¥£¤Á¤ã¤ó¥é¥¤¥»¥ó¥¹¾ò¹à¤Î¸µ¤ËÄ󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£

´ÉÍý¿Í/Éû´ÉÍý¿Í¤Î¤ßÊÔ½¸¤Ç¤­¤Þ¤¹