Bones Skeletal Unity-2D How & When

Slides:



Advertisements
Similar presentations
Animation in Video Games presented by Jason Gregory
Advertisements

Animation Parenting 1Copyright © Texas Education Agency, All rights reserved. Images and other multimedia content used with permission.
Links and Joints.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
3D Graphics for Game Programming (J. Han) Chapter XI Character Animation.
Character Setup Character Setup is the process of creating handles and controls for anything that a character animator will need to adjust in order to.
Chapter 4: IMD Chapter 4: Character Animation Character Animation 1 Lecturer: Norhayati Mohd Amin.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
1Notes  Handing assignment 0 back (at the front of the room)  Read the newsgroup!  Planning to put 16mm films on the web soon (possibly tomorrow)
1Notes  Assignment 0 marks should be ready by tonight (hand back in class on Monday)
Introduction to Robotics
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
Character Animation CSE 191A: Seminar on Video Game Programming Lecture 5: Character Animation UCSD, Spring, 2003 Instructor: Steve Rotenberg.
CSCE 641: Forward kinematics and inverse kinematics Jinxiang Chai.
UFCEKT-20-33D Modelling and Animation 3D Modelling & Animation Character Animation: Skeletons and Joints.
Kinematics. ILE5030 Computer Animation and Special Effects2 Kinematics The branch of mechanics concerned with the motions of objects without regard to.
Inverse Kinematics.
CSCE 689: Forward Kinematics and Inverse Kinematics
Animation. Outline  Key frame animation  Hierarchical animation  Inverse kinematics.
Introduction to 3D Beginner: the class Instructor : Hee Holmen.
Week 4 Lecture 3: Character Animation Based on Interactive Computer Graphics (Angel) - Chapter 10 1 Angel: Interactive Computer Graphics 5E © Addison-Wesley.
3D Models, Textures and Bone Animations for Games.
CSE 473 Dr. Charles B. Owen Fundamentals of 3D Game Development1 Skeletons and Skinning Bones and Skeletons Mesh Skinning.
Hierarchical Transformations and Models CSE 3541 Matt Boggus.
Characters.
Chapter 5.2 Character Animation. CS Overview Fundamental Concepts Animation Storage Playing Animations Blending Animations Motion Extraction Mesh.
Advanced Graphics (and Animation) Spring 2002
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Kinematic Linkages.
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
Lecture 2: Introduction to Concepts in Robotics
Course Introduction CSIS 5835: Graphics and Animation for Gaming.
Simulation and Animation
SE 313 – Computer Graphics Lecture 6: Transformations Lecturer: Gazihan Alankuş Please look at the last three slides for assignments (marked with TODO)
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Kinematics Jehee Lee Seoul National University. Kinematics How to animate skeletons (articulated figures) Kinematics is the study of motion without regard.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging.
CS-378: Game Technology Lecture #13: Animation Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica.
Character Setup In addition to rigging for character models, rigging artists are also responsible for setting up animation controls for anything that is.
1cs426-winter-2008 Notes  Will add references to splines on web page.
CS 450: COMPUTER GRAPHICS ANIMATION SPRING 2015 DR. MICHAEL J. REALE.
Skeletal Animation and Skinning A (hardware friendly) software approach By: Brandon Furtwangler.
CNM 190 Advanced Digital Animation Lec 10 : Inverse Kinematics & Automating Animation Dan Garcia, EECS (co-instructor) Greg Niemeyer, Art (co-instructor)
1cs426-winter-2008 Notes. 2 Kinematics  The study of how things move  Usually boils down to describing the motion of articulated rigid figures Things.
Chapter 6.7 Animation. 2 Overview When to use animation Feedback to player about interaction with UI and in-game action Communicating environmental* conditions.
Inverse Kinematics CSIS 5838: Graphics and Animation for Gaming.
CSCE 441: Computer Graphics Forward/Inverse kinematics Jinxiang Chai.
Kinematics Intro :a branch of dynamics that deals with aspects of motion apart from considerations of mass and force Merriam-Webster.
Industrial Automation and Robotics
CGDD 4003 Character Animation. The Skeletal Hierarchy (aka the “rig”) Based on the concept of bones Each bone has exactly one parent Each bone has a transform.
Object Animation CMT3317. Do you need to do animation? We consider ways of animating composite objects – that have a number of different parts e.g. a.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 19 and 20 Character Animation with Armature.
Fundamentals of Computer Animation
CSCE 441: Computer Graphics Forward/Inverse kinematics
RoboVis Alistair Wick.
Character Animation Forward and Inverse Kinematics
COMPUTER GRAPHICS CHAPTER 35 CS 482 – Fall 2017 ANIMATION
Character Rigging for Animation in Maya
Computer Animation cgvr.korea.ac.kr.
Computer Animation Ying Zhu Georgia State University
Chapter 6.7 Animation.
Chapter 6.7 Animation.
Skeletons and Skinning
CSCE 441: Computer Graphics Forward/Inverse kinematics
Real-time Skeletal Skinning with Optimized Centers of Rotation
Chapter XIII Character Animation
Prepared by: Engr . Syed Atir Iftikhar
Chapter I Introduction
UMBC Graphics for Games
Computer Graphics Lecture 15.
Chapter 4 . Trajectory planning and Inverse kinematics
Presentation transcript:

