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

¡¡º£²ó¤«¤é£³²ó¤Î¼ê½ç¤Ëʬ¤±¤Æ¡¢´û¸¤Îʬ´ô½èÍý¤òÃê¾Ý²½¤·¡¢´Ê·é¤«¤Ä³ÈÄ¥À­¤¬¹â¤¯Êݼé¤Î¤·¤ä¤¹¤¤½èÍý¤Ë¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ò¹Ô¤Ã¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¤Þ¤º¤ÏÌäÂêÅÀ¤Î³Îǧ¤È¡¢²þÁ±°Æ¤ÎÄ󼨤ò¹Ô¤¤¤Þ¤¹¡£
¤½¤Î¸å¡¢£²²ó¤Î¼ê½ç¤Ëʬ¤±¤Æ½èÍý¤Î¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ò¹Ô¤¤¡¢Ãê¾Ý²½¤ò´°À®¤µ¤»¤Þ¤¹¡£



»÷Ä̤ä¿Ê¬´ô½èÍý¤ÎÌäÂêÅÀ


¡¡°Û¤Ê¤ë¥¤¥Ù¥ó¥È¤òȯÀ¸¤µ¤»¤ë¾ì¹ç¡¢Ray ¤ÎȽÄê¤ä¡¢OnTriggerEnter¥á¥½¥Ã¥É¤Ê¤É¤ÎȽÄêÆâ¤Ë
°Ê²¼¤Î¤è¤¦¤Ë¥¯¥é¥¹¤ä¥¿¥°¤Ê¤É¤òÍøÍѤ·¤Æ¾ðÊ󸻤òÆÃÄꤷ¤Æ¤¤¤¯¼êË¡¤¬¤¢¤ê¤Þ¤¹¡£


¡ãRay ¤òÍøÍѤ·¡¢¥¯¥é¥¹¤òÍøÍѤ·¤¿Ê¬´ôȽÄê¤Î¥±¡¼¥¹¡ä
¡¡// ¥¯¥é¥¹ SampleA ¤Î¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
  if (hit.collider.TryGetComponent(out SampleA sampleA) == true) { 

      // SampleA ÍѤνèÍý
¡¡¡¡¡¡sampleA.SampleMethod();
  }

  // ¥¯¥é¥¹ SampleB ¤Î¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
  else if (hit.collider.TryGetComponent(out SampleB sampleB) == true) {

      // SampleB ÍѤνèÍý
¡¡¡¡¡¡sampleB.SampleMethod();
  }

  // ¥¯¥é¥¹ SampleC ¤Î¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
  else if (hit.collider.TryGetComponent(out SampleC sampleC) == true) {

      // SampleC ÍѤνèÍý
¡¡¡¡¡¡sampleC.SampleMethod();
  }



¡ãOnTriggerEnter ¥á¥½¥Ã¥É ¤òÍøÍѤ·¡¢¥¿¥°¤òÍøÍѤ·¤¿Ê¬´ôȽÄê¤Î¥±¡¼¥¹¡ä
¡¡// Enemy ¤Î¥¿¥°¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
  if (collider.CompareTag("Enemy") == true) { 

      // Enemy ÍѤνèÍý
¡¡¡¡¡¡collider.gameObject.TryGetComponent(out Enemy enemy){
          enemy.SampleMethod();
      }
  }

  // Item ¤Î¥¿¥°¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
  else if (collider.CompareTag("Item") == true) {

      // Item ÍѤνèÍý
¡¡¡¡¡¡collider.gameObject.TryGetComponent(out Item item){
          item.SampleMethod();
      }
  }

  // Gem ¤Î¥¿¥°¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
  else if (collider.CompareTag("Gem") == true) {

      // Gem ÍѤνèÍý
¡¡¡¡¡¡collider.gameObject.TryGetComponent(out Gem gem){
          gem.SampleMethod();
      }
  }



¡¡¤É¤Á¤é¤Î¥±¡¼¥¹¤Î¾ì¹ç¤â¡¢°Ê²¼¤Î¤è¤¦¤ÊÌäÂêÅÀ¤¬¤¢¤ê¤Þ¤¹¡£

¡¡­¡¥¤¥Ù¥ó¥È(¥¯¥é¥¹¤ä¥¿¥°¤Ê¤É´Þ¤à)¤Î¼ïÎबÁý¸º¤¹¤ë¤¿¤Ó¤Ë¡¢¤³¤Î¥¹¥¯¥ê¥×¥ÈÆâ¤Îʬ´ô½èÍý¤Î½¤Àµ¤ò;µ·¤Ê¤¯¤µ¤ì¤ë
¡¡­¢Ê¬´ô¤ÎÆâÉô¤Ë¤Ï»÷Ä̤俤褦¤Ê½èÍý¤ò½ñ¤¯¤è¤¦¤Ë¤Ê¤ë
¡¡­£¥¿¥°¤Î¾ì¹ç¡¢Ê¸»úÎó»ØÄê¤Ç¤¢¤ë¤¿¤á¥½¡¼¥¹¥³¡¼¥É¤Î¥¿¥¤¥×¥ß¥¹¤ä¡¢¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ø¤ÎÀßÄê¥ß¥¹¤¬È¯À¸¤¹¤ë

¡¡¶¦Ä̤¹¤ëÌäÂêÅÀ¤Ï­¡¤È­¢¤Ç¤¹¡£

¡¡µ¡Ç½¤òÄɲÃ/ºï½ü¤¹¤ëÅ٤˭¡¤Î½¤Àµ¤¬É¬Íפˤʤꡢ¤½¤ÎÅÔÅÙ¡¢­¢¤Î½èÍý¤òÄɲÃ/ºï½ü¤¹¤ë¡¢¤È¤¤¤¦ºî¶È¤¬É¬Íפˤʤê¤Þ¤¹¡£
¤½¤Î¤¿¤áÊݼé´ÉÍý¤¬ÂçÊѤˤʤäƤ¤¤ë¤³¤È¤¬Ê¬¤«¤ê¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ê¾ì¹ç¡¢½èÍý¤òÃê¾Ý²½¤µ¤»¤ë¤³¤È¤Ë¤è¤ê¡¢¼Â¹Ô¦¤Ï¡Ö¤É¤Î¥¯¥é¥¹¡×¤Ç¤¢¤ë¤«¤òÃΤ뤳¤È¤Ê¤¯½èÍý¤ò¼Â¹Ô¤·¤Æ¤¤¤¯¤³¤È¤¬²Äǽ¤Ë¤Ê¤ê¤Þ¤¹¡£
¼ÂÁõ¤ÎÊýË¡¤òÃê¾Ý²½¤¹¤ë¤³¤È¤ÇÊݼé´ÉÍý¤ò´ÊÁDz½¤·¡¢¤«¤Ä¡¢­¡¤¬È¯À¸¤·¤Æ¤â­¢¤Î½¤Àµ¤¬É¬ÍפΤʤ¤½èÍý¤ò¹½ÃۤǤ­¤Þ¤¹¡£


