2017-10-17 5 views
0

Hololens Lens Toolkit Master를 사용하고 있습니다. 렌즈 카메라의 SetParent를 설정하면 렌즈의 카메라 위치가 부모 위치와 동일하게됩니다.hololens set 부모 위치가 카메라 렌즈를 변경합니다.

예를 들어 A의 위치가 0, 0, 0이고 B의 위치가 0, 0, 4이면 A.SetParent(B.Transform)은 A의 위치를 ​​0, 0, -4로 만듭니다.

Unity Editor에서도 마찬가지입니다. 당신이 hololens에 구축하고 A.SetParent(B.Transform)을 실행하면

그러나, (A)의 위치는 내가 0, 0을 원하는

...이 일이 왜 아무 생각이

4. 0, 0이 될 것입니다 , -4 !!

SetParent(Transform parent) 

SetParent(Transform parent, bool worldPositionStays); 

첫 번째는 기본적으로 매개 변수 true를 사용

답변

0

더 높은 갈 수 없어, 장면 자체, 그래서 카메라가 다른 게임 오브젝트 내에하지 않는 부모는 카메라입니다. 또한 Hololens의 경우 카메라가 카메라와 관련하여 이동해야하는 안정적인 위치라는 것을 기억하십시오. 다른 방향으로는 움직이지 않아야합니다.

업데이트 : 그래서 hololens 응용 프로그램의 주 카메라는 1 인칭 슈팅 게임의 캐릭터 카메라와 비슷하지만 FPS에서는 세계를 움직이는 카메라와 응용 프로그램이 주 카메라를 제어하지 않습니다. 컨트롤러 나 키보드로 캐릭터를 제어 할 수 있습니다. 여기서 차이점은 주 카메라가 홀로 렌즈에 의해 제어된다는 것입니다. 0,0,0,0은 고정 된 메인 카메라 포인트이며 결코 변경되지 않습니다. 홀로 스캔 위치의 공간 매핑 루틴에 기반한 홀로 렌즈 업데이트 위치의 감지 카메라가 변경됩니다. 장치이므로 주 카메라 위치를 변경하면 예기치 않은 결과가 발생합니다. 관점을 바꾸고 싶다면 새 카메라를 만들고 새 카메라로 뷰를 전송하고 그 카메라를 옮기고 카메라를 원래 카메라로 되돌리려면 되돌릴 것을 권장합니다. 이 새 카메라는 기본 카메라의 하위 카메라가 될 수 없습니다. 한가지주의해야 할 점은 내가 이것을 한번도 시도한 적이 없으며 가능한 해결책으로 제안 되었기 때문에 그것이 효과가 있는지 없는지 나는 모른다.

+0

답장을 보내 주셔서 감사합니다. 저는 카메라를 어린이로하지 않았고, 더미를 만들었고, 더미를 자식으로두고, 더미를 카메라의 위치에 대한 참조로 사용했습니다. –

+0

그러나 나는 아직도 이해하지 못한다. 이것은 동일한 논리이지만 Asus Zhenphone AR 카메라에서는 정상적으로 작동하지만 hololens 카메라에서 제대로 작동하지 않는 이유는 무엇인지 모릅니다. –

+0

Hololens는 완전히 다른 동물입니다. 사용하는 동안의 시야가 가려져 있지 않기 때문에 카메라 작동 방식이 다릅니다. 그 본질적으로 동일한 대답은, 기본 카메라는 항상 0,0,0,0 자사의 세계가 아닌 카메라가 움직입니다.메인 카메라의 위치를 ​​바꾸기 시작하면, 사람의 시점의 위치가 실제로 바뀌고 있습니다. 공간의 고정 점이 될 것으로 예상되는데, 홀로 렌즈를 사용할 때 움직이지 않으려 고합니다. –

0

SetParent 기능에 대한 두 개의 오버로드가 있습니다. 두 번째 함수를 사용하고 false을 전달하면 부모를 설정할 때 객체가 위치 위치를 사용하게됩니다. 일반적으로 메인 카메라의 부모를 말하기

A.SetParent(B.Transform, false); 
+0

답변 해 주셔서 감사합니다. 그러나 나는 그랬지만 결과는 같았다. 부모와 동일한 위치로 변경되었습니다. –

+0

나는 hololens가 없기 때문에 슬픈이 문제를 복제 할 수 없습니다. 보통, SetParent 함수를 호출 한 후 위치 문제는 두 번째 매개 변수를 제공함으로써 해결됩니다. 어쩌면 누군가가 문제를 파악할 수있는 카메라 값의 스크린 샷으로 질문을 수정하십시오. – Programmer