• No results found

First: meshes, use of various templates Second: use of textures

N/A
N/A
Protected

Academic year: 2022

Share "First: meshes, use of various templates Second: use of textures"

Copied!
19
0
0

Laster.... (Se fulltekst nå)

Fulltekst

(1)

Modeling Individualities in Groups and Crowds

Crowd Variety Variety

First: meshes, use of various templates Second: use of textures

(2)

Various Textures

Third: Designing Color Variety

- Random colors for each body part not good enough - Realistic results require constrained randomness

Designing Texture Variety

• HSB Maps

– HSB space constrained to a 3D color space.

ll d l h l l d

– Allow to deal with localized constraints.

– Eyes example : - Huefrom 20 to 250;

- Saturationfrom 30 to 80;

- Brightnessfrom 40 to 100.

Same texture mapping for different templates;

different characters by varying colors

(3)

Various Colors Various colors and textures

Appearance sets applied to instances of a single human template. Note the different specular effects on the body parts and the varying cloth patterns.

Template

(4)

Accessories

Accessories: small meshes representing elements that can

• From subtle details, like watches, jewelry, or glasses, to larger items, such as hats, wigs, or backpacks.

Distributing accessories to large crowd of few human templates easily be added to

human template original mesh

• Distributing accessories to large crowd of few human templates varies shape of each instance, and thus makes it unique.

• Similarly to deformable meshes, accessories are attached to a skeleton and follow its animation when deformed.

• We assume that accessory vertices all attached to same joint, i.e., mesh not deformed.

• Example: hat would be attached to k ll j i

skull joint.

• Several important steps to model accessory, so that it can later be correctly placed and oriented for all human templates.

• First of all, we identify joint to which accessory should be attached.

Various colors, textures and accessories

Accessory movements (hands in the pocket, phone call, hand on hip,…).

(5)

By applying variety techniques at 3 levels, instances of same template seem unique.

.

Movie

Animation Variety

(6)

To animate a virtual crowd is it just to animate many Virtual Humans ?

No, first, we need spontaneous and flexible movements

Before emergency situation After gas leak happened

Second, we need to define collective behaviors while keeping individualities

Problems

Keyframe: too fastidious to use

Motion Capture: too

i fl ibilit Motion

expensive, no flexibility, hard to do for

locomotion

Motion graphs: too

expensive

It takes a model for:

Model-driven Methods: No general method to model behaviors and actions with flexibility and variety

It takes a model for:

–Walking –Grasping –Running –Jumping –Visiting Munich –Drinking a beerg

And everything is not so simple

(7)

Making Them Walk

• PCA in hierarchical structure of sub-PCA spaces.

A h l l f hi h

Motion modeling using PCAs and

ti i

Integrated Walking/Running engine

• At each level of hierarchy, important parameter (personification, type of motion, speed) extracted and related function elaborated, allowing not only motion interpolation

MoCap Motion

correction time-warping

only motion interpolation

but also extrapolation. Adaptive motion control

Normalization and time warping

• Murray: all leg relative angles in sagittal plane (hip, knee, ankle) show similar trajectories for all adult men for same value of normalized speed V

v:walking velocity H:hip joint height

• Time warp using Inman law: links normalized speed to cycle frequency

Animation engine able to continuously vary speed and compute Animation engine able to continuously vary speed and compute phase variation ∆ϕ for given duration ∆t:

Motion Correction

• Footplant enforcement

– Numerical IK with priorities [Baerlocher04, Callennec04]

• 1 Ankle

2 T

IK used to prevent feet

• 2 Toe

Yellow:

prevent feet sliding by exploiting predictive capability of model.

Yellow:

current posture

Green:

anticipated posture with IK

(8)

• normalize generated motion

• may animate human with large g range of different sizes.

• complete locomotion engine, transitions between different motions handled.

• Personification weights: 5 people, different in height and gait captured while walking and running

allows user to choose how wishes to parametrize these different styles.

• Speed: the five subjects have been captured at many different speeds.

allows to choose at which velocity walk/run cycle should be generated.y g

• Locomotion weights: defines whether cycle is walk or run animation.

A motion kit holds several items:

• Name, identifying what sort of animation it represents, e.g., walk_1.5m/s,

• Type, determined by 4 identifiers: action, subaction, left arm action, and right arm action,

• Link to skeletal animation,

• Link to rigid animation,

• Link to impostor animation.

Example of motion kit structure. On the left, a virtual human

instantiated from a human template points to the motion kit it currently uses. In the center, a motion kit with its links identifying the

corresponding animations to use for all human templates and LOD.

(9)

Varied locomotion cycle created in two passes:

1) generates primary cycle with default upper body animation.

2) adds secondary upper-body motion using prioritized IK solver [Baerlocher Boulic 2004]

IK solver [Baerlocher-Boulic 2004].

Tool allows to enforce several constraints at same time, with levels of priority if necessary.

To solve IK problem, following inputs needed:

• Original locomotion cycle,

• Hand-designed “first guess” posture of hand and arm Hand designed first guess posture of hand and arm, using MotionBuilder [Autodesk, 2009b].

• Set of constraints to apply to hand and/or arm.

E.g. three colored cubes on hand have to be positioned positioned as close as possible to three corresponding colored cubes attached to pelvis.

Set of controlled effectors attached to the hand and corresponding goal positions attached to the pelvis.

locomotion cycle augmented g with right hand in pocket.

Crowd

Rendering

(10)

•dynamic meshes dynamic meshes in red,

•static meshes in green

•Impostors in blue.

Apparent levels of detail; in red: the rigid meshes, in green: the impostors

Dynamic Mesh

•Skeleton dynamic animation

•3 geometric LODs

•Optional skeleton LODs

•Cast shadows viewer

Static Mesh

•Pre-deformed geometry

•Optional LODs

•2 animations

•Cast shadows

P d d

Impostors •Pre-rendered

•2 animations

•No cast shadows

• First step culling which determines visibility and rendering

Rendering pipeline (4 steps)

rendering

• representation or fidelity for each simulated human

• culling not done on each individual but at node level,

=> determine fidelities for

=> determine fidelities for

set of characters at once.

(11)

• most detailed fidelity and can play back interpolated animations based on

Second step: rendering of dynamic meshes

animations based on skeletal postures.

• Animation constructed based on walking style of human and its speed

• Hardware vertex shader and fragment shader used and fragment shader used to deform and render human on GPU.

LODs

5'000 polygons 1'000 polygons 100 polygons

Deformed Meshes

• Algorithm: Skeleton Subspace Deformation (SSD)

• each vertex deformed by weighted

transformation of one or several attached bones or joints

or joints.

• where v(t): deformed vertex at time t,

• Xtii: global transform of bone i at time t, g ,

• Xiref: inverse global transform of bone in reference position

• vref: vertex in reference position.

Third step: Static meshes

keeps pre-transformed set of animations usually in range of 2 or 3 animations, using lowest resolution mesh of using lowest resolution mesh of deformed ones in the previous step.

By pre-computing deformations

substantial gains in speed achieved

(12)

Forth step: impostors

Assumption: camera will never be directly above crowd.

Only sample images at waist level of y p g character needed.

Each template sampled at 20 different angles, for each of 25 key-frames composing walk animation.

• Similarly to deformable meshes, accessories attached to skeleton and follow its animation when deformed.

• We assume that accessory vertices all

Accessories

y

attached to same joint, i.e., mesh not deformed.

• Example: hat attached to skull joint.

• Several important steps to model accessory, so that it can later be correctly placed and oriented for all correctly placed and oriented for all human templates.

• First of all, we identify joint to which accessory should be attached.

(13)

• Second phase: accessory transformed, to perfectly coincide with mesh of each human template.

• Changes expressed relatively to attach joint as 4×4 transformation matrixTaccessory.

Tchar: character transformation matrix in world coordinates Tjoint: attach joint deformation matrix, relative to Tchar.

• For deformable meshes, Equation directly , q y computed at runtime.

• For rigid meshes and impostors, dedicated methods to easily place accessories.

Accessories for Rigid Meshes

• Main advantage: no dynamic deformation of skeleton at runtime.

• However, implies matrix THowever, implies matrix Tjointjointin Eq. in Eq.