Ãê¾Ý²½


¡¡¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ä¥¯¥é¥¹¤Î·Ñ¾µ¤ò³èÍѤ·¤Æ¡¢¥á¥½¥Ã¥É¤Î¿¶¤ëÉñ¤¤¤òÊѤ¨¤ë¼êË¡¤ò»Ø¤·¤Þ¤¹¡£
¤Þ¤¿¡¢¶ñÂÎŪ¤Ê¼ÂÁõ¤Î¾ÜºÙ¤ò±£Ê乤뤳¤È¤Ë¤è¤Ã¤Æ¡¢¥×¥í¥°¥é¥à¤Î½ÀÆðÀ­¤ÈºÆÍøÍÑÀ­¤ò¹â¤á¤ë¤³¤È¤ò»Ø¤·¤Þ¤¹¡£

¡¡Ãê¾Ý²½¤Ë¤è¤Ã¤Æ¡¢¥¯¥é¥¹¤ä¥á¥½¥Ã¥É¤ò¤è¤ê°ìÈÌŪ(generally/general)¤Ê·Á¤Çɽ¸½¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤³¤ì¤Ë¤è¤ê¡¢¥³¡¼¥É¤ÎÍý²ò¤ä¥á¥ó¥Æ¥Ê¥ó¥¹¤¬Íưפˤʤꡢ¤è¤ê½ÀÆð¤Ê¥í¥¸¥Ã¥¯¤ò¹½ÃۤǤ­¤Þ¤¹¡£

¡¡Unity ¤Ë¤ª¤±¤ëÃê¾Ý²½¤ÎÎã¤È¤·¤Æ¡¢Ãê¾Ý¥¯¥é¥¹¤ä¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤òµó¤²¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡Ãê¾Ý¥¯¥é¥¹¤Ï¡¢¥¯¥é¥¹¤Î·Ñ¾µ¤òÁ°Äó¤ËºîÀ®¤¹¤ë´ðÄ쥯¥é¥¹¤Ç¤¹¡£
¶ñÂÎŪ¤Ê¼ÂÁõ¤ò»ý¤¿¤º¡¢ÇÉÀ¸¥¯¥é¥¹¤Ç¼ÂÁõ¤µ¤ì¤ë¥á¥½¥Ã¥É¤òÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡°ìÊý¡¢¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ï¡¢Ãê¾Ý¥¯¥é¥¹¤è¤ê¤â¤µ¤é¤Ë°ìÈÌŪ¤Ê·Á¤Ç¤¢¤ê¡¢¼ÂÁõ¤µ¤ì¤ë¥á¥½¥Ã¥É¤Î¤ß¤òÄêµÁ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£

¡¡¤³¤ì¤é¤ÎÃê¾Ý²½¤Î¼êË¡¤ò»ÈÍѤ¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥³¡¼¥É¤Î½ÅÊ£¤ò¸º¤é¤·¡¢µ¡Ç½¤ÎÊѹ¹¤äÄɲäò¤è¤êÍưפ˹Ԥ¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
¤Þ¤¿¡¢Â¾¤Î³«È¯¼Ô¤¬ºîÀ®¤·¤¿¥¯¥é¥¹¤ä¥é¥¤¥Ö¥é¥ê¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤â¡¢Ãê¾Ý²½¤Ë¤è¤Ã¤Æ¡¢¤½¤Î¼ÂÁõ¤Î¾ÜºÙ¤òÃΤëɬÍפ¬¤Ê¤¯¡¢¤è¤ê´Êñ¤ËÍøÍѤ¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£


Ãê¾Ý²½Á°¤Î¥½¡¼¥¹¥³¡¼¥É