Bones Skeletal Unity-2D How & When (Computer Graphics Seminar) by: Mahir gulzar

Agenda Introduction Core Terminologies (Descriptive) Spritesheet Animation Unity Anima-2D A Short Demonstration Summary

Goals: By the end of the presentation you would have: Good concept of skeletal animation pipeline Basic knowledge to work with 2D sprites A working package to get hands on experience

Introduction Have you ever wondered how a character walks, jumps, run or do many more human like actions in games ? Yes they are animations How are they made?

Introduction Major 3D softwares like 3ds Max and Maya have built-in functionality of Bone System. Models are rigged with boning and are exported as complete package.

Introduction 3D games today use these pre-rendered animations which are exported with the 3D model. You import the model as well as the animations which are provided with it. Not just Humanoid but other Generic animations as well.

Confused?

Lets Talk about Core Terminologies Bones Joints Inverse Kinematics (IK) Mesh Deformation (Skinning) Rig (Rigging)

How many bones should be here..

How many bones should be here.. 2 Right? Source: http://apprize.info/programming/direct3d/5.html

Bones A gameObject (type of object) in 3d/2d world space Represents set of vertices. Independently movable. Can have parent child relationship in hierarchy. In-fact no physical and calculable presence in a scene.

Two Gameobjects Source: http://apprize.info/programming/direct3d/5.html

Joints Building block of skeletons Point of articulation (contact between bones) No Shape Bones attached with each other through joint.

Joints Consider them as hooks on both sides of a stick..

Joints Types Ball Joint Universal Joint Hinge Joint

Joints Types Ball Joint A ball joint is a joint that can rotate about all three of its local axes. For example, the human shoulder is a ball joint.

Joints Types Universal Joint A universal joint is a joint that can rotate about only two of its local axes. The human wrist is a good example of a universal joint, though the wrist has limitations on the extent it can rotate.

Joints Types Hinge Joint A hinge joint is a joint that can rotate about only one of its local axes. For example, the human knee is a hinge joint.

Joint Attributes Limits Degree of freedom Damping Stiffness

Joint Attributes Limits Degree of Freedom Joint Limit Information attributes specify the minimum and maximum translation, rotation, and scaling values for a joint.  For example elbow rotation. Degree of Freedom The Degrees of freedom determines which local axes the joints can rotate.

Joint Attributes Damping Stiffness Joint damping applies resistance to a joint as it approaches its joint limits. Instead of the joint abruptly stopping when it reaches its limits, you can smooth it with damping. Stiffness Joint stiffness specifies a joint’s resistance to rotation during inverse kinematics animations.

Inverse Kinematics (IK)

Inverse Kinematics (IK) A very powerful tool in game development.  Originated from Robotics Purpose is to calculate positions for a joint system so that it will reach a certain end goal.

