2013-08-19 4 views
2

나는 C#을 사용하여 Unity에서 클릭의 정확한 위치를 얻으려고 시도하고 있지만 어떻게 결정해야할지 모르겠습니다. 나는 raycast를 사용해 보았고 꽤 정확한 위치를 얻었지만, 단지 하나의 십진수로 반올림되었습니다. 저를 위해 너무 큰 실수입니다. 그렇다면 어떻게하면 정확한 위치를 얻을 수 있습니까? 다음과 같이정확한 클릭 위치를 찾는 방법은 무엇입니까?

내 코드는 다음과 같습니다

RaycastHit hit; 
Ray ray = Camera.main.ScreenPointToRay(holdPosition); 
if (Physics.Raycast (ray, out hit, Mathf.Infinity, 1<<15)) { 
    Debug.Log(hit.point); 
} 

그리고 (0.5, 1.3, -5.0)과 같은 결과를 얻을 수 있지만 최대 4 ~ 5 소수의 정밀도를 원한다.

답변

3

실제로보다 정확한 결과를 얻습니다. 콘솔의 값은 반올림됩니다. 실제 부동 소수점 값은 더 높은 정밀도를 갖습니다.

Debug.Log(hit.point.ToString("F4")); 

경우 "F4"standard numeric format string입니다 : 당신은 그게 뭔지보고 싶다면, 당신은 같은 형식 지정자를 사용할 수 있습니다. 그러면 정확한 값이 표시됩니다.

+0

감사합니다. 와우, 기분이 훨씬 나아 졌어! : D – gabrjan

+0

반갑습니다. 도움이 된 것을 기쁘게 생각합니다. :) 처음에는 약간 놀랍습니다. – Bart

1
Debug.Log(hit.point.x); 
Debug.Log(hit.point.y); 
Debug.Log(hit.point.z); 

더 정확한 값을 제공합니다.

관련 문제