bones skeletal unity 2d how when
play

Bones Skeletal Unity-2D How & When (Computer Graphics Seminar) - PowerPoint PPT Presentation

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


  1. Bones Skeletal Unity-2D How & When (Computer Graphics Seminar) BY: MAHIR GULZAR

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

  3. 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 •

  4. 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?

  5. 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.

  6. 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. •

  7. Confused?

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

  9. How many bones should be here..

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

  11. 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. •

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

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

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

  15. Joints Types • Ball Joint • Universal Joint • Hinge Joint

  16. 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.

  17. 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.

  18. 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.

  19. Joint Attributes • Limits • Degree of freedom • Damping • Stiffness

  20. Joint Attributes • Limits 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.

  21. Joint Attributes • Damping 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.

  22. Inverse Kinematics (IK)

  23. 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.

  24. 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 ?

  25. Inverse Kinematics (IK) • Forward Kinematics: Example

  26. 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

  27. Inverse Kinematics (IK) • Inverse Kinematics: Example

  28. • A Better Demonstration

  29. 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.

  30. FABRIK Algorithm: Forward and Backward Reaching IK

  31. FABRIK Algorithm: Forward and Backward Reaching IK

  32. FABRIK Algorithm: Forward and Backward Reaching IK

  33. 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_Inv erse_Kinematics_problem

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

  35. 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_Rel ated/WeightPainting/02_WeightPainting.html

  36. 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

  37. 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. •

  38. Material: Advanced Methods in Computer Graphics

  39. 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… •

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

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

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

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

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

  45. Unity Anima-2D Components Bone2D •

  46. Unity Anima-2D Components Sprite Mesh Instance •

  47. Unity Anima-2D Components Ik Limb 2D •

  48. Unity Anima-2D Components Ik CCD2D •

  49. Unity Anima-2D Components Pose Manager •

  50. Demo Time ;)

  51. References and Links 1. Bones and Vertices: http://apprize.info/programming/direct3d/5.html 2. Vertices: https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Advanced_Tutorials/Advan • ced_Animation/Guided_tour/Mesh/vg http://help.shade3d.jp/en/support/ShadeHelp/latest/Manual/Reference/200_Anim • ation_Related/WeightPainting/02_WeightPainting.html 3. 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 •

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

  53. Thank You 

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend