🎯

Ch.17 Interpolation-based Animation

course
last review
mastery
rookie
progress
not started
date
4 more properties
Previous chapter

Keyframing

μ‹œμž‘ν•˜λŠ” ν‚€ν”„λ ˆμž„κ³Ό κ·Έ λ‹€μŒ ν‚€ ν”„λ ˆμž„μ„ μ •ν•œ ν›„, μ€‘κ°„μ˜ λͺ¨μŠ΅μ„ μ‹œκ°„μ— λŒ€ν•΄μ„œ λ³΄κ°„ν•˜λŠ” 방식.
ν‚€ν”„λ ˆμž„μ€ 킀와 κ·Έ μ‚¬μ΄μ˜ in-between으둜 κ΅¬μ„±λœλ‹€.
β€’
λ°˜λ“œμ‹œ κ·Έ μœ„μΉ˜, λͺ¨μŠ΅μ΄ λ˜μ–΄μ•Ό ν•˜λŠ” 보간 λŒ€μƒ Key(보톡 μœ„μΉ˜μ™€ 각)
β€’
μˆ˜μ‹(Linear or Spline…)에 μ˜ν•΄ λͺ¨μŠ΅μ΄λ‚˜ μœ„μΉ˜κ°€ λ°”λ€” 수 μžˆλŠ” in-betweens
이런 μ‹μœΌλ‘œ λ³΄κ°„λ˜λŠ” μ‹œμŠ€ν…œμ„ Keyframe μ‹œμŠ€ν…œμ΄λΌκ³  ν•œλ‹€.
각각의 μˆœκ°„μ—μ„œμ˜ μœ„μΉ˜μ™€ 각도λ₯Ό μΆ”μ ν•΄μ„œ κ·Έ κ°λ„μ˜ 쀑간값을 μΆ”μ ν•˜κΈ° λ•Œλ¬Έμ— Track-based System이라고 ν•œλ‹€.
λͺ¨μ…˜μΊ‘쳐가 이와 같은 방식을 μ‚¬μš©ν•œλ‹€.
λ”°λΌμ„œ Keyframe은 νŠΉμ •ν•œ Key-valuesλ₯Ό νŠΉμ •ν•΄μ£ΌλŠ” 것이 μ€‘μš”ν•˜κ³ , κ·Έ 킀값을 λ³΄κ°„ν•΄μ„œ 쀑간값을 λ§Œλ“€μ–΄μ£ΌλŠ” 게 될 것이닀.
β€’
key-value둜 각각의 μˆœκ°„μ˜ μœ„μΉ˜λ₯Ό μ •ν•΄μ£Όκ³  이 μœ„μΉ˜κ°€ C1 Continuityλœλ‹€λ©΄ 속도 Contraints도 같이 μ„€μ •ν•  수 있게 λœλ‹€.
κ²°κ΅­ Keyframing은 각각의 keyframe에 λŒ€ν•΄μ„œ 쀑간값을 μ‹œκ°„μ— λŒ€ν•΄μ„œ λ³΄κ°„ν•˜λŠ” 것이 λœλ‹€.
keyframeμ—μ„œμ˜ μ–΄λ–€ μ‹œκ°„μ€
f(t)=I(k1…kn,t)P(u)=I???f(t) = I(k_1\dots k_n,t)\\P(u)=I???
Keyframeμ‹œμŠ€ν…œμ—μ„œ Rigidν•œ λ¬Όμ²΄λŠ” 잘 ν‘œν˜„ν•  수 μžˆλ‹€. ν•˜μ§€λ§Œ Splattingν•˜λŠ” 것 처럼 μœ„μΉ˜μ™€ λͺ¨μ–‘도 같이 λ°”κΏ”μ•Ό ν•œλ‹€λ©΄?
λ†€λžκ²Œλ„ ν‚€ν”„λ ˆμž„μœΌλ‘œ κ΅¬ν˜„ κ°€λŠ₯ν•˜λ‹€! μ‹œκ°„μ— λŒ€ν•΄μ„œ μœ„μΉ˜κ°€ μ•„λ‹Œ λͺ¨μ–‘을 λ°”κΏ”μ£Όλ©΄ λœλ‹€.
C1와 C2 μ‚¬μ΄μ˜ 컀브λ₯Ό μΌλ°˜ν•΄λ₯Ό 톡해 κ΅¬ν•˜λŠ” 것이 μ•„λ‹Œ μ£Όμš”μ μ„ Spline을 톡해 λ³΄κ°„ν•œ ν›„ ν•΄λ‹Ή 점을 λ‹€μ‹œ λ³΄κ°„ν•΄μ„œ 컀브λ₯Ό μ™„μ„±ν•˜λŠ” 방식이닀.
Curveκ°€ λ³€ν™”ν•˜λŠ” κ²½μš°μ— Curve의 점은 Curve 면의 직각(Normal vector)λ°©ν–₯으둜 μ›€μ§μ΄λŠ” 것이 μΌλ°˜μ μ΄λ‹€.
Curve의 2차미뢄값을 κ΅¬ν•œλ‹€λ©΄ Curve의 직각방ν–₯을 정해쀄 수 μžˆλ‹€.

Animation Language

β€’
Artistλ‚˜ Motion Captureλ“±μ˜ ν‚€ν”„λ ˆμž„μ„ μ €μž₯ν•œλ‹€.
β€’
ν‚€ν”„λ ˆμž„μ„ μ–΄λ–»κ²Œ 보간 ν• μ§€λ₯Ό μ €μž₯ν•œλ‹€.
이 ALλ₯Ό μ½μ–΄μ„œ ν”Œλ ˆμ΄ν•˜κ³ , λ Œλ”λ§ν•˜μ—¬ μ΄λ―Έμ§€λ‘œ μ €μž₯ν•œλ‹€.

Why Animation Language?

λ§Œλ“€μ–΄μ§„ μ• λ‹ˆλ©”μ΄μ…˜μ„ 잘 μ €μž₯ν•˜κ³  μž¬μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•˜κΈ° μœ„ν•΄μ„œ
초창기 μ• λ‹ˆλ©”μ΄μ…˜μ€ νŒŒμΌλ³΄λ‹€ 슀크립트λ₯Ό 많이 μ‚¬μš©ν–ˆλ‹€.
β€’
λΆ€λ”ͺ히면 νŠ•κΈ΄λ‹€! μ•„λ‹ˆλ©΄ μ•žμœΌλ‘œ κ°„λ‹€! λ“±λ“±μ˜ μ—¬λŸ¬ 쑰건이 μžˆμ—ˆκΈ° λ•Œλ¬Έμ΄λ‹€.
μš”μ¦˜ λ©”νƒ€λŠ” νŒŒμΌμ„ μ‚¬μš©ν•œλ‹€.
β€’
???
즉, 동적인 것듀에 λŒ€ν•΄μ„œ ν‘œν˜„ν•˜λŠ” 것이 ν•„μš”ν•˜κ³  동적인 것은
β€’
μž…λ ₯, μ‹œκ°„μ˜ 쑰건 등이 μžˆλ‹€.
β—¦
이λ₯Ό μœ„ν•œ μŠ€ν¬λ¦½νŠΈκ°€ μžˆλ‹€.

Artist-Oriented Animation Language