¡¡ÆÃÄê¤Î¥Ü¥¿¥ó¤ò²¡¤·¤¿ºÝ¤Ë¡¢Ray ¤òÅê¼Í¤·¤Æ¥²¡¼¥àÆâ¤Ë¤¢¤ë¥³¥é¥¤¥À¡¼¤ò»ý¤Ä¥ª¥Ö¥¸¥§¥¯¥È¤ò¼èÆÀ¤·¡¢
¤½¤Î¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Ë¥¢¥¿¥Ã¥Á¤µ¤ì¤Æ¤¤¤ë¥¯¥é¥¹¤ò¼èÆÀ¤¹¤ë¤³¤È¤Ç½èÍý¤Îʬ´ô¤ò¼Â¹Ô¤·¤Æ¤¤¤¯¼ÂÁõÎã¤Ç¤¹¡£


    /// <summary>
    /// ¹ÔÆ°¥Ü¥¿¥ó¤ò²¡¤·¤¿ºÝ¤Î½èÍý
    /// </summary>
    private IEnumerator Action() {
        
        // Player ¤Î°ÌÃÖ¤òµ¯ÅÀ¤È¤·¡¢Player ¤Î¸þ¤¤¤Æ¤¤¤ëÊý¸þ¤Ë 1.0f ʬ¤À¤± Ray ¤òȯ¼Í¤·¡¢NPC ¥ì¥¤¥ä¡¼¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÀÜ¿¨¤¹¤ë¤«È½Äꤷ¡¢¤½¤Î¾ðÊó¤ò hit ÊÑ¿ô¤ËÂåÆþ
        RaycastHit2D hit = Physics2D.Raycast(rb.position, lookDirection, 1.0f, LayerMask.GetMask(actionlayerMasks));

        // Scene ¥Ó¥å¡¼¤Ë¤Æ Ray ¤Î²Ä»ë²½
        Debug.DrawRay(rb.position, lookDirection, Color.blue, 1.0f);

        // Ray ¤Ë¤è¤Ã¤Æ hit ÊÑ¿ô¤Ë¥³¥é¥¤¥À¡¼¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊ󤬼èÆÀ½ÐÍè¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢½èÍý¤·¤Ê¤¤
        if (!hit.collider) {
            yield break;
        }
        
        // ¥¢¥¯¥·¥ç¥óÃæ¤Î¾ì¹ç¡¢½èÍý¤·¤Ê¤¤
        if (isActionCheck) {
            yield break;
        }
        
        // °ÜÆ°Ää»ß
        StopPlayer();
        isActionCheck = true;
        
        // ¸æ¼ë°õ¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
        if (hit.collider.TryGetComponent(out Goshuin gos) == true) { 
            yield return StartCoroutine(getGenerator.ActivatePlacementGetStampPopUp2(gos.goshuinData));
            Destroy(gos.gameObject);
            GameData.instance.AddGoshuinInventryData(gos.goshuinData.goshuinName);
            isActionCheck = true;
        }

        // ÊõÈ¢¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
        else if (hit.collider.TryGetComponent(out TreasureBox box) == true) {

            //Box¥·¥Ê¥ê¥ª¤ÎºîÀ®
            yield return StartCoroutine(AdvEngineController.instance.JumpScenarioAsync(box.itemData.itemScenario, null));
            GameData.instance.AddItemInventryData(box.itemData.itemName);
            //È¢¤ò³«¤±¤ë»þ¤Î½èÍý
            box.OpenTresureBox();

            //¥¢¥¯¥·¥ç¥ó¥Á¥§¥Ã¥¯bool¤òtrue
            isActionCheck = true;
        }

        // NPC¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
        else if (hit.collider.TryGetComponent(out NonPlayerCharacter npc) == true) {
            // NPC¤Î¸þ¤­¤òÊѹ¹¤¹¤ë
            npc.LookDirection(GetFaceNPC(facePlayer));

            //NPC¥·¥Ê¥ê¥ª¤ÎºîÀ®
            yield return StartCoroutine(AdvEngineController.instance.JumpScenarioAsync(npc.npcData.npcScenario, null));

            //¥¢¥¯¥·¥ç¥ó¥Á¥§¥Ã¥¯bool¤òtrue
¡¡¡¡¡¡¡¡¡¡¡¡isActionCheck = true;
        }

        GameData.instance.SaveAllUserDatas();
        
        // ºÆÅÙ°ÜÆ°¤È¥¢¥¯¥·¥ç¥ó¤ò²Äǽ¤Ë¤¹¤ë
        NonStopPlayer();
        isActionCheck = false;
        
        
        //UTAGE¤Î¥Õ¥é¥°¤¬¤¢¤ë¾ì¹ç¤Ï
        if(AdvEngineController.instance.AdvEngine.Param.GetParameterBoolean(npc.utageParamBoolName.ToString()) == true)
        {
            if (npc.utageParamBoolName.ToString() == "ep5_Satokibi5")
            {
                Debug.Log("AAA");
                Debug.Log(npc == null);
                npc.Suspect();
            }
        } 

        if(AdvEngineController.instance.AdvEngine.Param.GetParameterBoolean(npc.utageParamBoolName.ToString()) == true)
        {
            // if ¸æ¼ë°õ¤¬NoData½Ð¤Ê¤±¤ì¤Ð¡¢¸æ¼ë°õ¤òÄɲ乤ë
            if (npc.npcData.goshuin != GoshuinName.NoData)
            {
                if (!GameData.instance.goshuinInventryDatasList.Exists(x => x.goshuinName == npc.npcData.goshuin))
                {
                    getGenerator.ActivatePlacementGetStampPopUp(DataBaseManager.instance.GetGoshuinDataFromName(npc.npcData.goshuin));
                    GameData.instance.AddGoshuinInventryData(DataBaseManager.instance.GetGoshuinDataFromName(npc.npcData.goshuin).goshuinName);
                    
                }
            }
        }

        yield return null;
    }


Ãê¾Ý²½¤Ë¤è¤ë¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¼ÂÁõÎã


¡¡¥¤¥Ù¥ó¥È¤Î½èÍý¤¬Ê£¿ôʬ´ô¤·¤Æ¤¤¤Þ¤¹¤Î¤Ç¡¢¤³¤Á¤é¤Î°ì¸µ²½¤ò¸¡Æ¤¤·¤Þ¤¹¡£

¡¡Àè¤Û¤ÉÀâÌÀ¤¬¤¢¤Ã¤¿¤è¤¦¤Ë½èÍý¤ÎÃê¾Ý²½¤ò¹Ô¤¤¡¢¥á¥½¥Ã¥É¤Î¿¶¤ëÉñ¤¤¤ò³ÆÇÉÀ¸¥¯¥é¥¹Æâ¤Ç¼ÂÁõ¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢
¼Â¹Ô¤¹¤ë¦¤Ï¡Ö¥¯¥é¥¹¤òµ¤¤Ë¤¹¤ë¤³¤È¤Ê¤¯¡×¡¢¾ï¤Ë£±¤Ä¤Î¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ë¤³¤È¤Ç½èÍý¤ò¼Â¹Ô¤Ç¤­¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡£

¡¡¶ñÂÎŪ¤Ë¤Ï¡¢¼¡²ó°Ê¹ß¤Î¼ê½ç¤Ç²¼µ­¤Î¤è¤¦¤Ê½èÍý¤òºî¤ë¤³¤È¤Ç¡¢¤¹¤Ù¤Æ¤Î¥¤¥Ù¥ó¥È½èÍý¤òÌäÂê¤Ê¤¯¼Â¹Ô¤¹¤ëÃê¾Ý²½¤·¤¿½èÍý¤òºîÀ®¤·¤Þ¤¹¡£
Æä˽ÅÍפʤΤ¬­£¤È­¤¤Ç¤¹¡£