1 not available to place accessory.

• Naive approach: store accessory animation as for rigid mesh.

• However, we take advantage from assumption that mesh never deformed

deformed

• every time rigid mesh keyframe stored, matrices Tjoint to which accessories attached also saved.

Accessories for Impostors

• Accessories for impostors generated in preprocess:

image tiles sampled all around object in

orthographic mode and saved in 512 ×512 normal orthographic mode and saved in 512 ×512 normal and uv maps.

• With this method, samples are more uniformly distributed

• memory storage cost for accessory impostor is constant and independent from number of keyframes generated for human impostor.

• More precisely, we store one uv map and one normal map per accessory

(14)

Runtime pipeline to place accessory impostors

Five steps:

• Step 1: Compute the accessory

• Step 1: Compute the accessory transformation matrix T with Equation.

• Step 2: Retrieve normal and uv map tile, representing the accessory from correct point of view

view.

• Step 3: Compute exact position of accessory impostor, i.e., the quad.

Step 4: Rotate quad around camera Z axis so that it is correctly oriented.

• Since character wears hat inclined backwards, quad has to be rotated to correctly imitate 3D hat orientation.

Step 5: Compute depth of each

impostor pixel (or fragment) to avoid visual artifacts

• Main problem when addressing such Main problem when addressing such an issue with a perspective

projection is that depth values in the Z buffer do not vary linearly.

• Our dedicated algorithm solves visibility problems inherent in impostors, while allowing the use of impostors, while allowing the use of any projection.

(15)

Hybrid architecture

• to handle path planning of thousands of

pedestrians in real time,

h l d

while ensuring dynamic collision avoidance.

• scalability of our approach allows to interactively create and distribute regions of

i d i h

varied interest, where motion planning ruled by different algorithms.

• Practically, regions of high interest are governed by a long-term potential field-based approach, while other zones exploit graph of environment and

short-term avoidance techniques.

. Combination of

– Potentiel field approach (Treuille et al. SIGGRAPH 2006, Continuum crowds)

– Navigation Graphs (Pettré et al. Journal of Computer Animation and Virtual Worlds 2006)

Comparison between our approach and our implementation of purely potential field-based approach of Treuille et al. for varying number of groups. Each group is composed of 100 pedestrians.

• Observation of interesting emergent interesting emergent behaviors, e.g., lane formations or panic effects, => crowd motion planning more realistic

(16)

YAQ

system

Virtual population created by assembling such

blocks.

• As interactions solved once for each block, and

Patches

further reused during simulation, we save precious computation time.

• Assembling and disassembling blocks can be achieved at run-time, breaking limitations on environment size: virtual population only generated in front of spectator’s point of view.

