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

¡¡FPS ¥²¡¼¥à¤Î¥×¥ì¥¤¥ä¡¼¥­¥ã¥é¥¯¥¿¡¼¤Î°ÜÆ°¤È¥«¥á¥é¤Î²óžµ¡Ç½¤Î¼ÂÁõÎã¤Ç¤¹¡£

¡¡¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¤Ï½½»ú¥­¡¼¤Ë¤è¤ë¤â¤Î¤Ç¡¢°ÜÆ°¼´¤ÏÁ°¸åº¸±¦¤Ë¤Ê¤ê¡¢»ëÅÀ(¸þ¤­)¤ÏÊѤï¤ê¤Þ¤»¤ó¡£
¥Þ¥¦¥¹¤òÆ°¤«¤¹¤³¤È¤Ç¡¢¥«¥á¥é¤¬²óž¤·¡¢»ëÅÀ¤¬ÊѤï¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¥«¥á¥é¤ÈƱ¤¸Êý¸þ¤ò½Æ¤¬¸þ¤­¤Þ¤¹¡£

¡¡¥­¡¼ÆþÎÏÃͤËÂФ·¤Æ¥×¥ì¥¤¥ä¡¼¤Ï¥«¥á¥é¤ÎÀµÌÌÊý¸þ¤ò´ð½à¤ËÁ°¿Ê¡¦¸åÂष¤Þ¤¹¡£


¡ã³Îǧư²è¡¡¡¼¥«¥á¥é¤Î²óž¡¼¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã³Îǧư²è¡¡¡¼¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¡¼¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯



¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°

£±¡¥Player ÍÑ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½À®


¡¡¤¢¤¯¤Þ¤Ç¤â¥µ¥ó¥×¥ë¤Î¹½À®¤Ç¤¹¤Î¤Ç¡¢¼«Ê¬¤Î¥×¥í¥¸¥§¥¯¥È¤ÎÆâÍƤ˹ç¤ï¤»¤ÆÊѹ¹¤·¤ÆÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£


¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½À®




¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Ç Create Empty ¤ò¹Ô¤¤¡¢Player ÍѤΥ²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤Þ¤¹¡£
¤½¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ¡¢Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¡¢¤µ¤é¤Ë Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î»Ò¥ª¥Ö¥¸¥§¥¯¥È¤È¤·¤Æ½Æ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òÇÛÃÖ¤·¤Þ¤¹¡£

¡¡Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ï¥³¥é¥¤¥À¡¼¤È Rigidbody ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£
¥³¥é¥¤¥À¡¼¤Î¥µ¥¤¥º¤Ï¥²¡¼¥à¤Î´Ä¶­¤Ë¹ç¤ï¤»¤Æ¡¢¥×¥ì¥¤¥ä¡¼¤ÎÅö¤¿¤êȽÄê¤È¤·¤ÆÍøÍѤ¹¤ë¤³¤È¤òÁ°Äó¤ËÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£

¡¡Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤â Create Empty ¤ÇºîÀ®¤·¤Æ¤ª¤­¤Þ¤¹¡£
¤³¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ï¥«¥á¥é¤ÎÄɽ¾ÂоݤˤʤëÉôʬ¤Ç¤¹¡£¤Þ¤¿¡¢½Æ¸ý¤Î¸þ¤­¤Ë¹ç¤ï¤»¤Æ²óž¤¹¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤¹¡£

¡¡½Æ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤Ï¡¢¥¢¥»¥Ã¥È¥¹¥È¥¢¤Ê¤É¤«¤é¥¤¥ó¥Ý¡¼¥È¤·¤¿¤â¤Î¤òÍøÍѤ·¤Æ¤¯¤À¤µ¤¤¡£


Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È



Scene¥Ó¥å¡¼




Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È



Scene¥Ó¥å¡¼




½Æ¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È



Scene¥Ó¥å¡¼




¡¡¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤¹¤ë¤È¤­¤Ë¡¢¿Æ»Ò´Ø·¸¤¬¤¢¤ë¾ì¹ç¡¢¤½¤ì¤¾¤ì¤Î°ÌÃÖ¤¬ÂçÀڤˤʤê¤Þ¤¹¡£
»Ò¥ª¥Ö¥¸¥§¥¯¥È¤òºîÀ®¤·¤¿¤é¡¢¤Þ¤º¤Ï (0,0,0) ¤Î°ÌÃ֤˹ç¤ï¤»¤Æ¤«¤é¡¢Ä´À°¤ò¹Ô¤¦¤è¤¦¤Ë¤·¤Þ¤·¤ç¤¦¡£