¡ã­¡¡¡´û¸¤Î Ray ¤Î½èÍý¤Î¤¦¤Á¡¢Ray ¤Î·ë²Ì¤ò¼õ¤±¤Æ½èÍý¤òÀè¤Ë¿Ê¤á¤ë¤«¡¢»ß¤á¤ë¤«¤òȽÄꤹ¤ëµ¡Ç½¤ò¥á¥½¥Ã¥É²½¡ä
    /// <summary>
    /// ¥×¥ì¥¤¥ä¡¼¤«¤éÅê¼Í¤·¤¿ Ray ¤¬¡¢»ØÄꤷ¤¿ Layer ÀßÄê¤Î¤¢¤ë¥³¥é¥¤¥À¡¼¤ËÀÜ¿¨¤·¤¿¤«È½Äê
    /// ÀÜ¿¨¤·¤Æ¤ª¤ê¡¢¤«¤Ä¡¢³ºÅö¤¹¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¤Ë¤Ï¥¢¥¯¥·¥ç¥óÀ®¸ù¤È¤Ê¤ê¡¢¥¤¥Ù¥ó¥ÈÀ©¸æ³«»Ï
    /// </summary>
    private void PrepareJedgeAction() {
        (bool isReadyAction, GameObject hitObj) item = JedgeAction(lookDirection);¡¡¡¡//¡¡²¼µ­­¢¤ò¼Â¹Ô¤·¡¢Ìá¤êÃͤò¥¿¥×¥ë·¿¤Ç¼õ¤±¼è¤ë
        
        if (!item.isReadyAction) {
            return;
        }
        
        // ȽÄê¤ËÀ®¸ù¤·¤¿¾ì¹ç¡¢¥¤¥Ù¥ó¥È¼Â¹Ô
        StartCoroutine(StartEventCoroutine(item.hitObj));¡¡¡¡//¡¡²¼µ­­£
    }



¡ã­¢¡¡´û¸¤Î Ray ¤Î½èÍý¤Î¤¦¤Á¡¢Ray ¤ÎÅê¼Í¤È¥³¥é¥¤¥À¡¼È½ÄêÉôʬ¤ò£±¤Ä¤Î¥á¥½¥Ã¥É²½¡£Ìá¤êÃͤòÍøÍѤ·¤ÆȽÄê·ë²Ì¤òÄ󶡤¹¤ëµ¡Ç½¡ä
    /// <summary>
    /// Ray ¤òÅê¼Í¤·¤ÆÂоݤΥª¥Ö¥¸¥§¥¯¥È¤¬¥¢¥¯¥·¥ç¥ó¤ÎÂоÝʪ¤«È½Äê
    /// </summary>
    /// <param name="lookDirection"></param>
    /// <returns></returns>
    public (bool isReacyAction, GameObject hitObj) JedgeAction(Vector2 lookDirection) {

        // Player ¤Î°ÌÃÖ¤òµ¯ÅÀ¤È¤·¡¢Player ¤Î¸þ¤¤¤Æ¤¤¤ëÊý¸þ¤Ë 1.0f ʬ¤À¤± Ray ¤òȯ¼Í¤·¡¢NPC ¥ì¥¤¥ä¡¼¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤ËÀÜ¿¨¤¹¤ë¤«È½Äꤷ¡¢¤½¤Î¾ðÊó¤ò hit ÊÑ¿ô¤ËÂåÆþ
        RaycastHit2D hit = Physics2D.Raycast(transform.position, lookDirection, 1.0f, LayerMask.GetMask(actionlayerMasks));

        // Scene ¥Ó¥å¡¼¤Ë¤Æ Ray ¤Î²Ä»ë²½
        Debug.DrawRay(transform.position, lookDirection, Color.blue, 1.0f);

        // Ray ¤Ë¤è¤Ã¤Æ hit ÊÑ¿ô¤Ë¥³¥é¥¤¥À¡¼¤ò»ý¤Ä¥²¡¼¥à¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ðÊ󤬼èÆÀ½ÐÍè¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢½èÍý¤·¤Ê¤¤
        if (!hit.collider) {
            return (false, null);
        }

        return (true, hit.collider.gameObject);
    }



¡ã­£¡¡º£¤Þ¤Ç¤Î¥¯¥é¥¹¤Ë¤è¤ëʬ´ô½èÍý¤ò¼Â¹Ô¤¹¤ë¥á¥½¥Ã¥É¤òÃê¾Ý²½¤¹¤ë¤³¤È¤Ç°ì¸µ²½¡ä
    /// <summary>
    /// ¥³¥ë¡¼¥Á¥ó¤Ë¤è¤ëÈóƱ´ü½èÍý¤Ë¤è¤ë¥¤¥Ù¥ó¥È½èÍý¤ÎÀ©¸æ
    /// </summary>
    /// <returns></returns>
    private IEnumerator StartEventCoroutine(GameObject hitObj) {
        
        // ¥¤¥Ù¥ó¥È³«»Ï¡£°ÜÆ°¤È¥¢¥¯¥·¥ç¥óÄä»ß¡£
        EnterGameEvent();

        // ¥¤¥Ù¥ó¥ÈȯÀ¸
        yield return StartCoroutine(PlayActionCoroutine(hitObj));¡¡¡¡//¡¡¢«¡¡²¼µ­­¤¡£º£¤Þ¤Ç¤Îʬ´ôÉôʬ
        
        // ¥¤¥Ù¥ó¥È½ªÎ»¡£ºÆÅÙ°ÜÆ°¤È¥¢¥¯¥·¥ç¥ó¤ò²Äǽ¤Ë¤¹¤ë
        ExitGameEvent();
    }



¡ã­¤¡¡³Æ¥¤¥Ù¥ó¥È½èÍý¤ò¼Â¹Ô¤¹¤ë¥á¥½¥Ã¥ÉÆâ¤Ç½èÍý¤Î¿¶¤ëÉñ¤¤¤òÊѤ¨¤ë¡ä
    /// <summary>
    /// ¥³¥ë¡¼¥Á¥ó¤Ë¤è¤ëÈóƱ´ü
    /// </summary>
    /// <returns></returns>
    public IEnumerator ExecuteGameEventsCoroutine() {

        yield return StartCoroutine(gameEvent.ExecuteEventCoroutine());¡¡¡¡//¡¡¢«¡¡¤³¤³¤Ç³Æ¥¤¥Ù¥ó¥È¤ò¼Â¹Ô¤¹¤ë
            
¡¡¡¡¡¡¡¡Debug.Log("¥¤¥Ù¥ó¥È ½ªÎ»");
    }