llustration of motion patches from [Lee et al.,

Patches

p [ ,

2006]: patches are building blocks

annotated with captured motions that can be combined to generate

f i l

movements of virtual character.

• Objective: to populate virtual environments by composing small pieces of pre-computed animations:

crowd patches

• can contain moving pedestrians, humans executing h k i l bj

other tasks, animals, or objects.

• Inside a patch, animations computed to be cyclic over constant period, and can be seamlessly repeated.

• Allows animated content to appear in endless motion.

• Animated objects may cross limits of patch and move to neighbor patch.

• Trajectories of such objects must then meet common

• Trajectories of such objects must then meet common limit conditions to allow going from one patch to another adjacent one.

(17)

2 categories of dynamic objects: endogenous and exogenous objects.

Trajectory of endogenous objects endogenous objects always remains inside geometrical limits of patch for whole period

Exogenous objects:

trajectory goes out of patch borders at some time, and thus, does not meet periodicity condition

. Creating Worlds using (top) a bottom-up technique, e.g., procedural

generation, or (bottom) a top-down approach, starting from a geometrical model of the environment.

A pre-defined city populated with crowd patches, based on a template map.

(Right) The same image with apparent trajectories and patch borders.

Frame rate evolution (without rendering) for

a varying number of patches to simulate.

(18)

Thank you for your attention..

Thank you for your attention..

Questions ?…

(19)

References (VRlab)

P.Glardon, R.Boulic, D.Thalmann, Dynamic Obstacle Clearing for Real-time Character Animation, The Visual Computer, Vol.22, No6, 2006 399 414

2006, pp.399-414.

P.Glardon, R.Boulic, D.Thalmann, Robust On-line Adaptive Footplant Detection and Enforcement for Locomotion, The Visual Computer, Vol.22, No3, 2006, pp.194-209.

J. Maïm, S. Haegler, B. Yersin, P. Mueller, D. Thalmann, L. Van Gool, Populating Ancient Pompeii with Crowds of Virtual Romans, Proc. VAST 2007.

B.Yersin, J.Maïm, J.Pettré, D.Thalmann.B.Yersin, J.Maïm, J.Pettré, D.Thalmann.Crowd Patches: PopulatingCrowd Patches: Populating Large-Scale Virtual Environments for Real-Time Applications, ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games 2009.

F. Morini, B. Yersin, J. Maïm, and D. Thalmann, Real-Time Scalable Motion Planning for Crowds, The Visual Computer, 2008 B.

Yersin, J. Ma¨ım, P. de Heras Ciechomski, S. Schertenleib, and D.

Thalmann. Steering a virtual crowd based on a semantically augmented navigation graph. In Proc. V-CROWDS, 2005

B. Yersin, J. Maïım, and D. Thalmann. Real-time crowd motion planning: Scalable avoidance and group behavior. The Visual Computer, 24(10):859–870, 2008

B. Yersin, J.Maïım, M. Clavien, and D. Thalmann, Jonathan Maïm, Barbara Yersin, and Daniel Thalmann. Unique instances for crowds. To appear in IEEE Computer Graphics and Applications, 2009

J Pettre P de Heras J Maim B Yersin J P Laumond D Thalmann

J. Pettre, P. de Heras, J. Maim, B. Yersin, J.P. Laumond, D.Thalmann, Real-Time Navigating Crowds: Scalable Simulation and

Rendering, Computer Animation and Virtual Worlds, Vol.16, No3- 4, 2006, pp.445-456.

J. Pettré, H. Grillon and D. Thalmann, Crowds of Moving Objects:

Navigation Planning and SimulationProc. ICRA, Roma, Italy, 2007

S. R. Musse, C. Babski, T. Capin, D. Thalmann. Crowd modelling in collaborative virtual Environments. In Proc. ACM VRST, pages 115–

123, 1998.

S i R M d D i l Th l A hi hi l d l f

Soraia Raupp Musse and Daniel Thalmann. A hierarchical model for real time simulation of virtual human crowds. IEEE Transactions on Visualization and Computer Graphics, 7(2): 152–164, 2001

B. Ulicny, D. Thalmann, Towards Interactive Real-Time Crowd Behavior Simulation, Computer Graphics Forum, 21,4, 2002, pp.767-776

B. Ulicny, P. de Heras, and D. Thalmann. Crowdbrush: Interactive authoring of real-time crowd scenes. SCA’04: Proceedings of the g g ACM SIGGRAPH/Eurographics Symposium on Computer Animation, pages 243–252, 2004.

Referanser

RELATERTE DOKUMENTER

They span a wide range of computer graphics research such as Rendering, Image-based rendering and Augmented reality, BRDF and textures, Deformations, Visibility, Meshes, Animation

Using the original point cloud, texture patches are computed for each triangle in the output mesh.. In an iterative process, the patch size for each triangle is chosen such that

To detect collisions between deformable objects we introduce an algorithm that computes the closest distances between certain feature points defined in their meshes.. The strategy is

Our method combines tools for progressive mesh simplification based on local operations, together with tangential smoothing to keep a regular shape of patches, and subdivision

In the learning scenario, we use a single particle attached to a spring (reference model), and then we use the generated data to fit the regression model.. Moreover, we use

Figure 1: We compute a detailed map between subdivision surfaces given by their control meshes using a set of input landmarks (left), and use it to accurately transport highly

Problems arise when we ask for principal meshes that are also in ax- ial force equilibrium. Proper design tools are here currently missing: the available methods work only on

The basic concept of this experiment is that a strip of paper is attached to the top of a horizontal gel column, the end of the paper is attached to a positioner a distance above