Procedural Skeletons: Kinematic Extensions to CGA-Shape Grammars - - PowerPoint PPT Presentation
Procedural Skeletons: Kinematic Extensions to CGA-Shape Grammars - - PowerPoint PPT Presentation
Procedural Skeletons: Kinematic Extensions to CGA-Shape Grammars Martin Ilk, Stephan Fiedler Werner Purgathofer, Michael Wimmer Institute of Computer Graphics and Algorithms Vienna University of Technology Preview Procedural modeling
Preview Procedural modeling Grammars Articulated objects
Martin Ilčík 2
Procedural modeling ↑ Abstraction ↓ Design costs ↓ Artistic skills ↑ Reusability ↑ Domain knowledge ↓ Local control ↑ Formal theory ↓ Reconstruction
Martin Ilčík 3
CityEngine, Pascal Müller
Nature vs. Urbanism Elements Survival Jagged Long evolution Regular Short term Planarity Batch changes
Martin Ilčík 4
Rome Rebuild, Pascal Müller
Split grammars Sets of shapes instead of symbols Large amount of rules and attributes Attribute propagation Rule selection Image based reconstruction
Symmetries Visual editing
[Wonka et al. 2003]
Martin Ilčík 5
image by Peter Wonka
CGA grammars Scope to oriented bounding boxes
transformation rules splits and repetition absolute and relative scaling component splits
Sequential Occlusion Snapping [Müller et al. 2006] [Lipp et al. 2008]
Martin Ilčík 6
image by Markus Lipp
Procedural modeling of cities
Martin Ilčík 7
CityEngine, Pascal Müller
Poses and Expressions Pose Expression Semantics Relations Functionality
Martin Ilčík 8
Poses and Expressions Pose Expression Semantics Relations Functionality
Martin Ilčík 9
Poses and Expressions Pose Expression Semantics Relations Functionality
Martin Ilčík 10
Poses and Expressions Pose Expression Semantics Relations Functionality
Martin Ilčík 11
Poses and Expressions Pose Expression Semantics Relations Functionality
Martin Ilčík 12
Excavator Example - Basis
Martin Ilčík 13
Excavator Example - Basis
Martin Ilčík 14
Excavator Example - Basis
Martin Ilčík 15
Excavator Example - Basis
Martin Ilčík 16
Excavator Example - Motor
Martin Ilčík 17
Excavator Example - Cabin
Martin Ilčík 18
Excavator Example - Cabin
Martin Ilčík 19
Excavator Example - Chassis
Martin Ilčík 20
Excavator Example - Wheels
Martin Ilčík 21
Excavator Example - Arm
Martin Ilčík 22
Excavator Example - Arm
Martin Ilčík 23
Excavator Example - Arm
Martin Ilčík 24
Excavator Example - Shovel
Martin Ilčík 25
Excavators
Martin Ilčík 26
Excavators
Martin Ilčík 27
Excavators
Martin Ilčík 28
Excavators
Martin Ilčík 29
Excavators
Martin Ilčík 30
Excavators
Martin Ilčík 31
Pose description Kinematic Shapes Rigid bodies Bones
Parent link Children links
Martin Ilčík 32
Pose description Kinematic Shapes Rigid bodies Bones
Parent link Children links
Joint
Martin Ilčík 33
Pose description Kinematic Shapes Rigid bodies Bones
Parent link Children links
Joint
Default pose
Martin Ilčík 34
Pose description Kinematic Shapes Rigid bodies Bones
Parent link Children links
Joint
Default pose Limited transformations
Martin Ilčík 35
Pose description Kinematic Shapes Rigid bodies Bones
Parent link Children links
Joint
Default pose Limited transformations Current transformation
Martin Ilčík 36
Pose description Kinematic Shapes Rigid bodies Bones – Automatic
Parent link Children links
Joint
Default pose Limited transformations Current transformation
Martin Ilčík 37
Pose description Kinematic Shapes Rigid bodies Bones – Automatic
Parent link Children links
Joint – Kinematic Rules
Default pose Limited transformations Current transformation
Martin Ilčík 38
Starting configuration
Martin Ilčík 39
Sequential split
Martin Ilčík 40
Parallel split
Martin Ilčík 41
Component split
Martin Ilčík 42
Properties Kinematic independence
Martin Ilčík 43
Grammar Example
BuildingRoot → Subdiv(“Y”, 3.5){Basement|Floor} Floors → Repeat(“Y”, 3a){Floor}
Martin Ilčík 44
Grammar Example
BuildingRoot → Subdiv(“Y”, 3.5){Basement|Floor} Floors → Repeat(“Y”, 3a){Floor} Floor → Comp(“sidefaces”){FloorFacade} FloorFacade → Repeat(“Y”, 1.5a){WindowPane}
Martin Ilčík 45
Grammar Example
BuildingRoot → Subdiv(“Y”, 3.5){Basement|Floor} Floors → Repeat(“Y”, 3a){Floor} Floor → KinematicRotation(RotLimits,CurrentRot) Comp(“sidefaces”){FloorFacade} FloorFacade → Repeat(“Y”, 1.5a){WindowPane}
Martin Ilčík 46
Grammar Example
Martin Ilčík 47
Conclusions Poses enrich semantics
Rule based
Simple extension to CGA
Integration Interactivity
Rigging for free
Post-processing
Martin Ilčík 48
Future Work Connectivity preservation Mass and stability Deformations Animation IK
Martin Ilčík 49
Acknowledgements Johannes Kühetreiber, Frederico Dusberger Daniel Scherzer, Markus Lipp Reviewers FIT-IT Visual Computing Initiative GameWorld Project THANK YOU FOR YOUR ATTENTION
Martin Ilčík 50