μ•„ν‹°μŠ€νŠΈκ°€ λͺ¨λ“  κ±Έ ν‘œν˜„ν•œλ‹€κ³  μƒκ°ν•˜κ³  μ• λ‹ˆλ©”μ΄μ…˜μ„ ν‘œν˜„ν•˜λŠ” 방식
μ•„ν‹°μŠ€νŠΈκ°€ 각 였브젝트의 μœ„μΉ˜λ‚˜ λͺ¨μ–‘등을 λͺ¨λ‘ μ„€μ •ν•œλ‹€κ³  κ°€μ •ν•˜κ³ , ν•΄λ‹Ή μ„ΈνŒ…μ„ λͺ¨λ‘ μ €μž₯ν•˜λŠ” 방식이닀.
β€’
set 방식 : νŠΉμ • μ‹œμ μ—μ„œ 였브젝트의 μœ„μΉ˜λ‚˜ 각도λ₯Ό μ§€μ •ν•˜λŠ” 방식(주둜 μ‚¬μš©ν•˜λŠ” 방법)
β€’
translate방식 : νŠΉμ • μ‹œμ λΆ€ν„° 일정 μ‹œκ°„λ™μ•ˆ μ–Όλ§ˆλ§ŒνΌ μ΄λ™ν•˜κ±°λ‚˜ νšŒμ „ν• μ§€λ₯Ό μ •ν•˜λŠ” 방식.(μ‹€μ œ ν‚€λ³΄λ“œ λ“±μ˜ 컨트둀이 μžˆλŠ” 경우 μ‚¬μš©ν•˜λŠ” 방법)

Pros

β€’
쉽닀.

Cons

β€’
λ§Žμ€ 수의 점듀에 λŒ€ν•΄μ„œ μ„€μ •ν•˜κΈ° 쉽지 μ•Šλ‹€.
β—¦
ꡬ름 λ“±μ˜ 였브젝트의 경우 λ§Žμ€ 정점듀에 λŒ€ν•΄ 일일이 λ‹€ μ„€μ •ν•΄μ€˜μ•Ό ν•œλ‹€.

Full-featured Programming Language for animation

ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄ μŠ€νƒ€μΌμ˜ 슀크립트 μ–Έμ–΄λ₯Ό μ‚¬μš©ν•œλ‹€.

Pros

β€’
μ μ ˆν•œ μ•Œκ³ λ¦¬μ¦˜μ„ μ‚¬μš©ν•˜μ—¬ 적은 수의 μ½”λ“œλ‘œλ„ λ‹€μˆ˜μ˜ 정점을 μ œμ–΄ν•  수 μžˆλ‹€!!
MEL

Graphical Language

각 μ˜€λΈŒμ νŠΈλ‚˜ 정점에 λŒ€ν•΄μ„œ κ·Έλž˜ν”„, λ‹€μ΄μ–΄κ·Έλž¨μ„ μ΄μš©ν•œ 방법
μ΄ν•΄ν•˜κΈ°μ—λŠ” μƒλ‹Ήνžˆ νŽΈν•˜λ‹€.

Actor-based Systems

였브젝트(=μ•‘ν„°)κ°€ λͺ¨μ…˜μ— λŒ€ν•œ λͺ¨λ“  νŒŒλΌλ―Έν„°λ₯Ό κ°€μ§€κ³  μžˆλŠ” 방식이닀.
μ„œλ‘œ λ‹€λ₯΄κ²Œ μ›€μ§μ΄λŠ” νŠΉμ§•μ μΈ μ•‘ν„°λ₯Ό λ§Œλ“€ 수 μžˆλ‹€.
λ³΅μž‘ν•˜κ³  λΉ„νš¨μœ¨μ μ΄λ‹€.
β†’ λ”°λΌμ„œ μ‚¬λžŒμ΄λ‚˜ 동물을 ν‘œν˜„ν•  λ•ŒλŠ” 이 방법을 μ‚¬μš©ν•œλ‹€.
정닡은 μ—†λ‹€! μ‚¬μš©ν•˜λŠ” λͺ©μ μ— λ”°λΌμ„œ λ°Έλ₯˜κ°’이 달라진닀!
Articulated Figure : μ‚¬λžŒκ³Ό 같이 κ΄€μ ˆμ΄ μžˆλŠ” 였브젝트
Deformable object : λͺ¨μ–‘이 λ³€ν•˜λŠ” Softbody νƒ€μž… 였브젝트
Rigid Object : λ”±λ”±ν•˜κ²Œ λͺ¨μ–‘이 λ³€ν•˜μ§€ μ•Šκ³  μœ„μΉ˜μ™€ λ°©ν–₯만 λ³€ν•˜λŠ” 였브젝트

Deforming Object

