/************************************************************ * ロボットの位置等の初期化 ************************************************************/ void RobotInit() { switch (init_state) { case 0: Main.NotActivateUI(); robot_alpha_default = ColorController.robot_alpha; ColorController.robot_alpha = 0.0f; ColorController.ChangeRobotColors(ColorController.safety_color); arrow3D.SetActive(false); init_state = 1; break; case 1: List <DetectedPlane> planes = new List <DetectedPlane>(); Session.GetTrackables <DetectedPlane>(planes, TrackableQueryFilter.All); foreach (DetectedPlane plane in planes) { if (plane.PlaneType == DetectedPlaneType.HorizontalUpwardFacing) { base_plane = plane; transform.position = plane.CenterPose.position; Vector3 camera_pos = Camera.main.transform.position; Vector3 robot_pos = transform.position; float rot2robot = Mathf.Atan2((robot_pos.x - camera_pos.x) * -1, robot_pos.z - camera_pos.z); rot2robot = rot2robot / Mathf.PI * 180.0f; Vector3 robot_euler = transform.eulerAngles; robot_euler.y -= rot2robot + 20.0f; transform.eulerAngles = robot_euler; ArrowChange(); ColorController.robot_alpha = robot_alpha_default; ColorController.ChangeRobotColors(ColorController.safety_color); Main.NormalMode(); arrow3D.SetActive(true); init_state = 2; break; } } break; } }