¡¡­¤¤Ç¼Â¹Ô¤µ¤ì¤¿¥¯¥é¥¹Â¦¤Ç¤Ï¡¢¼ÂÁõ¤·¤Æ¤¤¤ë¥á¥½¥Ã¥É¤ÎÆâÍƤò¼Â¹Ô¤·¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢­£¤ä­¤¤Ç¤Ï»öÁ°¤Ëʬ´ô¤òºîÀ®¤¹¤ëɬÍפ¬¤Ê¤¯¡¢·è¤Þ¤Ã¤¿½èÍý¤ò¹Ô¤¦¤À¤±¤Ç½èÍý¤¬¼«Æ°Åª¤Ë¿¶¤ëÉñ¤¤¤òÊѤ¨¤ë¤è¤¦¤ËÀ߷פ·¤Æ¤¤¤Þ¤¹¡£


½èÍý¤¬¤É¤Î¤è¤¦¤ËÊѲ½¤¹¤ë¤Î¤«


¡¡Ãê¾Ý²½¤Ë¤è¤Ã¤Æ½èÍý¤¬¤É¤Î¤è¤¦¤ËÊѲ½¤·¤Æ¤¤¤ë¤Î¤«¤ò³Îǧ¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£

¡¡Â礭¤¯£²¤Ä¤¢¤ê¤Þ¤¹¡£

¡¡¤Þ¤º¤Ïʬ´ô¤Î½èÍý¤Ç¤¹¡£

¡ã¤¤¤Þ¤Þ¤Ç¡ä
        // ¸æ¼ë°õ¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
        if (hit.collider.TryGetComponent(out Goshuin gos) == true) { 
            yield return StartCoroutine(getGenerator.ActivatePlacementGetStampPopUp2(gos.goshuinData));
            Destroy(gos.gameObject);
            GameData.instance.AddGoshuinInventryData(gos.goshuinData.goshuinName);
            //isActionCheck = true;
            isSaveOn = true;
        }

        // ÊõÈ¢¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
        else if (hit.collider.TryGetComponent(out TreasureBox box) == true) {

            //Box¥·¥Ê¥ê¥ª¤ÎºîÀ®
            yield return StartCoroutine(AdvEngineController.instance.JumpScenarioAsync(box.itemData.itemScenario, null));
            GameData.instance.AddItemInventryData(box.itemData.itemName);
            //È¢¤ò³«¤±¤ë»þ¤Î½èÍý
            box.OpenTresureBox();

            //¥¢¥¯¥·¥ç¥ó¥Á¥§¥Ã¥¯bool¤òtrue
            //isActionCheck = true;
            isSaveOn = true;
        }

        // NPC¤ÈÀÜ¿¨¤·¤¿¾ì¹ç
        else if (hit.collider.TryGetComponent(out NonPlayerCharacter npc) == true) {
¡¡¡¡¡¡¡¡¡¡¡¡// NPC¤Î¸þ¤­¤òÊѹ¹¤¹¤ë
            npc.LookDirection(GetFaceNPC(facePlayer));

            //NPC¥·¥Ê¥ê¥ª¤ÎºîÀ®
            yield return StartCoroutine(AdvEngineController.instance.JumpScenarioAsync(npc.npcData.npcScenario, null));

            //¥¢¥¯¥·¥ç¥ó¥Á¥§¥Ã¥¯bool¤òtrue
¡¡¡¡¡¡¡¡¡¡¡¡isActionCheck = true;
        }

¡¡³Æ¥¯¥é¥¹¤´¤È¤Ë if ʸ¤Ë¤è¤ëʬ´ô¤òºîÀ®¤·¡¢³ºÅö¤¹¤ë¥¯¥é¥¹¤Ç½èÍý¤òʬ¤±¤Æ¤¤¤Þ¤¹¡£

¡¡¤³¤Î¼êË¡¤Ï¥¿¥°¤âƱÍͤǤ¹¤¬¡¢¥¯¥é¥¹¤¬Áý¸º¤¹¤ë¤¿¤Ó¥½¡¼¥¹¥³¡¼¥É¤Î½¤Àµ¤ò¹Ô¤¦É¬Íפ¬¤¢¤ê¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢Êݼ餬¤·¤Ë¤¯¤¯¡¢½èÍý¤¬¤É¤ó¤É¤ó¤ÈÈîÂç²½¤·¤Æ¤¤¤¯¶²¤ì¤â¤¢¤ê¤Þ¤¹¡£



¡ãº£²ó¤Î½èÍý¡ä
        // ¥¤¥Ù¥ó¥ÈȯÀ¸
        yield return StartCoroutine(PlayActionCoroutine(hitObj));

¡¡¤¿¤Ã¤¿¤Î£±¹Ô¤Ç¤¹¡£
½èÍý¤ÎÃê¾Ý²½¤ò¹Ô¤¦¤³¤È¤Ë¤è¤ê¡¢Ê¬´ô¤ÎɬÍפ¬¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¥¤¥Ù¥ó¥È¤Î¼ïÎबÁý¸º¤·¤Æ¤â¡¢¥½¡¼¥¹¥³¡¼¥É¼«ÂΤν¤Àµ¤Ï°ìÀÚȯÀ¸¤·¤Ê¤¤À߷פ¬¼Â¸½¤Ç¤­¤Þ¤¹¡£



¡¡¤â¤¦£±¤Ä¤Ïʬ´ôÆâ¤Ç¼Â¹Ô¤µ¤ì¤Æ¤¤¤¿³Æ¥¤¥Ù¥ó¥È¤Î½èÍý¤Ç¤¹¡£

¡¡¤³¤Á¤é¤â¼Â¹Ô¤µ¤»¤ë¤¿¤á¤Î½èÍý¤Ï£±¹Ô¤Ç¤¹¡£

    /// <summary>
    /// ¥³¥ë¡¼¥Á¥ó¤Ë¤è¤ëÈóƱ´ü
    /// </summary>
    /// <returns></returns>
    public IEnumerator ExecuteGameEventsCoroutine() {

        yield return StartCoroutine(gameEvent.ExecuteEventCoroutine());  // ¡¡¢«¡¡¤³¤³
            
¡¡¡¡¡¡¡¡Debug.Log("¥¤¥Ù¥ó¥È ½ªÎ»");
    }