λͺ¨λ“  점에 λŒ€ν•΄μ„œ Correspondenceλ₯Ό 잘 μž‘μ•„μ€˜μ•Ό ν•΄μ„œ μž‘μ—…λŸ‰μ΄ μ¦κ°€ν•œλ‹€.
λ”°λΌμ„œ λ¬Έμ œμ •μ˜λŠ” λ‘κ°€μ§€λ‘œ λ‚˜λ‰œλ‹€.
1.
Correspondenceλ₯Ό μ–΄λ–»κ²Œ μ§€μ •ν•΄μ£ΌλŠ”κ°€?
2.
Interpolation을 μ–΄λ–»κ²Œ ν•΄μ•Όν•˜λŠ”κ°€?
κ·Έλž˜μ„œ 물체가 λΉ„μ •μƒμ μœΌλ‘œ λŠ˜μ–΄λ‚˜λŠ” 일이 없도둝 ν•΄μ•Όν•œλ‹€.
물체의 λͺ¨μ–‘이 μ‹œκ°„μ— 따라 λ³€ν™”ν•˜λŠ” 것은

Object Modification

λͺ¨λ“  점듀을 직접 λ°”κΎΈμž! β†’ μž‘μ—…λŸ‰μ΄ λ„ˆλ¬΄ λ§Žμ•„μ§„λ‹€. β†’ Vertex Warping
Vertex Warping : νŠΉμ§•μ  λͺ‡κ°œλ§Œ μ„€μ •ν•œ ν›„, λͺ¨λ“  점에 λŒ€ν•΄μ„œ λ³΄κ°„ν•΄λ³΄μž.
β€’
쀑간 점이 보간방법에 μ˜ν•΄ μ œμ•½λœλ‹€.
β€’
λ‹¨μˆœν•œ 물체의 μ›€μ§μž„μ—λŠ” 이 방법을 μ‚¬μš©ν•œλ‹€.
ν˜Ήμ€ 곡간 전체λ₯Ό μ›€μ§μ—¬λ³΄μž!
β€’
κ·Έλ¦¬λ“œ 기반 디포밍
β€’
FFD
β€’
μŠ€μΌˆλ ˆνƒˆ λ²€λ”©
β€’
κΈ€λ‘œλ²Œ Transform
μ„œλ‘œ κ²ΉμΉ˜λŠ” λ¬Έμ œκ°€ λ°œμƒν•  경우 이 방법!

Vertex Warping

Direct Manipulation이닀!
β€’
μ‘°μž‘μ΄ νž˜λ“€κ³  아무리 λ³΄κ°„ν•˜λ”λΌλ„ μžμ—°μŠ€λŸ½μ§€ μ•Šμ€ κ²½μš°κ°€ λ§Œλ‹€.
β€’
직접 ν•˜λ‚˜μ˜ 점만 움직일 λ•Œ λ‹€λ₯Έ 점듀을 μ–΄λ–»κ²Œ μ›€μ§μ΄κ²Œ ν•˜λŠ”κ°€κ°€ 맀우 μ€‘μš”ν•΄μ§„λ‹€!
μ–΄λ–€ Seed vertex ν•˜λ‚˜κ°€ μ΄λ™ν–ˆμ„ κ²½μš°μ— κ·Έ μ •μ λ§Œ μ›€μ§μ΄κ²Œ λ˜λŠ” κ²½μš°λŠ” 맀우 어색할 것이닀.
λ”°λΌμ„œ Seed Vertex ν•˜λ‚˜λ₯Ό μ΄λ™ν–ˆμ„ λ•Œ, μ£Όλ³€ adjacent vertices도 ν•΄λ‹Ή λ°©ν–₯에 λŒ€ν•΄ 거리 λΉ„μœ¨λ‘œ 같이 따라가쀀닀면 μžμ—°μŠ€λŸ¬μšΈ 것이닀.
이 μ£Όλ³€ 정점을 μ–Όλ§ˆλ§ŒνΌ μ–΄λ–»κ²Œ μ›€μ§μ΄κ²Œ ν•˜λŠλƒκ°€ μžμ—°μŠ€λŸ¬μ›€μ˜ 척도.
β€’
μ‹œλ“œ 정점을 κΈ°μ€€μœΌλ‘œ κ°€κΉŒμš΄ 정도λ₯Ό μ„ νƒν•œλ‹€.(selected on distance)
β€’
μ›€μ§μ΄λŠ” 정도(Move attenuation)λ₯Ό κ±°λ¦¬λΉ„μœ¨ 쑰절
β—¦
κ°€μž₯ 많이 μ“°λŠ”κ²Œ Power Function

