2016-08-21 1 views
2

관성 센서로 언리얼 엔진에 데이터 스트리밍 중입니다. 내가 사용, C++로, 배우이 적용하고언리얼 엔진의 쿼터니온 회전 짐벌 문제

X = 6561.00000 
Y = 6691.00000 
Z = 2118.00000 
W = 2078.00000 

:

this->SetActorRelativeRotation(rotsQ); 

을 그리고 그것은 나에게 이상한 짐벌 문제를 제공 그것은 형식으로 표준화되어 있지 않은 사원 수 데이터를 출력합니다.

피치를 90도 회전하면 Pitch로 회전합니다.

저는 Yaw에서 90도 회전합니다.

피치를 90도 회전하면 롤 단위로 회전합니다.

나는 이것을 회전기로 변환하고 축을 뒤집어보고 축을 한 번에 하나씩 적용하고 회전 순서를 전환 해 보았습니다. 나는 각 틱마다 0,0,0으로 설정 한 다음 회전 값을 추가하려고했습니다. 내가하는 일과 상관없이 나는 똑같은 것을 본다. 어떤 도움이라도 대단히 감사 할 것입니다!

손 상 문제 일 수 있습니까? 내가 여기서 뭘 할 수 있을까?

답변

0

센서의 입력 데이터에 회전 변경 또는 절대 값이 표시되는지는 확실하지 않습니다. 절대 값이면 SetActorRelativeRotation 대신 SetActorRotation을 사용해보십시오.

입력 데이터가 델타 교체를 나타내는 경우 AddActorLocalRotation 또는 AddActorWorldRotation을 시도하십시오.

+0

답장을 보내 주셔서 감사합니다. 값은 절대 회전입니다. 나는 setActorRotation을 사용해 보았고 정확히 같은 결과를 보았다. 나는 쿼터니언을 사용하는 것이이 문제를 해결해야한다는 것을 이해했다. 그러나 무엇이든지, 나는 그것을 제거 할 수 없다! – anti