Top Banner
View-Dependent Control of Elastic Rod Simulation for 3D Character Animation Yuki Koyama Takeo Igarashi The University of Tokyo The University of Tokyo SCA ‘13
41

View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Jul 25, 2015

Download

Technology

Yuki Koyama
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

View-Dependent Control �of Elastic Rod Simulation �

for 3D Character Animation�Yuki Koyama � �Takeo Igarashi�

The University of Tokyo�The University of TokyoThe University of Tokyo

SCA ‘13�

Page 2: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Motivation�•� 2D-like stylizations in 3DCG�–�View-dependent, inconsistent shapes�

© Fujio, Fujiko F., Shogakukan�

Example of inconsistency:�

Page 3: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Existing method�•� View-dependent geometry (VDG)�–� [Rademacher, 1999]�–�Changing the geometry according to the view

direction�

view-direction

camera

character

Page 4: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Existing method�•� View-dependent geometry (VDG)�–� [Rademacher, 1999]�–�Changing the geometry according to the view

direction�

Video�

Page 5: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Existing method�•� View-dependent geometry (VDG)�–� [Rademacher, 1999]�–�Changing the geometry according to the view

direction�

Only for static geometry ��

Page 6: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Our goal�•� Extending VDG for physical simulation�–�Passively deformable rod structures�

Target: hairs, ties, long ears, …�

Page 7: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

DEMO��

Big Buck Bunny�Big Buck Bunny

Page 8: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Demo�•� Side-by-side comparison�

Fixed view� Camera view�

Video�

Page 9: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

OTHER RESULTS�

Page 10: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Other results�•� Front hair avoiding the eyes�

Video�

Page 11: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Other results�•� Front hair avoiding the eyes�

Without our method� With our method�

Page 12: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Other results�•� Hair always facing the camera �

Video�

Page 13: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Other results�•� Hair always facing the camera �

��–�This “cowlick” effect is popular especially �

in recent Japanese 2D animations�in recent Japanese 2D animationsin recent Japanese 2D animationsin recent Japanese 2D animations

Page 14: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

OUR METHOD�

Page 15: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

User inputs�•� A skinned mesh�–�Whose deformable rods are represented by

joint chains�

Joint chains�

Page 16: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

•� A skinned mesh�–�Whose deformable rods are represented by

joint chains�

•� Pairs of…�–�Key example pose�–�Key view direction�

(base pose)�

User inputs�

P0

P5

P4

P3

P2

P1

Page 17: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Rod simulation framework�•� Oriented Particles �–� [Müller and Chentanez, 2011]�–�Based on position-based dynamics�

�•� Simple distance constraint�–�For ensuring inextensibility�

Page 18: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Overview of �the runtime operations�

1.� Calculate weights�2.� Blend poses �3.� Simulate�

�(base pose)�

�(example pose)�

Current deformed pose�

P0

P1

Page 19: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Overview of �the runtime operations�

1.� Calculate weights�2.� Blend poses �3.� Simulate�

�(base pose)�

�(example pose)�

Current deformed pose�

view direction

P0

P1

w

Page 20: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Overview of �the runtime operations�

1.� Calculate weights�2.� Blend poses �3.� Simulate�

�(base pose)�

�(example pose)�

Current deformed pose�

P0

P1

P(w)

Page 21: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Overview of �the runtime operations�

1.� Calculate weights�2.� Blend poses �3.� Simulate�

�(base pose)�

�(example pose)�

Current deformed pose�

Internal elastic force�

= goal pose�

P0

P1

P(w)

Page 22: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Technical details�•� Weight calculation�

•� Suppression of ghost momentum�

Page 23: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Technical details�•� Weight calculation�

•� Suppression of ghost momentum�

Page 24: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Weight calculation�•� The algorithm of VDG [Rademacher, 1999]�–�Wrapping the model with a triangle mesh�•� Each vertex corresponds to a key view direction�

Video�

Page 25: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Weight calculation�•� The algorithm of VDG [Rademacher, 1999]�–�Wrapping the model with a triangle mesh�•� Each vertex corresponds to a key view direction�

–�Linear interpolation on a triangle�

Page 26: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Weight calculation�•� The algorithm of VDG [Rademacher, 1999]�–�Wrapping the model with a triangle mesh�•� Each vertex corresponds to a key view direction�

–�Linear interpolation on a triangle�–�Difficulties�•� Necessary to give at least 4 inputs�•� No base (default) pose�

Page 27: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Weight calculation�•� Our algorithm (scattered interpolation)�–�Consider Gaussian weights on a sphere�

wi = �i � ��i( ) = exp � � ��i �i( )2�

��

i =1,2,…( )

�1

�2

�3

P w( ) = wiPi

i=0�wii=0�

w0 = max 0, 1� wii=1�( )

Page 28: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Weight calculation�•� Our algorithm (scattered interpolation)�–�Consider Gaussian weights on a sphere�

–�Arbitrary number of inputs�–�Base (default) pose�–� Influence control by � � i

wi = �i � ��i( ) = exp � � ��i �i( )2�

��

i =1,2,…( )

�1

�2

�3

w0 = max 0, 1� wii=1�( )

Page 29: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Technical details�•� Weight calculation�

•� Suppression of ghost momentum�

Page 30: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Problem: ghost momentum�•� Ghost momentum�–�The rod increases undesired momentum �

as the view direction changes�–� It looks “alive”�

Video�

Page 31: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Problem: ghost momentum�•� A possible naïve approach�–�Suppressing ALL momentum�•� Simple damping technique�

–�Undesirable�

•� Our solution�–�Damping ONLY the ghost momentum�•� “Suppression algorithm”�

Page 32: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Suppression algorithm�•� Separate velocity and position update�

�(base pose)�

�(example pose)�

Current deformed pose�

Internal force�External force�

P0

P1

P(w)

Page 33: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Suppression algorithm�•� Separate velocity and position update�

�(base pose)�

�(example pose)�

(a)�

(b)�

(a): force that causes the ghost momentum�(b): force that doesn’t cause the ghost momentum�

P0

P1

P(w)

Page 34: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Suppression algorithm�•� Separate velocity and position update�

�(base pose)�

�(example pose)�

(a)�

(b)�

(a): force that causes the ghost momentum�(b): force that doesn’t cause the ghost momentum�

P0

P1

P(w) P( �w )

Page 35: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Suppression algorithm�•� Separate velocity and position update�

�(base pose)�

�(example pose)�

Goal pose for velocity update�

Goal pose for position update�

P0

P1

P(w) P( �w )

Page 36: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Suppression algorithm�•� Comparison�

Without suppression� With suppression�

Video� Video�

Page 37: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Suppression algorithm�•� Comparison�–�Failure case (still ghost momentum remaining)�

Without suppression� With suppression�

Video� Video�

Page 38: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Suppression algorithm�•� Limitations�–�Cannot completely remove the momentum�•� Ghost momentum still remains�

–�No theoretical ground�•� But practically useful?�

–�Doubled computational costs�•� Simulation runs twice (for position and velocity)�

Page 39: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

CONCLUSION�

Page 40: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Conclusion�•� Concept�–�View-dependent control of simulated rods�

•� Techniques�–�Calculating weights from view directions�–�Suppressing ghost momentum�

•� Limitations�–�Suppression algorithm is not complete�•� Empirically (not theoretically) derived algorithm�

–�Not physically accurate�

Page 41: View-Dependent Control of Elastic Rod Simulation for 3D Character Animation (SCA '13)

Thank you for listening�

•� Characters used in our experiments�–� Hatsune Miku © Crypton Future Media, Inc.�–� Big Buck Bunny © Blender Foundation�

•� 3D models by Yamamoto, Kio, and Blender Foundation�

Video