Unity 3D에서 회전 된 좌표계와 관련하여 Quaternion을 계산하는 방법은 무엇입니까?

제프

Quaternion.Euler(x,y,z)예상대로 작동 하는 Quaternion으로 벡터를 회전하려고하는데 문제는 회전이 세계 좌표계를 기준으로 수행되는 반면 벡터 자체를 기준으로 회전하고 싶다는 것입니다.

그래서 저는 좌표계를

z = vector's direction,     
x = vector's perpendicular (any)  
y = world y.

그래서 내 코드는 다음과 같습니다.

myVector = euler * myVector;

그러나 나는 필요하다

myVector = localEuler * myVector;

그래서 계산해야합니다 localEuler(A)의 함수로 euler하고 myVector.

어떻게 할 수 있습니까?

도움을 주셔서 감사합니다!

나는 시도했다 :

localEuler = Quaternion.Euler(euler.x * myVector.x ,euler.y * myVector.y ,euler.z * myVector.z );

작동하지 않았습니다. 나는 이것이 내적이라고 생각한다.

추신

나는 이것이이 생각하는 코드에 내장 된 TransformS : Transform.RotateAround()하지만 나는 그것을 할 필요 Vector3하는 없습니다 Transform.

제프

내 문제를 해결했습니다.

내 해결책은 다음과 같습니다.

  • 사용 Quaternion.AxisAngle(angle : float , rotationAxis : Vector3);

예를 들어 "local"x를 중심으로 회전 rotationAxis하려면는 myVector의 수직이어야하며 다음과 같이 계산됩니다.

var rotationAxis : Vector3 = Quaternion.Euler(0,90,0) * myVector;
rotationAxis.y = 0;

새 쿼터니언은 다음과 같이 계산됩니다.

var localEuler:Quaternion = Quaternion.AngleAxis(euler.x , rotationAxis);

그러면 벡터가 올바르게 회전합니다.

myVector = localEuler * myVector;

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

회전 후 새 좌표를 계산하는 방법은 무엇입니까?

분류에서Dev

Vega-Lite에서 사전 계산 된 히스토그램을 작성하는 방법은 무엇입니까?

분류에서Dev

여러 테이블을 사용하여 좌표에서 계산 된 거리를 쿼리하는 방법은 무엇입니까?

분류에서Dev

SQLAlchemy에서 계산 된 열을 저장하는 방법은 무엇입니까?

분류에서Dev

요소 회전에 대한 transform translate (x, y) 보상을 계산하는 방법은 무엇입니까?

분류에서Dev

계산 된 쿼리 셋 값을 수정하는 방법은 무엇입니까? (다 대일 관계 반전)

분류에서Dev

두 개의 3D 벡터로 정의 된 회전에서 3x3 회전 행렬을 계산하는 효율적인 방법

분류에서Dev

3D 직사각형을 계산하는 방법은 Unity에서 전체 화면을 정확하게 커버합니까?

분류에서Dev

카메라 회전을 사용하여 Unity3d에서 리그 척추 회전을 변경하는 방법은 무엇입니까?

분류에서Dev

팬더와 적분을 사용하여 전력 값 이상으로 생성 된 에너지를 계산하는 방법은 무엇입니까?

분류에서Dev

여러 열의 발생 횟수를 계산하고 MySQL에서 계산 된 열을 계산하여 결과를 정렬하는 방법은 무엇입니까?

분류에서Dev

Unity 2D에서 사용자 계정 전환 옵션을 제거하는 방법은 무엇입니까?

분류에서Dev

Unity 2D에서 사용자 계정 전환 옵션을 제거하는 방법은 무엇입니까?

분류에서Dev

Unity 2D에서 사용자 계정 전환 옵션을 제거하는 방법은 무엇입니까?

분류에서Dev

Swift 3에서 이미 계산 된 UITextField 값을 무시하는 방법은 무엇입니까?

분류에서Dev

이전에 계산 된 합계를 새 입력에 추가하는 방법은 무엇입니까?

분류에서Dev

Laravel에서 중첩 된 관계 속성을 합산하는 방법은 무엇입니까?

분류에서Dev

R에서 조회 테이블과 수식을 사용하여 계산 된 열을 만드는 방법은 무엇입니까?

분류에서Dev

R에서 좌표 계산을 위해 for 루프를 벡터화하는 방법은 무엇입니까?

분류에서Dev

Vuex Store 및 계산 된 속성을 사용하여 구성 요소에 전달 된 개체 배열을 반복하는 방법은 무엇입니까?

분류에서Dev