Power Function

μž₯단점
β€’
μ»¨νŠΈλ‘€ν•˜κΈ°μ—λŠ” 맀우 쉽닀.
β€’
ν•˜μ§€λ§Œ μžμ—°μŠ€λŸ½μ§€λŠ” μ•Šλ‹€.
β€’
전체적인 λͺ¨μ–‘을 μ œμ–΄ν•˜κΈ° 쉽지 μ•Šλ‹€.

Deforming an Embedding space

2D Grid-based deforming

μ˜€λΈŒμ νŠΈκ°€ μ°¨μ§€ν•˜λŠ” 곡간을 κ· μΌν•˜κ²Œ κ·Έλ¦¬λ“œλ‘œ λ‚˜λˆ λ³΄μž.
이 점을 움직이지 말고, 이 곡간을 μ›€μ§μ΄λŠ” 것이닀.
κ·Έλ¦¬λ“œκ°€ λ³€ν˜•λ˜μ—ˆλ‹€λ©΄, κ·Έλ¦¬λ“œ μ•ˆμ˜ λ‚΄μš©λ¬Όλ„ μ„ ν˜•λ³΄κ°„λ˜μ–΄ κ°„μ ‘λ³€ν˜•λ  것이닀.
Bilinear mapping을 ν†΅ν•΄μ„œ μƒˆλ‘œ 바뀐 λͺ¨μ–‘을 μƒμ„±ν•΄μ£ΌλŠ” 방식!
ν•΄λ‹Ή κ·Έλ¦¬λ“œμ˜ λͺ¨λ“  점을 λ°”κΏ€ μˆ˜λ„ 있고, κΌ­μ§€μ λ§Œ μ„€μ •ν•œ ν›„ spline보간도 κ°€λŠ₯!

Skeleton-based bending

Global Transformation

Free-Form Deformations

????

Summary

ν‚€ν”„λ ˆμž„μ€ Rigidbody에 λŒ€ν•΄ 강점을 κ°€μ§„λ‹€.
Deforming은 물체λ₯Ό λ³€ν™”μ‹œν‚€λŠ”λ° 강점을 κ°€μ§„λ‹€.

Interpolation Object

의자λ₯Ό μ±…μƒμœΌλ‘œ λ³€ν™”μ‹œν‚¬ λ•Œ, 의자의 μ–΄λŠ 뢀뢄이 μ±…μƒμ˜ λ‹€λ¦¬λ‘œ ν–₯ν•΄μ•Όν•˜λŠ”κ°€?
β€’
μ–΄λŠ 점과 맀칭될 κ±Έ μ–΄λ–»κ²Œ μ°ΎλŠ”κ°€?
방법
β€’
Volumetric approaches : Remeshing
β—¦
κ³΅κ°„λŒ€ κ³΅κ°„μœΌλ‘œ κ·Έλ¦¬λ“œν™”ν•΄μ„œ 물체의 λͺ¨μ–‘을 보간
β€’
Surface-base approaches
β—¦
XYZ좕에 λŒ€ν•΄μ„œ μ›λž˜ μ˜€λΈŒμ νŠΈμ™€ λͺ©ν‘œ 였브젝트의 단면도λ₯Ό κ΅¬ν•œλ‹€. 2차원을 또 μ„ μœΌλ‘œ μ„œλΈŒμƒ˜ν”Œλ§ν•œλ‹€β€¦.

Matching Topology

κ³΅μœ ν•˜λŠ” Ray의 ꡐ점을 λ³΄κ°„ν•˜μž!
kernel?
central axis?
Next chapter