Inverse Kinematics (IK) For the idea lets just define forward kinematics first. I have a starting point (for example, the equivalent of your shoulder on your arm), The length of all the parts, The angles between those parts, I should be able to calculate the end position with some mathematical function right ?

Inverse Kinematics (IK) Forward Kinematics: Example

Inverse Kinematics (IK) Inverse Kinematics isn’t about getting the end effector. I have the endpoint or the goal. I want to find a configuration of joint system. So that it will reach the goal. In other words the angles on each joint must be calculated

Inverse Kinematics (IK) Inverse Kinematics: Example

A Better Demonstration

FABRIK Algorithm: Forward and Backward Reaching IK Two Stages: Sets the end position at the target. Work backward and forward by finding the line between the most recently updated point and next point in chain.

FABRIK Algorithm: Forward and Backward Reaching IK

FABRIK Algorithm: Forward and Backward Reaching IK

FABRIK Algorithm: Forward and Backward Reaching IK

Inverse Kinematics There are many other robust algorithms other than fabric but I’ll stop here because we understood the basic idea behind computation of Inverse Kinematics. http://www.academia.edu/9165835/FABRIK_A_fast_iterative_solver_for_the_Inverse_Kinematics_problem

NOT SO FAST..!!! Why do we really need Inverse Kinematics ?

Mesh Deformation (Skinning) A 3D model is built on mesh of polygons. Polygons have vertices. The goal of mesh deformation is to move vertices. Cool Demos: http://www.alecjacobson.com/weblog/media/skinning-demo.gif http://catlikecoding.com/unity/tutorials/mesh-deformation/ Source: http://help.shade3d.jp/en/support/ShadeHelp/latest/Manual/Reference/200_Animation_Related/WeightPainting/02_WeightPainting.html

Mesh Deformation (Skinning) Envelopes Painted Weight Numerical Assignment (Advanced) Book: Digital Character Animation-3 Source: http://www.peachpit.com/articles/article.aspx?p=483773&seqNum=3

Rigging (The Whole Process) Well everything we understood previously is called rigging. To make it simple it’s a process of creating skeleton so that the model or character can move. A very technical and overwhelming process.

Material: Advanced Methods in Computer Graphics

So Far So Good…. We understood how bone skeleton works in general. The idea behind this whole discussion was to introduce 2D Bone Skeletal in Unity Engine. You know the basics this will be easy now…

Spritesheet Animation (Naive Method) Multiple sprites on single sheet (Better optimization) Swap images rapidly to see the animation.

Spritesheet Animation (Naive Method) Large Storage Inflexible Not Smooth Great Performance

Unity Anima-2D (Skeletal Animation) Small Textures Flexible Smooth Enabling Skinning Enable Procedural Animations CPU/GPU Intensive

Unity Anima-2D (Skeletal Animation) We need Just Sprites nothing else Wait… What about Skinning? Precise Geometry Bones, joints, Inverse kinematics High quality weights

Unity Anima-2D Components Bone2D Sprite Mesh Instance IK Limb 2D IK CCD2D Pose Manager

Unity Anima-2D Components Bone2D

Unity Anima-2D Components Sprite Mesh Instance

Unity Anima-2D Components Ik Limb 2D

Unity Anima-2D Components Ik CCD2D

Unity Anima-2D Components Pose Manager

Demo Time ;)

References and Links Bones and Vertices: http://apprize.info/programming/direct3d/5.html Vertices: https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Advanced_Tutorials/Advanced_Animation/Guided_tour/Mesh/vg http://help.shade3d.jp/en/support/ShadeHelp/latest/Manual/Reference/200_Animation_Related/WeightPainting/02_WeightPainting.html Joints: https://knowledge.autodesk.com/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/Maya/files/GUID-1B59334F-2605-44C3-B584-A55B239A2CBE-htm.html https://se.mathworks.com/help/physmod/sm/mech/ref/universal.html 4. Inverse Kinematics: http://wiki.roblox.com/index.php?title=Inverse_kinematics

References and Links 5. Anima-2D: https://anima2d.com/documentation https://www.assetstore.unity3d.com/en/#!/content/45879

Thank You 