계산 된 속성 vuejs에서 아무것도 변경되지 않은 경우 이전 값을 setter에 전달하는 방법은 무엇입니까?

분류에서Dev

뷰와 모델을 분리하면서 세계 좌표를 화면 좌표에 매핑하는 방법은 무엇입니까?

분류에서Dev

이전 EndTime을 가져와 새 행에서 계산하는 방법은 무엇입니까?

분류에서Dev

Unity 5에서 마우스 입력으로 회전을 제한하는 방법은 무엇입니까?

분류에서Dev

하위 범주를 포함하여 관련 행을 계산하는 방법은 무엇입니까?

분류에서Dev

이전 행을 계산하고 테이블의 현재 행에 표시하는 방법은 무엇입니까?

분류에서Dev

계산 된 산술을 목록에 추가하는 방법은 무엇입니까?

분류에서Dev

입력 필드에서 v-model 및 계산 된 속성을 사용하는 방법은 무엇입니까?

분류에서Dev

새 컴포지션 API에서 계산 된 속성을 입력하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    회전 후 새 좌표를 계산하는 방법은 무엇입니까?

  2. 2

    Vega-Lite에서 사전 계산 된 히스토그램을 작성하는 방법은 무엇입니까?

  3. 3

    여러 테이블을 사용하여 좌표에서 계산 된 거리를 쿼리하는 방법은 무엇입니까?

  4. 4

    SQLAlchemy에서 계산 된 열을 저장하는 방법은 무엇입니까?

  5. 5

    요소 회전에 대한 transform translate (x, y) 보상을 계산하는 방법은 무엇입니까?

  6. 6

    계산 된 쿼리 셋 값을 수정하는 방법은 무엇입니까? (다 대일 관계 반전)

  7. 7

    두 개의 3D 벡터로 정의 된 회전에서 3x3 회전 행렬을 계산하는 효율적인 방법

  8. 8

    3D 직사각형을 계산하는 방법은 Unity에서 전체 화면을 정확하게 커버합니까?

  9. 9

    카메라 회전을 사용하여 Unity3d에서 리그 척추 회전을 변경하는 방법은 무엇입니까?

  10. 10

    팬더와 적분을 사용하여 전력 값 이상으로 생성 된 에너지를 계산하는 방법은 무엇입니까?

  11. 11

    여러 열의 발생 횟수를 계산하고 MySQL에서 계산 된 열을 계산하여 결과를 정렬하는 방법은 무엇입니까?

  12. 12

    Unity 2D에서 사용자 계정 전환 옵션을 제거하는 방법은 무엇입니까?

  13. 13

    Unity 2D에서 사용자 계정 전환 옵션을 제거하는 방법은 무엇입니까?

  14. 14

    Unity 2D에서 사용자 계정 전환 옵션을 제거하는 방법은 무엇입니까?

  15. 15

    Swift 3에서 이미 계산 된 UITextField 값을 무시하는 방법은 무엇입니까?

  16. 16

    이전에 계산 된 합계를 새 입력에 추가하는 방법은 무엇입니까?

  17. 17

    Laravel에서 중첩 된 관계 속성을 합산하는 방법은 무엇입니까?

  18. 18

    R에서 조회 테이블과 수식을 사용하여 계산 된 열을 만드는 방법은 무엇입니까?

  19. 19

    R에서 좌표 계산을 위해 for 루프를 벡터화하는 방법은 무엇입니까?

  20. 20

    Vuex Store 및 계산 된 속성을 사용하여 구성 요소에 전달 된 개체 배열을 반복하는 방법은 무엇입니까?

  21. 21

    계산 된 속성 vuejs에서 아무것도 변경되지 않은 경우 이전 값을 setter에 전달하는 방법은 무엇입니까?

  22. 22

    뷰와 모델을 분리하면서 세계 좌표를 화면 좌표에 매핑하는 방법은 무엇입니까?

  23. 23

    이전 EndTime을 가져와 새 행에서 계산하는 방법은 무엇입니까?

  24. 24

    Unity 5에서 마우스 입력으로 회전을 제한하는 방법은 무엇입니까?

  25. 25

    하위 범주를 포함하여 관련 행을 계산하는 방법은 무엇입니까?

  26. 26

    이전 행을 계산하고 테이블의 현재 행에 표시하는 방법은 무엇입니까?

  27. 27

    계산 된 산술을 목록에 추가하는 방법은 무엇입니까?

  28. 28

    입력 필드에서 v-model 및 계산 된 속성을 사용하는 방법은 무엇입니까?

  29. 29

    새 컴포지션 API에서 계산 된 속성을 입력하는 방법은 무엇입니까?

뜨겁다태그

보관