¡¡³Æ¥¤¥Ù¥ó¥ÈÍѤΥ¯¥é¥¹(²ñÏÃ¥¤¥Ù¥ó¥È¡¢ÊõÈ¢¡¢¸æ¼ë°õ¤Ê¤É)Æâ¤Ç ExecuteEventCoroutine ¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¡¢¤½¤ÎÃæ¤Ç³Æ¥¤¥Ù¥ó¥È¤Î½èÍý¤òµ­½Ò¤·¤Æ¤¤¤Þ¤¹¡£
¤½¤Î¤¿¤á¡¢¤³¤Î°ìÏ¢¤Î½èÍý¤Îή¤ì¤Ë¤ª¤¤¤Æ¤Ï¡¢³Æ¥¤¥Ù¥ó¥È¤ÎÃæ¿È¤Ï°ìÀÚ´Ø·¸¤Ê¤¯¡¢½èÍý¤ò¼Â¹Ô¤¹¤ë¡¢¤È¤¤¤¦¤³¤È¤À¤±¤Ç½èÍý¤¬À®Î©¤¹¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
¡¡
¡¡¼Â¹Ô¤µ¤ì¤ë¥á¥½¥Ã¥É¦¤Î½èÍý¤âÃê¾Ý²½¤·¤Æ¤¢¤ë¤¿¤á¡¢³Æ¥¯¥é¥¹¤Ë¤¢¤ë¥á¥½¥Ã¥É¤¬¤½¤ì¤¾¤ì°Û¤Ê¤ë¿¶¤ëÉñ¤¤¤ò¹Ô¤¦¤¿¤á¡¢
¼Â¹Ô¦¤Ï¥¯¥é¥¹¤òµ¤¤Ë¤¹¤ë¤³¤È¤Ê¤¯¡¢¼Â¹Ô¤¹¤ë½èÍý¤Ï£±¤Ä¤Ë½¸Ì󤹤뤳¤È¤¬½ÐÍè¤Þ¤¹¡£

¡¡¸½ºß¤Î¤è¤¦¤Ëʬ´ô¤òºî¤ê¡¢¤½¤ÎÃæ¤Ë½èÍý¤ò½ñ¤¯¡¢¤È¤¤¤¦½èÍý¤Î¹½À®¤Ç¤Ï¤Ê¤¯¡¢
½èÍý¼«ÂΤϣ±¤Ä¥á¥½¥Ã¥É¤ò¶¦Ä̤Ǽ¹Ԥ·¡¢¤½¤Î¼Â¹Ô¤µ¤ì¤¿¥á¥½¥Ã¥ÉÆâ¤Ç³Æ¥¤¥Ù¥ó¥È¤¬¤½¤ì¤¾¤ì¤Î½èÍý¤ò¼Â¹Ô¤¹¤ë¡¢¤È¤¤¤¦·Á¤ÇÀÕ̳¤òʬô¤·¤Æ¤¤¤Þ¤¹¡£

¡¡Î㤨¤Ð¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤Î½èÍý¤Ï¡¢¸ÄÊ̤Υ¯¥é¥¹¤òºîÀ®¤·¡¢¤½¤ÎÃæ¤Ë¤Ï¼¡¤Î¤è¤¦¤Ê½èÍý¤¬»Ü¤µ¤ì¤Æ¤¤¤Þ¤¹¡£

  protected override IEnumerator ExecuteEventCoroutine() {

      string npcScenario = GetComponent<NonPlayerCharacter>().npcData.npcScenario;
        
      // NPC¥·¥Ê¥ê¥ª¤ÎºîÀ®
      yield return StartCoroutine(AdvEngineController.instance.JumpScenarioAsync(npcScenario, null));
  }

¡¡¤¤¤Þ¤Þ¤Ç NPC ÍѤÎʬ´ôÆâ¤Ë½ñ¤«¤ì¤Æ¤¿½èÍý¤Ç¤¹¡£
¤³¤ì¤ò°ìÏ¢¤Î½èÍýÆâ¤Ë½ñ¤¯¤Î¤Ç¤Ï¤Ê¤¯¡¢¸ÄÊ̤Υ¯¥é¥¹¤ËÍÑ°Õ¤·¤¿ ExecuteEventCoroutine ¥á¥½¥Ã¥ÉÆâ¤Ë°ÜÆ°¤·¤Æ½èÍý¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¤½¤·¤Æ¥¢¥¤¥Æ¥à¤Î¼èÆÀ¤Î½èÍý¤â¡¢¸ÄÊ̤Υ¯¥é¥¹¤òºîÀ®¤·¥á¥½¥Ã¥É¤ÎÆâÍƤϤ³¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡£

  public override IEnumerator ExecuteEventCoroutine() {

      // ¤¹¤Ç¤Ë½ê»ý¤·¤Æ¤¤¤ë¥¢¥¤¥Æ¥à¤Î¾ì¹ç¡¢¥»¡¼¥Ö½èÍý¤Ï¤»¤º¡¢³ÍÆÀ½èÍý¤â¤·¤Ê¤¤
      if (GameData.instance.itemInventryDatasList.Exists(x => x.itemName == itemName)) {
          yield break;
      }
        
      // º£²ó½ªÎ»¤·¤¿²ñÏÃ¥¤¥Ù¥ó¥È¸å¤Ëɳ¤Å¤¤¤¿¥¤¥Ù¥ó¥È¤¬¤¢¤ë¤«³Îǧ
      if (AdvEngineController.instance.AdvEngine.Param.GetParameterBoolean(utageParamBoolName.ToString())) {
          GameData.instance.AddItemInventryData(itemName);
      }
  }

¡¡¤É¤Á¤é¤Î¥¯¥é¥¹¤Ë¤âƱ¤¸ExecuteEventCoroutine ¥á¥½¥Ã¥É¤¬¤¢¤ê¤Þ¤¹¡£
°Û¤Ê¤ë¥¯¥é¥¹¤Ç¤¢¤ë¤â¤Î¤Î¥á¥½¥Ã¥É¤Î̾Á°¤À¤±¤ÏƱ¤¸¤Ç¡¢¤Ç¤â½ñ¤¤¤Æ¤¢¤ë½èÍý¤¬¤½¤ì¤¾¤ì°Û¤Ê¤Ã¤Æ¤¤¤ë¤³¤È¤¬¤ª¤ï¤«¤ê¤¤¤¿¤À¤±¤ë¤«¤È»×¤¤¤Þ¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ë¤·¤Æ¡¢Æ±¤¸¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¤Æ¤¤¤ë¤Ë¤â¤«¤«¤é¤º¡¢¼ÂºÝ¤Î½èÍý¤¬ÊѲ½¤·¤Æ¤¤¤¯¤³¤È¤ò¥á¥½¥Ã¥É¤Î¿¶¤ëÉñ¤¤¤òÊѤ¨¤ë¤È¤¤¤¤¤Þ¤¹¡£
¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ·¿¥×¥í¥°¥é¥à¤Ë¤ª¤±¤ë¡Ö¿ÂÖÀ­(¤¿¤¿¤¤¤»¤¤:¥Ý¥ê¥â¡¼¥Õ¥£¥º¥à)¡×¤Î³µÇ°¤òÂ轤¹¤ëµ¡Ç½¤È¤Ê¤ê¤Þ¤¹¡£


