SlideShare a Scribd company logo
‫روشهای‬‫برنامه‬‫نویسی‬
‫انیمیشن‬
‫برای‬
‫بازی‬‫های‬‫رایانه‬‫ای‬
‫امیرحسین‬‫فصیحی‬
‫فن‬‫افزار‬‫شریف‬
‫تیر‬1391
‫اهداف‬
•‫مروری‬‫بر‬‫روشهای‬‫فنی‬‫پیاده‬‫سازی‬‫انیمیشن‬‫در‬‫بازی‬‫ها‬
•‫روشهای‬‫بهینه‬‫سازی‬
•‫بررسی‬‫روش‬‫های‬‫جدید‬
•‫آشنایی‬‫با‬‫بعضی‬‫حوزه‬‫های‬‫تحقیقاتی‬‫علمی‬
•‫تحلیل‬‫فناوری‬‫های‬‫انیمیشن‬‫در‬‫برخی‬‫از‬‫بازی‬‫های‬‫روز‬
•‫میان‬‫افزارهای‬‫انیمیشن‬
‫انواع‬‫روشهای‬‫پیاده‬‫سازی‬‫انیمیشن‬‫در‬‫بازی‬
• Cel Animation
• Billboards with animated textures
• Rigid Hierarchical
• Vertex Animation
• Skinned Animation
Cel Animation
3D Animation
•‫بازی‬Doom
oQuad‫هایی‬‫به‬‫سمت‬‫دوربین‬
oAnimated Texture
3D Animation
Rigid Hierarchical Animation
Per Vertex Animation / Morph Target
Facial Morph Demo Video
Skinned Animation
Skinned Animation
• Software Skinning
• Hardware Skinning (GPU shaders)
Automatic Rigging
http://www.mit.edu/~ibaran/autorig/
‫زمان‬‫در‬‫انیمیشن‬
• Pose Interpolation / Continuous Time
• Time unit (seconds/frames)
• Frame/Sample
ttt = 0.2 ttt = 0.8 ttt = 1.3
Keyframe 1 Keyframe 2 Keyframe 3
‫قالب‬‫داده‬‫ای‬‫برای‬‫انیمیشن‬
• Joint 1
o Keyframe 1
 Translation
• x, y, z
 Orientation
• x, y, z, w
 Scale
• x, y, z
o Keyframe 2
 Translation
• .....
o ....
• Joint 2
o ....
‫انیمیشن‬‫به‬‫عنوان‬‫روش‬‫فشرده‬‫سازی‬
‫اطالعات‬‫الزم‬:‫موقعیت‬‫هر‬vertex‫در‬‫هر‬‫لحظه‬‫از‬‫زمان‬.
‫هدف‬:‫ذخیره‬‫کمترین‬‫اطالعات‬
Animation Retargeting
• Real-time motion retargetting to highly varied
user created morphologies (Spore)
• http://chrishecker.com/Real-time_motion_retargeting_to_highly_varied_user-created_morphologies
• Feature points based facial animation
retargetting
• http://dl.acm.org/citation.cfm?id=1450621
Havok Animation Retargeting Video
Metachannels
• Events
o Time = 0.5
 footstep left
o Time = 1.5
 footstep right
