/* コンストラクタ */ public CreateCharacterTask(ARContentManager newArContentManager, ARRaycastManager newArRaycast, CharacterManager newCharaManager) { arContentManager = newArContentManager; arRaycast = newArRaycast; charaManager = newCharaManager; startTime = Time.timeSinceLevelLoad; }
/* コンストラクタ */ 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); } }