<fix> 위치 기록 API 재설정 및 위치 수정 시 반투명로봇 수정, 컨트롤러 Grab할당 버그 해결

This commit is contained in:
SOOBEEN HAN
2025-11-10 19:14:16 +09:00
parent 97d4916ff0
commit b5406395dc
23 changed files with 1162 additions and 92 deletions

View File

@@ -45,27 +45,27 @@ public class InteractionView : MonoBehaviour, IInteractionView
public bool isGrabbingRobot = false;
void Start()
{
nearFarInteractor = GetComponent<NearFarInteractor>();
//void Start()
//{
// nearFarInteractor = GetComponentInChildren<NearFarInteractor>();
if (nearFarInteractor == null)
{
Debug.LogError("InteractionView: 'nearFarInteractor'가 할당되지 않았습니다", this);
return;
}
// if (nearFarInteractor == null)
// {
// Debug.LogError("InteractionView: 'nearFarInteractor'가 할당되지 않았습니다", this);
// return;
// }
baseInteractor = nearFarInteractor as XRBaseInteractor;
rayProvider = nearFarInteractor as IXRRayProvider;
// baseInteractor = nearFarInteractor as XRBaseInteractor;
// rayProvider = nearFarInteractor as IXRRayProvider;
if (baseInteractor == null)
{
Debug.LogError("NearFarInteractor를 XRBaseInteractor로 변환할 수 없습니다.", this);
return;
}
// if (baseInteractor == null)
// {
// Debug.LogError("NearFarInteractor를 XRBaseInteractor로 변환할 수 없습니다.", this);
// return;
// }
InitializeInteraction();
}
// InitializeInteraction();
//}
void Update()
{
@@ -77,7 +77,7 @@ public class InteractionView : MonoBehaviour, IInteractionView
baseInteractor = nearFarInteractor as XRBaseInteractor;
rayProvider = nearFarInteractor as IXRRayProvider;
}
if (nearFarInteractor != null && nearFarInteractor.gameObject.activeInHierarchy)
if (nearFarInteractor != null)
{
InitializeInteraction();
}
@@ -106,7 +106,6 @@ public class InteractionView : MonoBehaviour, IInteractionView
StartDragMode();
}
}
}
}

View File

@@ -47,10 +47,10 @@ public class PointManagerView : MonoBehaviour, IPointManagerView
}
}
public void UpdatePointPosition(int index, RobotData pose)
public void UpdatePointPosition(int index, Vector3 pose)
{
if (index < 0 || index >= activePoints.Count) return;
activePoints[index].transform.position = ConvertRobotDataToVector3(pose);
activePoints[index].transform.position = pose;
}
public void DeletePoint(int index)

View File

@@ -54,6 +54,7 @@ public class PopupView : MonoBehaviour, IPopupView
{
confirmPopupPanel.transform.position = popPose.position;
confirmPopupPanel.transform.LookAt(Camera.main.transform);
confirmPopupPanel.transform.Rotate(0, 180, 0);
confirmPopupPanel.SetActive(true);
}
@@ -61,13 +62,15 @@ public class PopupView : MonoBehaviour, IPopupView
{
confirmPopupPanel.transform.position = popPose;
confirmPopupPanel.transform.LookAt(Camera.main.transform);
confirmPopupPanel.transform.Rotate(0, 180, 0);
confirmPopupPanel.SetActive(true);
}
public void ShowModifyPopup(Transform popPose)
public void ShowModifyPopup(Vector3 popPose)
{
modifyPopupPanel.transform.position = popPose.position;
modifyPopupPanel.transform.position = popPose;
modifyPopupPanel.transform.LookAt(Camera.main.transform);
modifyPopupPanel.transform.Rotate(0, 180, 0);
modifyPopupPanel.SetActive(true);
}
@@ -75,6 +78,7 @@ public class PopupView : MonoBehaviour, IPopupView
{
deletePopupPanel.transform.position = popPose;
deletePopupPanel.transform.LookAt(Camera.main.transform);
deletePopupPanel.transform.Rotate(0, 180, 0);
deletePopupPanel.SetActive(true);
}
@@ -82,6 +86,7 @@ public class PopupView : MonoBehaviour, IPopupView
{
optionPopupPanel.transform.position = popPose;
optionPopupPanel.transform.LookAt(Camera.main.transform);
optionPopupPanel.transform.Rotate(0, 180, 0);
optionPopupPanel.SetActive(true);
}