o ...
• ...
Animation Blending
LERP Blending
• Temporal Interpolation
• Motion Continuity (Cross Fading)
• Directional Locomotion
o Targeted Movement
o Pivotal Movement
• Complex LERP Blend
o Generalized one dimensional
o Simple Two dimensional
o Triangular Two dimensional
o Generalized Two dimensional
Blending
• Partial skeleton blending
• Additive blending
o Stance variation
o Locomotion noise
o Aim and look at
o Overloading time axis
Partial Blending
Uncharted 2
Additive Blending
Blend Trees
Blend Tree
UDK Blend Tree Video
Post Processing
• Procedural Animation
• Inverse Kinematics
• Ragdolls
Ragdolls
Ragdolls in Diablo 3 (box2d.googlecode.com/files/GDC2012_ErinCatto_Ragdolls.pdf)
Leg IK
Animation Pipeline
• Clip decompression and pose extraction
• Pose blending
• Global pose generation
• Post-processing
• Recalculation of global poses
• Matrix palette generation
‫بهینه‬‫سازی‬‫انیمیشن‬
•‫استفاده‬‫از‬‫حافظه‬‫کمتر‬
•‫استفاده‬‫از‬‫حافظه‬‫بصورت‬cache friendly
‫کمتر‬ ‫حافظه‬ ‫از‬ ‫استفاده‬–‫سازی‬ ‫فشرده‬
• Channel Omission
• Quantization
o Scalar Quantization
(Jonathan Blow: http://number-
none.com/product/Scalar%20Quantization/index.html)
• Sample Frequency and Key Omission
• Curve Based Compression (B-Splines, Granny)
• Selective Loading and Streaming
Curve Based Compression (B-Splines)
30fps -> 90 frames -> 90 * 32bits = 27180 bits
Curve Fitting -> 7 data points -> 7 * 32bits = 224 bits
t = 3 sec
q
CPU Cache
Bitsquid Engine (Low Level Animation System)
http://bitsquid.blogspot.com/2009/11/bitsquid-low-level-animation-system.html
http://bitsquid.blogspot.com/2011/10/low-level-animation-part-2.html
Multithreaded Animation
• Intel Horsepower demo:
http://software.intel.com/en-us/articles/horsepower-source-code-download/
Intel Horsepower Demo
Single Threaded Animation
Intel Horsepower Demo
Multithreaded Animation
Animation Layering
Face Layer - Partial
Hand Layer - Partial
Hair Layer - Partial
Base Layer - Full Body
Run Randomness Layer - Additive
Weapon Layer - Partial
Breathing Layer - Additive
Animation and Player Control in Uncharted 1 & 2, Travis
McIntosh, GDC 2010
Physics Based Animation
•‫شبیه‬‫سازی‬‫فیزیکی‬‫برای‬‫مدل‬
•‫استفاده‬‫از‬‫انیمیشن‬‫از‬‫پیش‬‫تعریف‬‫شده‬
•‫ترکیب‬‫شبیه‬‫سازی‬‫و‬‫انیمیشن‬
•‫اعمال‬‫انیمیشن‬‫بر‬‫روی‬‫اعضای‬‫فیزیکی‬‫و‬‫سپس‬‫شبیه‬‫س‬‫ازی‬
Dynamic, data-driven character control with
adjustable balance, Dynamo
http://graphics.cs.williams.edu/papers/DynamoVGS06
Dynamo Video - Adaptation
Dynamo Video - Balance
Dynamo - Boxing
Dynamo - Failure
Dynamic Response for Motion
Capture Animation
http://graphics.cs.ucr.edu/projects/dynResp/mocsim2.html
Dynamic Response
Dynamic Motion Synthesis
• Natural Motion (Endorphin, Euphoria)
http://naturalmotion.com
• Games
o Read Dead Redemption
o GTA IV
o Star Wars: The Force Unleashed
Natural Motion - Euphoria
‫پایه‬‫فناوری‬
‫شبکه‬‫عصبی‬‫و‬‫الگوریتم‬‫های‬‫ژنتیکی‬
Dynamic Motion Synthesis – Read Dead
Redemption
Dynamic Motion Synthesis – GTA IV
Dynamic Motion Synthesis – Star Wars, Force
Unleashed
Parametric Motion Graphs
•‫ذخیره‬‫داده‬‫های‬‫حرکتی‬،‫عمدتا‬‫از‬Motion Capture
•‫آنالیز‬‫داده‬‫ها‬‫و‬‫ساخت‬Motion Graph
•‫انجام‬‫جستجوی‬real-time‫در‬‫هنگام‬‫اجرای‬‫بازی‬
Motion Graphs Research
Motion Graphs
http://research.cs.wisc.edu/graphics/Papers/Gleicher/Mocap/mograph.pdf
Parametric Motion Graphs
http://pages.cs.wisc.edu/~heckr/Papers/PMGFullPaper.pdf
Parametric Motion Graphs Demo Video
‫انیمیشن‬‫و‬‫هوش‬‫مصنوعی‬
•‫انتخاب‬‫حرکت‬
oMotion Graph
o‫فیزیکی‬
active
passive
•‫هم‬‫راستا‬‫با‬‫تحقیقات‬‫کنترل‬‫و‬‫روباتیک‬
Animation-Driven Locomotion
Animation Driven Locomotion for Smoother
Navigation (GDC 2012)
Bobby Anguelov
AI Programmer IO Interactive
Gabriel Leblanc
AI Programmer, Eidos
Shawn Harris
Senior Programmer, Big Huge Games
‫میان‬‫افزارهای‬‫انیمیشن‬
• Natural Motion, Morpheme
• Autodesk, HumanIK
• RAD Game Tools, Granny
• Havok Animation/Behavior
• Chemical Games, Alienmotion
Animation Middleware - Alienmotion
• Game Engine Architecture, Jason Gregory
• Bisquid.se
• Game Programming Gems Series
• AI Game Programming Wisdom Series
• gamasutra.com
‫سایر‬‫منابع‬
‫سوال؟‬
fassihi@fanafzar.com
@ahfassihi

