Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags more
Archives
Today
Total
관리 메뉴

테드옹의 VFX

Houdini Orient 총정리 본문

Houdini

Houdini Orient 총정리

Tedd_Kim 2023. 10. 18. 16:37

[사전지식]

- 쿼터니언은 x,y,z 회전 정보를 4원수 복소수로 표기한 것 (S, T는 존재하지 않음)

- orient를 vector3로 구성하려면 N(z-axis), up(y-axis)가 필요

(*정확히는 저 두 정보를 이용해서 3차원 직교좌표 행렬을 만들고, 그것을 사원수로 변환하는 것)

matrix3 R = [Side.x   Up.x   N.x]

                    [Side.y   Up.y   N.y]

                    [Side.z   Up.z   N.z]

N과 up은 각각 z, y축이고 저 둘을 외적하면 Side축도 만들 수 있기 때문에 N과 up이 있으면 사원수를 만들 수 있다.

만약 N정보만 있어도 (0,1,0)벡터와 외적하여 Side벡터를 만들고, N과 Side를 외적하여 up벡터를 만들 수도 있다.

 

[N에서 Orient로, Orient에서 N으로]

1. p@orient = quaternion(maketransform(@N, @up))

 

2-1. 현재 가진 orient로 N과 up을 만드려면

@N = qrotate(p@orient, set(0,0,1))

@up = qrotate(p@orient, set(0,1,0))을 사용

 

2-2. orient로 matrix를 만드려면

3@transform = qconvert(p@orient)

4@fulltransform = qconvert(p@orient, v@P)

 

[쿼터니언 회전]

이후 quaterniontoeuler()함수를 이용해 Rx, Ry, Rz정보를 추출하면 World Transform에 사용할 수 있다.

혹은 slerp()함수를 이용해 회전을 선형보간 할 수도 있다

'Houdini' 카테고리의 다른 글

Hython Render Command  (0) 2024.02.23
Python Panel 정리  (0) 2023.11.27
Space Transformation  (1) 2023.10.05
Guide Deform Wrangle  (0) 2023.09.09
Houdini Vellum 정리  (1) 2023.08.17