£²¡¥PlayerController¡ÊPlayerMove¡Ë¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡¥µ¥ó¥×¥ë¥¹¥¯¥ê¥×¥È¤Ç¤¹¤Î¤Ç¡¢¼«Ê¬¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¹ç¤ï¤»¤ÆŬµ¹Ä´À°¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°À©¸æ¤ò¹Ô¤¦¤¿¤á¤Î¤â¤Î¤Ç¤¹¡£Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤·¤ÆÍøÍѤ·¤Þ¤¹¡£

¡¡¥¹¥¯¥ê¥×¥È¤òÍÑ°Õ¤¹¤ë¾ì¹ç¡¢¤É¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÇÍøÍѤ¹¤ë¤«¤òÇÄ°®¤·¤Æ¤«¤éºîÀ®¤¹¤ë¤³¤È¤¬ÂçÀڤǤ¹¡£



PlayerController.cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£


£³¡¥¡ã»°¹à±é»»»Ò¡ä


¡¡»°¹à±é»»»Ò¤È¤¤¤¦½èÍý¤Ï¡¢if / else ʸ¤Îʬ´ô½èÍý¤ò£±¹Ô¤Ç´Ê·é¤Ëµ­½Ò¤Ç¤­¤ë½ñ¼°¤Ç¤¹¡£
¤¿¤À¤·¡¢¤¹¤Ù¤Æ¤Î if / else ʸ¤òÃÖ¤­´¹¤¨¤é¤ì¤ë¤ï¤±¤Ç¤Ê¤¯¡¢

¡¡­¡Ê¬´ô½èÍýÆâÉô¤ÇƱ¤¸ÊÑ¿ô¤ËÂФ·¤ÆÂåÆþ½èÍý¤ò¹Ô¤Ã¤Æ¤¤¤ëʬ´ô½èÍý
¡¡­¢Ê¬´ô½èÍýÆâÉô¤Çreturn ʸ¤ÇƱ¤¸·¿¤Î¾ðÊó¤òÌ᤹ʬ´ô½èÍý

¡¡¤³¤Î¤¤¤º¤ì¤«¤Î¤ß¡¢ÃÖ¤­´¹¤¨¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡º£²ó¤Ç¤¢¤ì¤Ð¡¢ProcessInput ¥á¥½¥Ã¥ÉÆâ¤Îʬ´ô½èÍý¤¬­¡¤Ë³ºÅö¤·¤Þ¤¹¡£
¤³¤Á¤é¤ò»°¹à±é»»»Ò¤òÍøÍѤ¹¤ë¤³¤È¤Ç½èÍý¤ò´Ê·é¤Ëµ­½Ò¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£


¡¡¡¡¡¡¡¡// Shift¥­¡¼¤ò²¡¤·¤Æ¤¤¤ë¾ì¹ç¤Ï®ÅÙ¤òÁý²Ã¤µ¤»¤ë
    ¡¡¡¡if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
    ¡¡¡¡{
        ¡¡¡¡speed = runSpeed;
    ¡¡¡¡}
    ¡¡¡¡else
    ¡¡¡¡{
        ¡¡¡¡speed = walkSpeed;
    ¡¡¡¡}

¡¡¤³¤Î¾ò·ï¼°¤ò»°¹à±é»»»Ò¤Ë¤·¤Æ if / else ʸ¤ò£±¹Ô¤Ë¤Þ¤È¤á¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¼°¤Ë¤Ê¤ê¤Þ¤¹¡£

¡¡¡¡¡¡¡¡¢­

¡ã»°¹à±é»»»Ò¤ò»È¤Ã¤Æ½ñ¤­´¹¤¨¤¿¾ì¹ç¡ä
¡¡¡¡// Shift¥­¡¼¤ò²¡¤·¤Æ¤¤¤ë¾ì¹ç¤Ï®ÅÙ¤òÁý²Ã¤µ¤»¤ë
    speed = Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift) ? runSpeed : walkSpeed;



¡¡»°¹à±é»»»Ò¤Ï¤½¤Î̾Á°¤ÎÄ̤ê¤Ç¡¢£³¤Ä¤Î¹àÌܤ¬¤¢¤ê¤Þ¤¹¡£

¡Ú¾ò·ïʸ¡Û ? ¡Útrue¤À¤Ã¤¿¾ì¹çÊÖ¤¹Ãͤä½èÍý¡Û : ¡Úfalse¤À¤Ã¤¿¾ì¹çÊÖ¤¹Ãͤä½èÍý¡Û

