2013-02-25 3 views
2

저는 CMAttitude에서 피치와 롤을 사용하여 iPhone 게임의 한 지점의 위치를 ​​제어합니다. I는 레벨을 시작하면, I는 기준 자세를 등록하고, 게임 중에 I가 기준에 관한 현재의 자세를 얻을자이로 스코프 CMAttitude 설정 사용자 정의 참조 프레임

[attitude multiplyByInverseOfAttitude:attitudeRef] 

를 사용하고 (피치 속성) 점의 수평 위치 및 수직 제어 위치 (롤 속성 포함).

문제는 참조 태도 attitudeRef의 롤 구성 요소 만 사용자 지정 값으로 다시 설정하는 기능을 추가하고 싶습니다. CMAttitude 오일러 각도는 읽기 전용 속성이며 사용자 정의 롤 및 피치가있는 사용자 지정 CMAttitude 객체를 만들 수는 없습니다.

어떻게하면됩니까?

답변

0

불행히도이를 달성하기위한 쉬운 방법은 없습니다. 귀하가 진술 한 바와 같이 CMAttitude은 그것을 조작하거나 인스턴스를 생성하는 기능을 제공하지 않습니다. 그건 자네가 곱셈을해야한다고 했어. 또한 CMQuaternion은 구조체이기 때문에 쿼터니언을위한 추가 클래스가 필요합니다.

좋은 소식은 이미 필요한 모든 코드가 이미 cocoamath 프로젝트에서 사용 가능하다는 것입니다. How multiplyByInverseOfAttitude (CMAttitude Class) is implemented?에서 몇 가지 안내와 쿼터니언 수학의 기본 사항에 대한 자세한 내용을 살펴보십시오.

+0

감사합니다. 그러면 쿼터니언 접근 방식을 시도해 보겠습니다. – user1347271