More Related Content

PDF
Videogame Optimization
PDF
Lets Play Together
PPTX
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
PDF
Mobile Performance Tuning: Poor Man's Tips And Tricks
PDF
De Re PlayStation Vita
PPTX
Parallelizing Conqueror's Blade
PPT
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
PDF
Sephy engine development document
Videogame Optimization
Lets Play Together
Scale CPU Experiences: Maximize Unity* Performance Using the Entity Component...
Mobile Performance Tuning: Poor Man's Tips And Tricks
De Re PlayStation Vita
Parallelizing Conqueror's Blade
How we optimized our Game - Jake & Tess' Finding Monsters Adventure
Sephy engine development document

What's hot (17)

PDF
Practical SPU Programming in God of War III
PPTX
Practical Guide for Optimizing Unity on Mobiles
PPTX
Practical guide to optimization in Unity
KEY
Emulating With JavaScript
PDF
BSidesDelhi 2018: Headshot - Game Hacking on macOS
PDF
Create a Scalable and Destructible World in HITMAN 2*
PPTX
VFX Alchemy (DevGamm conference. Alexander Fedotovsky) eng
PPTX
Supersize your production pipe enjmin 2013 v1.1 hd
PPTX
OGDC2013_ Spine Animation_ Mr Alviss Ha
PDF
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
PDF
Stupid Video Tricks, CocoaConf Seattle 2014
PPTX
Adding more visuals without affecting performance
PPTX
Battlefield 4 + Frostbite + Mantle
PDF
【Unite 2017 Tokyo】スクリプタブル・レンダーパイプラインのカスタマイズと拡張
PPTX
Ottawa unity user_group_feb13_2015
PPTX
Raspberry Pi Gaming Rig
PDF
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Practical SPU Programming in God of War III
Practical Guide for Optimizing Unity on Mobiles
Practical guide to optimization in Unity
Emulating With JavaScript
BSidesDelhi 2018: Headshot - Game Hacking on macOS
Create a Scalable and Destructible World in HITMAN 2*
VFX Alchemy (DevGamm conference. Alexander Fedotovsky) eng
Supersize your production pipe enjmin 2013 v1.1 hd
OGDC2013_ Spine Animation_ Mr Alviss Ha
GS-4145, Oxide discusses how Mantle enables game engine performance, by Dan B...
Stupid Video Tricks, CocoaConf Seattle 2014
Adding more visuals without affecting performance
Battlefield 4 + Frostbite + Mantle
【Unite 2017 Tokyo】スクリプタブル・レンダーパイプラインのカスタマイズと拡張
Ottawa unity user_group_feb13_2015
Raspberry Pi Gaming Rig
Computer Vision Powered by Heterogeneous System Architecture (HSA) by Dr. Ha...
Ad

Similar to Animation Programming Techniques (20)