¡¡±¦ÊդǤϡ¢¤³¤Î¾ò·ï¼°¤Ètrue¤Èfalse¤Î£³¤Ä¤Î¹àÌܤòÍÑ°Õ¤·¤Æ¡¢¤½¤Î·ë²Ì¤Ë¹ç¤ï¤»¤Æº¸ÊÕ¤ØÃͤòÂåÆþ¤·¤Þ¤¹¡£


»²¹Íµ­»ö
Qiita @crazy_traveler ÍÍ
»²¹Í¤Ë¤Ê¤ë»°¹à±é»»»Ò


£´¡¥Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë PlayerController ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë PlayerController ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¤Þ¤¹¡£

¡¡¥¢¥¿¥Ã¥Á¤·¤¿¤éɬ¤º¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£
PlayerController ¤Ë¤Ï°Üư®Å٤ʤɤòÀßÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¤Î¤Ç¡¢Å¬µ¹¤ÊÃͤòÀßÄꤷ¤Æ¤¯¤À¤µ¤¤¡£


Player ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



£µ¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤Î³Îǧ¤ò¤¹¤ë


¡¡¤½¤ì¤Ç¤Ï¤³¤³¤Þ¤Ç¤Î¼ê½ç¤ò³Îǧ¤¹¤ë¤¿¤á¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ¡¢Æ°ºî¤ò¸¡¾Ú¤·¤Þ¤¹¡£

¡¡¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¤¬Àµ¾ï¤ËÆ°ºî¤¹¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£
°ÜÆ°¤·¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢PlayerController ¥¹¥¯¥ê¥×¥È¤Î¥¢¥¿¥Ã¥Á¤Î³Îǧ¡¢°Üư®ÅÙÍѤÎÃͤγÎǧ¤Ê¤É¤ò¹Ô¤¤¤Þ¤·¤ç¤¦¡£

¡¡¤É¤Î¤è¤¦¤Êµ¡Ç½¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤«¡¢ºî¤Ã¤Æ¤¤¤ë¼«Ê¬¤¬¤·¤Ã¤«¤ê¤ÈÇÄ°®¤·¤Æ¤ª¤¯É¬Íפ¬¤¢¤ê¤Þ¤¹¡£


¡ã³Îǧư²è¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡¤³¤Î»þÅÀ¤Ç¤Ï¥«¥á¥é¤ÎÄɽ¾½èÍý¤¬¤¢¤ê¤Þ¤»¤ó¡£
¤½¤Î¤¿¤á¡¢¥²¡¼¥à²èÌ̤ϸÇÄꤵ¤ì¤¿¤Þ¤Þ¤Ç¡¢¥×¥ì¥¤¥ä¡¼¤Î¤ß¤¬°ÜÆ°¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡Scene ¥Ó¥å¡¼¤Ç°ÜÆ°¤¬¹Ô¤ï¤ì¤Æ¤¤¤ë¤³¤È¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£


¥«¥á¥é¤ÎÀßÄê


¡¡¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¤¬´°À®¤·¤¿¤Î¤Ç¡¢¼¡¤Ï¡¢¥«¥á¥é¤ÎºîÀ®¤ÈÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£


£±¡¥¡ãVirtual Camera ¤ÎºîÀ®¡ä


¡¡Cinemachine ¤òÍøÍѤ·¤Æ FPS ÍѤΥ«¥á¥é¤ÎºîÀ®¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡¥Ò¥¨¥é¥ë¥­¡¼¤Ë¤Æ¥á¥Ë¥å¡¼¤ò³«¤­¡¢Cinemachine ¢ª Virtual Camera ¤òÁªÂò¤·¤Æ¥«¥á¥é¤òÄɲä·¤Þ¤¹¡£
CM vcam1 ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£




¡¡Ì¾¾Î¤Ï¤½¤Î¤Þ¤Þ¤Ç¤â¤è¤¤¤Ç¤¹¤·¡¢FPSCamera ¤Î¤è¤¦¤ËÊѹ¹¤·¤Æ¤â¹½¤¤¤Þ¤»¤ó¡£



¡¡Cinemachine ¤Î¥«¥á¥é¤¬¥Ò¥¨¥é¥ë¥­¡¼¤ËÄɲ䵤ì¤Þ¤·¤¿¤Î¤Ç¡¢MainCamera ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë Cinemachine Brain ¥³¥ó¥Ý¡¼¥Í¥ó¥È¤¬¼«Æ°Åª¤ËÄɲ䵤ì¤Þ¤¹¡£





