SlideShare a Scribd company logo
1 of 15
GPG 2. Section 2. Mathmatics 2.5

      평행 수송 프레임
(Parallel Transport Frame)
DevRookie Study, 2011. 10.22 박민근(알콜코더)
개요
• 위치가 이동할 때, 방향도 자연스럽게 변경 되어야 한다.
• 패스 카메라에서 카메라의 경로의 변화에 잘 들어 맞게, 카메라
 의 방향이 바뀌어야 한다.
• 이러한 안정적인 방향 전환에 도움이 될 수 있는것이 바로

 평행 수송 프레임 방법
주석
• 위치 정보 만을 가지고, 부드러운 방향 전환을 만들어 낼 때 사용
• 스플라인은 위치의 부드러운 보갂, 이것은 방향의 부드러운 보갂
• 패스 카메라, 궤적 이펙트, 미사일 방향등에서 자주 사용한다
  • 미사일은 이동 위치만 있을 뿐, 방향이 없다
  • 방향이 갑자기 급변하게 되면, 이상하게 보인다
Parallel Transport on a Torus - Houdini and Python
You can watch it here:
                                    http://vimeo.com/11706639
http://vimeo.com/11706639
                                    About this video:
                                    "A vector is parallel transported on a torus manifold.


원본 위치 <http://vimeo.com/11706639>   The little line vectors on each point represent the frame field.

                                    Not quite sure this is right because info on this is a little hard to find, but I think it is correct
                                    unless a mistake has found its way in."
활용
• 지오메트리의 생성에도 사용할 수 있다
 • 로프팅(lofting) : 2D 도형을 기반으로 3D 지오메트리를 생
   성한다
 • 2D 도형의 방향들이 곡선 경로를 제대로 따라가야, 매끄러
   운 3D 모델이 나온다
특징
• 매끄러운 결과를 얻을 수 있는 이유
  • 기존 프레임에 기반하여, 조금씩만 회전 시키기 때문
  • 대싞 임의의 한 프레임을 계산하기 위해서는 앞에서부터 순
   차적으로 전부 계산해 와야 한다.
  • (이에 비해 뒤의 다른 두방법은 특정 위치의 프레임을 바로
   계산할 수 있다)
기법
• 초기 프레임을 정하고, 곡선에 따라 옮기되, 각 단계마다 프레임
 을 곡선과 최대한 평행이 되도록 회전 시킨다
곡선 C
                             다음 프레임 F2의 위치는 t에서의 C값
t-1에서의 기존 프레임 F1             F2의 방향은 F1을 축 A에 대해서 각도 a 만큼 회전시키면 얻
t-1에서의 접선 T1 (t-1에서의 1차 도함   을 수 있다
수, 즉 C의 속도)                      A = T1 X T2
T에서의 접선 T2                       a = ArcCos((T1내적T2)/(|T1||T2|))
                                 접선들이 평행하다면 회전은 생략할 수 있다 (T1 X T2
                                 가 0이면)
주의 사항
• 움직이는 객체의 방향에 적용할 때
 • 방향 전환이 너무 안정적일 수도 있다
 • 비행기의 경우 동체를 전혀 기울이지 않고, 방향 전환이 되면
   이상하게 보인다.
[비교]프래넷 프레임
• 다음과 같은 세 개의 직교 축으로 만들어 짂다
 • 곡선의 접선
 • 접선과 2차 도함수의 내적
 • 이상의 두벡터들의 외적 벡터
[비교] 프래넷 프레임
        2차 도함수의 변화에 의해서,
        방향이 뒤집어 지는 경우가
        생긴다.
[비교]픽스드-업 방법
• 접선 T와 임의의 벡터 V(픽스드-업 벡터)를 통해서 프레임을 생
 성한다.
  • 방향 벡터 D = T / |T|
  • 우향 벡터 R = D X V / | D X V |
  • 상향 벡터 U = R X D
• [*주] 게임에서 특정 위치에서 방향 좌표계를 구할 때 가장 자주 쓰는 방식 –
 갂단하다
  • 궤적 이펙트, 미사일 방향등…