¥¤¥á¡¼¥¸¤Îºî¤êÊý


¡¡¥Õ¥¡¥ß¥³¥ó¤ä¡¢CD¥×¥ì¥¤¥ä¡¼¤È¤¤¤Ã¤¿¥¬¥¸¥§¥Ã¥È¤ò»×¤¤É⤫¤Ù¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¤³¤ì¤é¤ÏºÆÀ¸¤¹¤ë¤¿¤á¤ÎËÜÂΤȥ½¥Õ¥È(CD)¤Ëʬ¤«¤ì¤Æ¤¤¤ë¤È»×¤¤¤Þ¤¹¡£¤½¤ì¤æ¤¨¤ËÈÆÍÑÀ­¤È³ÈÄ¥À­¤¬¤¢¤ê¤Þ¤¹¡£

¡¡¤¤¤Þ¤Þ¤Ç¤Î½èÍý¤Ï¡¢¤³¤ì¤é£²¤Ä¤ò°ì½ï¤Ë£±¤Ä¤Î¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Ë½ñ¤¤¤Æ¤¤¤ë·Á¼°¤Ç¤¹¡£

¡¡¥Õ¥¡¥ß¥³¥ó¤ÇÎ㤨¤ë¤Ê¤é¡¢ÅŸ»¤òÆþ¤ì¤Æ¥²¡¼¥à¤¬Æ°¤¤¤ÆÅŸ»¤òÍî¤È¤¹¤Þ¤Ç¤Î½èÍý¤¬½ñ¤¤¤Æ¤¢¤ë¤À¤±¤Ç¤Ï¤Ê¤¯¡¢
¤É¤ó¤Ê¥²¡¼¥à¤¬Æ°¤¯¤«¤â¤¢¤é¤«¤¸¤áʬ´ô¤ÎÉôʬ¤Ë¤è¤Ã¤Æ·è¤á¤é¤ì¤Æ¤·¤Þ¤Ã¤Æ¤¤¤ë¾õÂ֤Ǥ¹¡£

¡¡¤Ä¤Þ¤ê¡¢Í·¤Ù¤ë¥²¡¼¥à¤¬·è¤Þ¤Ã¤Æ¤¤¤ë¥Õ¥¡¥ß¥³¥ó¤Îµ¡Ç½¤ò¤Þ¤È¤á¤Æºî¤Ã¤Æ¤¤¤¿¥¤¥á¡¼¥¸¤Ç¤¹¡£
¤³¤ì¤Ç¤Ï¥Õ¥¡¥ß¥³¥óËÜÍè¤Î¡Ö¥½¥Õ¥È¤ò»Ø¤»¤Ð¡¢¤½¤Î¥½¥Õ¥È¤¬Æ°¤¯¡×¤È¤¤¤¦µ¡Ç½¤È¤Ï°Û¤Ê¤ê¤Þ¤¹¡£



¡¡º£²ó¤Ï¤³¤³¤ò¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤·¤Æ¤¤¤Þ¤¹¡£

¡¡¥Õ¥¡¥ß¥³¥ó¤Ç¤Ï¡¢ÅŸ»¤òÆþ¤ì¤ì¤Ð¥²¡¼¥à¤¬Æ°¤¯¤È¤¤¤¦Éôʬ¤Ï¶¦Ä̤Ǥ¹¤¬¡¢Í·¤Ù¤ëÆâÍƤϥ½¥Õ¥È¤Ë¤è¤Ã¤Æ°ã¤¦¤Ï¤º¤Ç¤¹¡£
¤½¤ì¤ò¥×¥í¥°¥é¥à¤Çɽ¸½¤¹¤ë¤¿¤á¤Ëʬ´ô¤òºî¤Ã¤Æ¡¢¤É¤ì¤¬Æ°¤¯¤Î¤«¤òµ­ºÜ¤·¤Æ¤¤¤Þ¤·¤¿¡£
¤¿¤À¤·¤³¤Î¤Þ¤Þ¤Ç¤ÏÍ·¤Ù¤ë¥½¥Õ¥È¤Ï·è¤Þ¤Ã¤Æ¤¤¤Þ¤¹¤·¡¢¥½¥Õ¥È¤òÁý¸º¤¹¤ë¤¿¤Ó¤Ë½èÍý¤Î½¤Àµ¤¬É¬Íפˤʤê¤Þ¤¹¡£ºÇ½é¤ËÄ󵯤·¤¿ÌäÂêÅÀ¤ÎÉôʬ¤Ç¤¹¡£
¤Þ¤¿¡¢¥Õ¥¡¥ß¥³¥ó¼«ÂΤϤɤó¤Ê¥½¥Õ¥È¤òµ¯Æ°¤·¤Æ¤¤¤ë¤Î¤«¤ÏÃΤê¤Þ¤»¤ó¡£»É¤µ¤Ã¤Æ¤¤¤ë¤«¤éµ¯Æ°¤·¤Æ¤¤¤ë¤Ë²á¤®¤Ê¤¤¤Î¤Ç¤¹¡£

¡¡º£²ó¤Î¼ÂÁõ¤Ï¤Þ¤µ¤Ë¡ÖÅŸ»¤òÆþ¤ì¤¿¤é¡×¢Í¡Ö»É¤µ¤Ã¤Æ¤¤¤ë¥½¥Õ¥È¤¬¼«Æ°Åª¤ËÆ°¤¯¡×¤è¤¦¤Ë¤¹¤ë¤¿¤á¤Î½èÍý¤Ç¤¹¡£
¥Õ¥¡¥ß¥³¥ó¼«ÂΤϡ¢¥½¥Õ¥È¤¬²¿¤Ç¤¢¤ë¤«¤òÃΤäƤ¤¤ëɬÍפϤʤ¯¡¢¤½¤ì¤¬¥Õ¥¡¥ß¥³¥ó¤Î¥½¥Õ¥È¤Ç¤¢¤ë¤«¤É¤¦¤«¤À¤±Ê¬¤«¤ì¤Ð¤¤¤¤¤Î¤Ç¤¹¡£

