/// <summary> /// obj 에게 카메라 이동 /// </summary> /// <param name="obj">타겟</param> /// <param name="_camAngle">적용할 앵글</param> public void CamMoveTo(Transform obj, CamAngle _camAngle) { // 사용 중단 if (false) { // 메인 시점 움직임 가능처리 if (obj == controller.cam) { controller.isFreeMode = true; } // 그 외 시점 움직임 불가능 처리 else { controller.isFreeMode = false; } // 버튼, 자유모드 싱크 LockBtn.isOn = !(controller.isFreeMode); } // 카메라 목표 저장 camPoint = new CamPoint(obj, _camAngle); // 이동 적용 if (LockBtn.isOn) { // 계층구조 변경 Camera.main.transform.SetParent(obj); // 이동 명령 CamMove(_camAngle); } }
public Transform GetCamPoint(WorkManager.TaskType taskType) { CamPoint currentCamPoint = cameraHooks.Find(x => x.taskType == taskType); if (currentCamPoint == null) { Debug.LogError("Teleport point " + taskType + " does not exist!"); } return(currentCamPoint.transform); }
/// <summary> /// 카메라 자유 모드 진입 /// </summary> public void CamFree() { // 목표 앵글 백업 CamPoint camPointTemp = camPoint; // 좌표 싱크 controller.cam.position = Camera.main.transform.parent.position; // 카메라 탈착 Camera.main.transform.SetParent(controller.cam); // 앵글 전환 CamMoveTo(controller.cam, CamAngle.Top); // 목표 백업 가져오기 camPoint = camPointTemp; }
public void CamToPlayer(Transform obj) { Debug.LogWarning(obj.GetComponent <PlayerInfoUI>().owner.avatar.transform.name); Debug.LogWarning(obj.GetComponent <PlayerInfoUI>().owner.avatar.transform.position); // 자유 모드 아닐경우 중단 if (!controller.isFreeMode) { return; } // 목표 앵글 백업 CamPoint camPointTemp = camPoint; // 좌표 싱크 controller.cam.position = obj.GetComponent <PlayerInfoUI>().owner.avatar.transform.position; Debug.LogWarning(controller.cam.position); // 앵글 전환 CamMoveTo(controller.cam, CamAngle.Top); // 목표 백업 가져오기 camPoint = camPointTemp; }
public void CamMoveTo(CamPoint _camPoint) { CamMoveTo(_camPoint.focus, _camPoint.camAngle); }