£²¡¥¡ãVirtual Camera ¤ÎÀßÄê¡ä


¡¡Cinemachine ¥«¥á¥é¤Ç¤¢¤ë CM vcam1 ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÎÀßÄê¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡Follow ¤Ë Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¢¥µ¥¤¥ó¤·¤Þ¤¹¡£
¤³¤ì¤Ç¥«¥á¥é¤¬¥×¥ì¥¤¥ä¡¼¤òÄɽ¾¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£






¡¡Body ¤ÎÀßÄê¤Ë¤Ä¤¤¤Æ¤Ï¡¢Framing Transposer ¤òÀßÄꤷ¤Þ¤¹¡£
²¼µ­¤Î²èÁü¤ò»²¹Í¤Ë¤·¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥«¥á¥é¤È¥×¥ì¥¤¥ä¡¼¤È¤Î°ÌÃÖ´Ø·¸¤Ë¤Ä¤¤¤Æ¤Ï Camera Distance ¤ÇÀßÄê¤Ç¤­¤Þ¤¹¡£
¾å²¼¤Ê¤É¤ò¹ç¤ï¤»¤ë¾ì¹ç¤Ë¤Ï Tracked Object Offset ¤ÎÃͤÇÀßÄê¤Ç¤­¤Þ¤¹¡£

¡¡¤Þ¤¿¡¢°ÜÆ°¤Ë¹ç¤ï¤»¤Æ¥«¥á¥é¤¬¿×®¤ËÂбþ¤¹¤ë¤è¤¦¤Ë³Æ Damping ¤ÎÀßÄê¤ò 0 ¤Ë¤·¤Æ¤¤¤Þ¤¹¡£






¡¡Â³¤¤¤Æ¡¢Aim ¤ÎÀßÄê¤ò POV ¤Ë¤·¤Þ¤¹¡£POV ¤È¤Ï Point Of View ¤Îά¤Ç¡¢FPS »ëÅÀ¤È¤·¤ÆÍøÍѤǤ­¤ë¥«¥á¥é¤ÎÀßÄê¤Ç¤¹¡£

¡¡¤³¤ÎÀßÄê¤Ë¤¹¤ë¤È¡¢¥Þ¥¦¥¹¤Î¾å²¼º¸±¦¤Ë¹ç¤ï¤»¤Æ¥«¥á¥é¤¬°ÜÆ°¤¹¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£
ÆþÎÏÊý¸þ¤ÎÈ¿±Ç(Invert)¤ä´¶Å٤ˤĤ¤¤Æ¤âÀßÄê¤Ç¤­¤Þ¤¹¡£





Game ¥Ó¥å¡¼



£³¡¥GunController ¥¹¥¯¥ê¥×¥È¤òºîÀ®¤¹¤ë


¡¡¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î²óž¤ò¥«¥á¥é¤Î²óž¤È¹ç¤ï¤»¤ë¤¿¤á¤Î¥¹¥¯¥ê¥×¥È¤Ç¤¹¡£
¤³¤Î¥¹¥¯¥ê¥×¥È¤Ï Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤¹¤ëÁ°Äó¤ÇºîÀ®¤·¤Þ¤¹¡£



GunController .cs

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


¡¡¥¹¥¯¥ê¥×¥È¤òºîÀ®¤·¤¿¤é¥»¡¼¥Ö¤·¤Þ¤¹¡£


£´¡¥¡ãLateUpdate() ¥á¥½¥Ã¥É¡ä


¡¡¥«¥á¥é¤Î²óž¤È½Æ¤Î²óž¤Î¸þ¤­¤È¤¬Æ±´ü¤µ¤»¤ë¤¿¤á¡¢Update ¥á¥½¥Ã¥É¤Ç¤Ï¤Ê¤¯¡¢LateUpdate ¥á¥½¥Ã¥É¤ò»È¤Ã¤Æ°ÌÃÖ¤ò¹ç¤ï¤»¤Æ¤¤¤Þ¤¹¡£