¡¡ºîÀ®¤·¤¿­¡¡Á­¤¤Î°ìÏ¢¤Î½èÍý¤ÎÃæ¤Ë¤Ï¡Ö¥½¥Õ¥È¦¤Î½èÍý¡×¤Ï½ñ¤¤¤Æ¤¤¤Þ¤»¤ó¡£Æä˭£¤È­¤¤òÀ§Èó¸«Ä¾¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
¥Õ¥¡¥ß¥³¥ó¤À¤±¤¢¤ì¤Ð¡¢¤¢¤È¤Ï¥½¥Õ¥È¤òÇ㤨¤Ð¥²¡¼¥à¤¬Í·¤Ù¤Þ¤·¤¿¡£¤½¤Î»ÅÁȤߤòºî¤Ã¤Æ¤¤¤ë¤Î¤¬­£¡Á­¤¤Î½èÍý¤Ç¤¹¡£

¡¡¤³¤³¤Ç¤Ï¡¢ÅŸ»¤òÆþ¤ì¤¿¤é¡¢¼«Æ°Åª¤Ë¥½¥Õ¥È¤òÆɤ߹þ¤à¡¢¤È¤¤¤¦µ¡Ç½¤À¤±¤òºî¤Ã¤Æ¤¤¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£
¥Õ¥¡¥ß¥³¥óËÜÂΤÎÌò³ä¤ËÁêÅö¤¹¤ëµ¡Ç½¤òºî¤Ã¤Æ¤¤¤ë¥¤¥á¡¼¥¸¤Ç¤¹¡£

¡¡¤³¤Î¤è¤¦¤Ê»ÅÁȤߤˤ·¤Æ¤ª¤±¤Ð¡¢½èÍý¤ò½¤Àµ¤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤»¤ó¡£
¤Ä¤Þ¤ê¡¢ËÜÂΤò´°À®¤µ¤»¤Æ¤¤¤ë¤Î¤Çľ¤¹¾ì½ê¤Ï¤Ê¤¤¾õÂ֤ˤ·¤Æ¤¤¤Þ¤¹¡£

¡¡¤½¤·¤Æ¥½¥Õ¥È¦(²ñÏÃ¥¤¥Ù¥ó¥È¡¢ÊõÈ¢¥¤¥Ù¥ó¥È¤Ê¤É)¤Ï¡¢¤³¤Î­¡¡Á­¤¤Î°ìÏ¢¤Î½èÍý¤Ë¤Ï´Þ¤Þ¤º¡¢³Æ¥¯¥é¥¹Â¦¤Ëµ­ºÜ¤¹¤ë»ÅÁȤߤˤ·¤Æ¤¤¤Þ¤¹¡£
¤Ä¤Þ¤ê¡¢¿·¤·¤¤¥¤¥Ù¥ó¥È½èÍý¤òºî¤ë¤¿¤á¤Ë¤Ï¡¢¿·¤·¤¤¥¯¥é¥¹¤òºîÀ®¤¹¤ì¤Ð(¿·¤·¤¤¥½¥Õ¥È¤òÇ㤨¤Ð)¡¢
¤¢¤È¤Ï¡¢¥Õ¥¡¥ß¥³¥ó¦¤Î½èÍý(­£¤È­¤)¤¬¥¤¥Ù¥ó¥È½èÍý¤ò¼«Æ°Åª¤ËÆɤ߹þ¤ó¤Ç¤¯¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¡¡»É¤µ¤Ã¤Æ¤¤¤ë³Æ¥½¥Õ¥È¤ò¼Â¹Ô¤¹¤ëÉôʬ¤¬­¤¤Î ExecuteEventCoroutine ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤¹¤ëÉôʬ¤Ç¤¹¡£
¤½¤¦¤¹¤ë¤³¤È¤Ç¡¢Î㤨¤Ð²ñÏÃ¥¤¥Ù¥ó¥È¤Ç¤¢¤ì¤Ð ExecuteEventCoroutine ¥á¥½¥Ã¥ÉÆâ¤Ë²ñÏÃ¥¤¥Ù¥ó¥È¤Î½èÍý¤¬¤¢¤ë¤Î¤Ç¡¢²ñÏÃ¥¤¥Ù¥ó¥È¤¬È¯À¸¤·¤Þ¤¹¡£
¶¦Ä̤ΠExecuteEventCoroutine ¥á¥½¥Ã¥É¤ò¼Â¹Ô¤·¡¢¿¶¤ëÉñ¤¤¤òÊѤ¨¤ëÉôʬ¡á»É¤µ¤Ã¤Æ¤¤¤ë¥½¥Õ¥È¤òΩ¤Á¾å¤²¤Æ³Æ¥²¡¼¥à¤òÍ·¤ÖÉôʬ¤ËÁêÅö¤·¤Þ¤¹¡£


¥Õ¥¡¥ß¥³¥ó¤ò»È¤Ã¤¿¥¤¥á¡¼¥¸¿Þ



¡¡¤³¤Î¹Í¤¨Êý¤Ë¤ª¤¤¤Æ¡¢¥×¥í¥°¥é¥à¤Ç¤ÏÃê¾Ý²½¤È¤¤¤¦ÊýË¡¤ò»È¤¦¤³¤È¤ÇºÆ¸½¤ò¤¹¤ë¤³¤È¤¬½ÐÍè¤Þ¤¹¡£



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

¡¡¤½¤ì¤Ç¤Ï¼ÂºÝ¤Ë½èÍý¤Î¥ê¥Õ¥¡¥¯¥¿¥ê¥ó¥°¤ò¹Ô¤¤¤Ê¤¬¤é¡¢¸½ºß¤Î½èÍý¤òÃê¾Ý²½¤·¤Æ¤¤¤­¤Þ¤¹¡£

¡¡¼¡¤Î¼ê½ç¤Ï¡¡½èÍý¤ÎÃê¾Ý²½¤Ë¤è¤ë¼ÂÁõÎã­¢¡¡¤Ç¤¹¡£

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


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

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

Menu



´ðÁÃ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

private



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

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