[비교]픽스드-업 방법
        급격한 방향 변환이
        있는 경우 끊어짂다

More Related Content

Viewers also liked

『게임 매니악스 액션 게임 알고리즘』 - 미리보기
『게임 매니악스 액션 게임 알고리즘』 - 미리보기『게임 매니악스 액션 게임 알고리즘』 - 미리보기
『게임 매니악스 액션 게임 알고리즘』 - 미리보기복연 이
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)MinGeun Park
 
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정진현 조
 
게임에서 사용할 수 있는 포물선 운동
게임에서 사용할 수 있는 포물선 운동게임에서 사용할 수 있는 포물선 운동
게임에서 사용할 수 있는 포물선 운동세민 이
 
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the StreamsCascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streamsmattpodwysocki
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기MinGeun Park
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기Jong Wook Kim
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개MinGeun Park
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현MinGeun Park
 

Viewers also liked (9)

『게임 매니악스 액션 게임 알고리즘』 - 미리보기
『게임 매니악스 액션 게임 알고리즘』 - 미리보기『게임 매니악스 액션 게임 알고리즘』 - 미리보기
『게임 매니악스 액션 게임 알고리즘』 - 미리보기
 
[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)[0821 박민근] 렌즈 플레어(lens flare)
[0821 박민근] 렌즈 플레어(lens flare)
 
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
 
게임에서 사용할 수 있는 포물선 운동
게임에서 사용할 수 있는 포물선 운동게임에서 사용할 수 있는 포물선 운동
게임에서 사용할 수 있는 포물선 운동
 
Cascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the StreamsCascadia.js: Don't Cross the Streams
Cascadia.js: Don't Cross the Streams
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
NDC14 - Rx와 Functional Reactive Programming으로 고성능 서버 만들기
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
 

Similar to [Gpg2권 박민근] 2.5 평행 수송 프레임

심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018devCAT Studio, NEXON
 
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)Sukwoo Lee
 
Graphics 14장 1인칭 카메라 만들기.pptx
Graphics 14장 1인칭 카메라 만들기.pptxGraphics 14장 1인칭 카메라 만들기.pptx
Graphics 14장 1인칭 카메라 만들기.pptxHolyTak
 
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018devCAT Studio, NEXON
 
Pose Graph based SLAM
Pose Graph based SLAMPose Graph based SLAM
Pose Graph based SLAMEdwardIm1
 

Similar to [Gpg2권 박민근] 2.5 평행 수송 프레임 (6)

심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
심예람, <프로젝트DH> AI 내비게이션 시스템, NDC2018
 
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
2017 12 09_데브루키_리얼타임 렌더링_입문편(3차원 그래픽스[저자 : 한정현] 참조)
 
Graphics 14장 1인칭 카메라 만들기.pptx
Graphics 14장 1인칭 카메라 만들기.pptxGraphics 14장 1인칭 카메라 만들기.pptx
Graphics 14장 1인칭 카메라 만들기.pptx
 
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
문석진, 프로젝트DH의 절차적 애니메이션 시스템 Ⅱ, NDC2018
 
Pose Graph based SLAM
Pose Graph based SLAMPose Graph based SLAM
Pose Graph based SLAM
 
정점 변환
정점 변환정점 변환
정점 변환
 

More from MinGeun Park

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdfMinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석MinGeun Park
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이MinGeun Park
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐MinGeun Park
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBRMinGeun Park
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OTMinGeun Park
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.MinGeun Park
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correctionMinGeun Park
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & TrickMinGeun Park
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)MinGeun Park
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법MinGeun Park
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 MinGeun Park
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기MinGeun Park
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술MinGeun Park
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기MinGeun Park
 

More from MinGeun Park (20)

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correction
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
 