¡¡Update ¤ËÀÚ¤êÂؤ¨¤Æ»î¤¹¤È¤ï¤«¤ê¤Þ¤¹¤¬ÉÁ²è¤Î¥¿¥¤¥ß¥ó¥°¤Î´Ø·¸¤Ç¡¢²óž¤ËÂФ·¤Æ¡¢²èÌ̤ÎÉÁ²è¤¬¤º¤ì¤Þ¤¹¡£
¤³¤ì¤Ï¡¢¥«¥á¥é¤Î±Ç¤¹¾ðÊ󤬡¢Unity ¤ÎÆâÉô½èÍýŪ¤Ë¡¢Ëè¥Õ¥ì¡¼¥à¤Î¡Ö°ìÈֺǸå¡×¤Ë¹¹¿·¤¬Æþ¤ë¤¿¤á¤Ç¤¹¡£
¡¡
¡¡¤½¤Î¤¿¤á GunController ¤ÇÍøÍѤ·¤Æ¤¤¤ë½èÍý¤Ï LateUpdate ¥á¥½¥Ã¥É¤Ç¡¢¥×¥ì¥¤¥ä¡¼¤Î°ÌÃ֤ȥ«¥á¥é¤Î°ÌÃÖ¤òƱ´ü¤·¤Æ¤¤¤Þ¤¹¡£
¤³¤Î½èÍý¤Ë¤¹¤ë¤³¤È¤Ç¥º¥ì¤¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£

Unity ¸ø¼°¥Þ¥Ë¥å¥¢¥ë
¥¤¥Ù¥ó¥È´Ø¿ô¤Î¼Â¹Ô½ç½ø

¡¡ºÇ½é¤ÏÆɤ߲ò¤¯¤Î¤¬Æñ¤·¤¤¤Ç¤¹¤¬¡¢´ðËÜŪ¤Ë¤Ï Unity ¤Î¥Þ¥Ë¥å¥¢¥ë¤ÏÌܤòÄ̤·¤Æ¤ª¤¤¤¿Êý¤¬¤¤¤¤¤Ç¤·¤ç¤¦¡£


£µ¡¥Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë GunController ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤¹¤ë


¡¡Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë GunController ¥¹¥¯¥ê¥×¥È¤ò¥¢¥¿¥Ã¥Á¤·¡¢¥«¥á¥é¤Î²óž¤È½Æ¸ý¤Î¸þ¤­¤òƱ´ü¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¥¢¥¿¥Ã¥Á¤·¤¿¤éɬ¤º¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤ò³Îǧ¤·¤Þ¤·¤ç¤¦¡£


Body ¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¡¡¥¤¥ó¥¹¥Ú¥¯¥¿¡¼²èÁü



£¶¡¥¥²¡¼¥à¤ò¼Â¹Ô¤·¤ÆÆ°ºî¤Î³Îǧ¤ò¤¹¤ë


¡¡´°À®¤·¤Þ¤·¤¿¤Î¤Ç¡¢¥²¡¼¥à¤ò¼Â¹Ô¤·¤Æ³Îǧ¤ò¹Ô¤¤¤Þ¤¹¡£

¡¡³Îǧ¤¹¤Ù¤­ÆâÍƤÏÍý²ò¤Ç¤­¤Æ¤¤¤Þ¤¹¤«¡©
ÇùÁ³¤ÈÆ°¤«¤¹¤Î¤Ç¤Ï³Ø½¬¤Ë¤Ê¤ê¤Þ¤»¤ó¡£¥¹¥¯¥ê¥×¥È¤ÎÆâÍƤòÆɤ߲ò¤­¡¢Unity ¤Î¥¤¥ó¥¹¥Ú¥¯¥¿¡¼¤â³èÍѤ·¤ÆÆ°ºî¤ò¸¡¾Ú¤·¤Þ¤·¤ç¤¦¡£

¡¡Æ°¤¯¤«¤É¤¦¤«¤Ç¤Ï¤Ê¤¯¤Æ¡¢Àµ¤·¤¯Æ°ºî¤ò¤·¤Æ¤¤¤ë¤«¡¢¸¡¾Úºî¶È¤Ç¤¢¤ë¤³¤È¤òÍý²ò¤·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£

¡¡¥«¥á¥é¤Î²óž¤È½Æ¤Î²óž¤Î¸þ¤­¤È¤¬Æ±´ü¤¹¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ì¤ÐÌäÂꤢ¤ê¤Þ¤»¤ó¡£


¡ã³Îǧư²è¡¡¡¼¥«¥á¥é¤Î²óž¡¼¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡ã³Îǧư²è¡¡¡¼¥×¥ì¥¤¥ä¡¼¤Î°ÜÆ°¡¼¡ä
Æ°²è¥Õ¥¡¥¤¥ë¤Ø¤Î¥ê¥ó¥¯


¡¡°Ê¾å¤Ç´°À®¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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