PPTX
Making a game with Molehill: Zombie Tycoon
PPT
Ghajini - The Game Development
PPTX
Developing Next-Generation Games with Stage3D (Molehill)
PDF
Cocos2d programming
PPTX
PG Day Us: Animations for Web & Hybrid
PPTX
PDF
Animation LOA
PDF
Smooth Animations for Web & Hybrid
PDF
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
PDF
Qualcomm Snapdragon Processors: A Super Gaming Platform
PDF
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
PDF
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
PDF
Core Image
PPTX
TMD2063 | Digital Animation - Chapter 2
PPTX
Animation graphics
PDF
BINARY DATA ADVENTURES IN BROWSER JAVASCRIPT
PDF
ميهين
PPTX
4,000 Adams at 90 Frames Per Second | Yi Fei Boon
PPTX
Practical Volume Rendering for realtime applications
PPTX
rlottie - a new approach to motion graphics ui
Making a game with Molehill: Zombie Tycoon
Ghajini - The Game Development
Developing Next-Generation Games with Stage3D (Molehill)
Cocos2d programming
PG Day Us: Animations for Web & Hybrid
Animation LOA
Smooth Animations for Web & Hybrid
UplinQ - qualcomm® snapdragon™ processors a super gaming platform
Qualcomm Snapdragon Processors: A Super Gaming Platform
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
【Unite 2017 Tokyo】インスタンシングを用いた美麗なグラフィックの実現方法
Core Image
TMD2063 | Digital Animation - Chapter 2
Animation graphics
BINARY DATA ADVENTURES IN BROWSER JAVASCRIPT
ميهين
4,000 Adams at 90 Frames Per Second | Yi Fei Boon
Practical Volume Rendering for realtime applications
rlottie - a new approach to motion graphics ui
Ad

More from Amir H. Fassihi (20)

PDF
INTJ Game Developers - 16 Personalities Workshop
PDF
ENFP Game Developers - 16 Personalities Workshop
PDF
Founder-Game Director Workshop (Session 3)
PDF
Founder-Game Director Workshop (Session 2)
PDF
Founder-Game Director Workshop (Session 1)
PDF
کارگاه چشم‌انداز در بازی سازی
PDF
Planning Chaos - Online Workshop
PDF
Planning Chaos
PDF
کارگاه مبانی بازی سازی
PDF
کارگاه سفر بازی‌ساز
PDF
کارگاه مدیریت تیم خلاق ۳
PDF
کارگاه مدیریت تیم خلاق ۲
PDF
مدیریت تیم خلاق ۱
PDF
کسب‌و‌کار بازی‌های ویدیویی ۳
PDF
داستان هیولا
PDF
کسب‌و‌کار بازی‌های ویدیویی ۲
PDF
کسب‌و‌کار بازی‌های ویدیویی
PDF
بازی‌سازی در فن‌افزار - ۱۳۹۶
PDF
کارگاه کار تیمی
PDF
تیم ایرانی و مهر
INTJ Game Developers - 16 Personalities Workshop
ENFP Game Developers - 16 Personalities Workshop
Founder-Game Director Workshop (Session 3)
Founder-Game Director Workshop (Session 2)
Founder-Game Director Workshop (Session 1)
کارگاه چشم‌انداز در بازی سازی
Planning Chaos - Online Workshop
Planning Chaos
کارگاه مبانی بازی سازی
کارگاه سفر بازی‌ساز
کارگاه مدیریت تیم خلاق ۳
کارگاه مدیریت تیم خلاق ۲
مدیریت تیم خلاق ۱
کسب‌و‌کار بازی‌های ویدیویی ۳
داستان هیولا
کسب‌و‌کار بازی‌های ویدیویی ۲
کسب‌و‌کار بازی‌های ویدیویی
بازی‌سازی در فن‌افزار - ۱۳۹۶
کارگاه کار تیمی
تیم ایرانی و مهر

Recently uploaded (20)

PPTX
bas. eng. economics group 4 presentation 1.pptx
PPTX
CH1 Production IntroductoryConcepts.pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Artificial Intelligence
PPT
introduction to datamining and warehousing
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Well-logging-methods_new................
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
additive manufacturing of ss316l using mig welding
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PPTX
Current and future trends in Computer Vision.pptx
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PPT
Project quality management in manufacturing
PPTX
Lecture Notes Electrical Wiring System Components
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
Sustainable Sites - Green Building Construction
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PDF
PPT on Performance Review to get promotions
bas. eng. economics group 4 presentation 1.pptx
CH1 Production IntroductoryConcepts.pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Artificial Intelligence
introduction to datamining and warehousing
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Well-logging-methods_new................
Foundation to blockchain - A guide to Blockchain Tech
additive manufacturing of ss316l using mig welding
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
Current and future trends in Computer Vision.pptx
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Project quality management in manufacturing
Lecture Notes Electrical Wiring System Components
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Sustainable Sites - Green Building Construction
R24 SURVEYING LAB MANUAL for civil enggi
PPT on Performance Review to get promotions

Animation Programming Techniques