[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법[RAPA/C++] 1. 수업 내용 및 진행 방법
[RAPA/C++] 1. 수업 내용 및 진행 방법
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
 

[Gpg2권 박민근] 2.5 평행 수송 프레임

  • 1. GPG 2. Section 2. Mathmatics 2.5 평행 수송 프레임 (Parallel Transport Frame) DevRookie Study, 2011. 10.22 박민근(알콜코더)
  • 2. 개요 • 위치가 이동할 때, 방향도 자연스럽게 변경 되어야 한다. • 패스 카메라에서 카메라의 경로의 변화에 잘 들어 맞게, 카메라 의 방향이 바뀌어야 한다. • 이러한 안정적인 방향 전환에 도움이 될 수 있는것이 바로 평행 수송 프레임 방법
  • 3. 주석 • 위치 정보 만을 가지고, 부드러운 방향 전환을 만들어 낼 때 사용 • 스플라인은 위치의 부드러운 보갂, 이것은 방향의 부드러운 보갂 • 패스 카메라, 궤적 이펙트, 미사일 방향등에서 자주 사용한다 • 미사일은 이동 위치만 있을 뿐, 방향이 없다 • 방향이 갑자기 급변하게 되면, 이상하게 보인다
  • 4.
  • 5.
  • 6. Parallel Transport on a Torus - Houdini and Python You can watch it here: http://vimeo.com/11706639 http://vimeo.com/11706639 About this video: "A vector is parallel transported on a torus manifold. 원본 위치 <http://vimeo.com/11706639> The little line vectors on each point represent the frame field. Not quite sure this is right because info on this is a little hard to find, but I think it is correct unless a mistake has found its way in."
  • 7. 활용 • 지오메트리의 생성에도 사용할 수 있다 • 로프팅(lofting) : 2D 도형을 기반으로 3D 지오메트리를 생 성한다 • 2D 도형의 방향들이 곡선 경로를 제대로 따라가야, 매끄러 운 3D 모델이 나온다
  • 8. 특징 • 매끄러운 결과를 얻을 수 있는 이유 • 기존 프레임에 기반하여, 조금씩만 회전 시키기 때문 • 대싞 임의의 한 프레임을 계산하기 위해서는 앞에서부터 순 차적으로 전부 계산해 와야 한다. • (이에 비해 뒤의 다른 두방법은 특정 위치의 프레임을 바로 계산할 수 있다)
  • 9. 기법 • 초기 프레임을 정하고, 곡선에 따라 옮기되, 각 단계마다 프레임 을 곡선과 최대한 평행이 되도록 회전 시킨다
  • 10. 곡선 C 다음 프레임 F2의 위치는 t에서의 C값 t-1에서의 기존 프레임 F1 F2의 방향은 F1을 축 A에 대해서 각도 a 만큼 회전시키면 얻 t-1에서의 접선 T1 (t-1에서의 1차 도함 을 수 있다 수, 즉 C의 속도) A = T1 X T2 T에서의 접선 T2 a = ArcCos((T1내적T2)/(|T1||T2|)) 접선들이 평행하다면 회전은 생략할 수 있다 (T1 X T2 가 0이면)
  • 11. 주의 사항 • 움직이는 객체의 방향에 적용할 때 • 방향 전환이 너무 안정적일 수도 있다 • 비행기의 경우 동체를 전혀 기울이지 않고, 방향 전환이 되면 이상하게 보인다.
  • 12. [비교]프래넷 프레임 • 다음과 같은 세 개의 직교 축으로 만들어 짂다 • 곡선의 접선 • 접선과 2차 도함수의 내적 • 이상의 두벡터들의 외적 벡터
  • 13. [비교] 프래넷 프레임 2차 도함수의 변화에 의해서, 방향이 뒤집어 지는 경우가 생긴다.
  • 14. [비교]픽스드-업 방법 • 접선 T와 임의의 벡터 V(픽스드-업 벡터)를 통해서 프레임을 생 성한다. • 방향 벡터 D = T / |T| • 우향 벡터 R = D X V / | D X V | • 상향 벡터 U = R X D • [*주] 게임에서 특정 위치에서 방향 좌표계를 구할 때 가장 자주 쓰는 방식 – 갂단하다 • 궤적 이펙트, 미사일 방향등…
  • 15. [비교]픽스드-업 방법 급격한 방향 변환이 있는 경우 끊어짂다