Beispiel #1
0
 /* コンストラクタ */
 public CreateCharacterTask(ARContentManager newArContentManager, ARRaycastManager newArRaycast, CharacterManager newCharaManager)
 {
     arContentManager = newArContentManager;
     arRaycast        = newArRaycast;
     charaManager     = newCharaManager;
     startTime        = Time.timeSinceLevelLoad;
 }
Beispiel #2
0
    /* コンストラクタ */
    public CharacterWaitTask(ARContentManager newARContentManager, ARRaycastManager newArRaycast, CharacterManager newCharaManager)
    {
        arContentManager = newARContentManager;
        arRaycast        = newArRaycast;
        charaManager     = newCharaManager;

        // 離れた位置に生成した場合は近寄る
        Vector3 distance = charaManager.GetCharacterPose().position - arContentManager.camPosition.position;

        distance.y = 0;
        if (distance.magnitude > farDistance)
        {
            Vector3 camToCharacter = charaManager.GetCharacterPose().position - arContentManager.camPosition.position;
            goalPosition   = camToCharacter.normalized * nearDistance + arContentManager.camPosition.position;
            goalPosition.y = charaManager.GetCharacterPose().position.y;   // 高さはスタート地点と同じとする
            charaManager.WalkStart(goalPosition);
        }
    }