{"id":649,"date":"2023-11-16T15:56:54","date_gmt":"2023-11-16T15:56:54","guid":{"rendered":"http:\/\/mycours.es\/realtime3D\/?page_id=649"},"modified":"2024-12-04T00:53:38","modified_gmt":"2024-12-04T00:53:38","slug":"resources-avatar-character","status":"publish","type":"page","link":"http:\/\/mycours.es\/realtime3D\/resources-avatar-character\/","title":{"rendered":"Resources: Avatar \/ Character"},"content":{"rendered":"<h2>Part I: Concept art<\/h2>\n<p>Sketch out the character in a dynamic pose first and a front and side for reference:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-640\" src=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/image_processing20221130-3926-sxlkh6.png\" alt=\"\" width=\"1600\" height=\"1200\" srcset=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/image_processing20221130-3926-sxlkh6.png 1600w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/image_processing20221130-3926-sxlkh6-300x225.png 300w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/image_processing20221130-3926-sxlkh6-1024x768.png 1024w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/image_processing20221130-3926-sxlkh6-768x576.png 768w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/image_processing20221130-3926-sxlkh6-1536x1152.png 1536w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/image_processing20221130-3926-sxlkh6-1200x900.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-641\" src=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/chris_sasaki_insideout_02.jpg\" alt=\"\" width=\"800\" height=\"593\" srcset=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/chris_sasaki_insideout_02.jpg 800w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/chris_sasaki_insideout_02-300x222.jpg 300w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/chris_sasaki_insideout_02-768x569.jpg 768w\" sizes=\"auto, (max-width: 800px) 85vw, 800px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-642\" src=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Image-4.png\" alt=\"\" width=\"856\" height=\"375\" srcset=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Image-4.png 856w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Image-4-300x131.png 300w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Image-4-768x336.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p>Some details can be sketched separately, feel free to add notes and separate parts.<\/p>\n<p>Pay attention to the basic shapes that form your character, and what they suggest about their personality and behavior.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-643\" src=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/aladin-shapes.jpg\" alt=\"\" width=\"1434\" height=\"959\" srcset=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/aladin-shapes.jpg 1434w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/aladin-shapes-300x201.jpg 300w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/aladin-shapes-1024x685.jpg 1024w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/aladin-shapes-768x514.jpg 768w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/aladin-shapes-1200x803.jpg 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-644\" src=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/2f14fff837d8173b43e04f703e14a98e.jpg\" alt=\"\" width=\"600\" height=\"389\" srcset=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/2f14fff837d8173b43e04f703e14a98e.jpg 600w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/2f14fff837d8173b43e04f703e14a98e-300x195.jpg 300w\" sizes=\"auto, (max-width: 600px) 85vw, 600px\" \/><\/p>\n<p>Pay attention to the silhouette, especially for game characters. Is it well defined and instantly recognizable?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-645\" src=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Fungoidbossortho.jpg\" alt=\"\" width=\"1200\" height=\"447\" srcset=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Fungoidbossortho.jpg 1200w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Fungoidbossortho-300x112.jpg 300w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Fungoidbossortho-1024x381.jpg 1024w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Fungoidbossortho-768x286.jpg 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Part II: Blocking<\/h2>\n<p>Create a first 3D iteration of your character. Focus on the main volumes, and don&#8217;t get carried away by adding details. Here are two simplified methods I recommend.<\/p>\n<p><strong>Method using subdivision surface modifier<\/strong>.<\/p>\n<p><iframe loading=\"lazy\" title=\"Character block out with subdivision surface modifier\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/NtmTJaVAmpU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Sculpting and retopo method<\/strong>.<br \/>\nLess technical modeling, more common in the industry, allows for more details, the difficult retopology part can be automated.<\/p>\n<p>In a nutshell: block out with Separate sculpted meshes &gt; join all the meshes &gt; highly detailed voxel remesh modifier to get rid of the intersection &gt; automatic retopology with Quad Remesher<br \/>\n<a href=\"https:\/\/exoside.com\/quadremesher\/\">Download Quad Remesher plugin for Blender and Maya here<\/a><\/p>\n<p><iframe loading=\"lazy\" title=\"Character block out in Blender and retopo with Quad Remesher\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/RQer-krr6KE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Don&#8217;t forget to activate dynotopo when sculpting details. I often use the constant detail flood fill to make a mesh more sculpting-friendly.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-653\" src=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Image-1.png\" alt=\"\" width=\"644\" height=\"378\" srcset=\"http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Image-1.png 644w, http:\/\/mycours.es\/realtime3D\/files\/2023\/11\/Image-1-300x176.png 300w\" sizes=\"auto, (max-width: 644px) 85vw, 644px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>Part III: Details<\/h2>\n<p>Adding details like eyes, finer body parts, clothing, and props.<\/p>\n<p><iframe loading=\"lazy\" title=\"Character modeling: adding details\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/E6ZFep8BooE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<p>Regarding clothing: here&#8217;s a nice thread about<a href=\"https:\/\/twitter.com\/delaneykingrox\/status\/1701413216952504565\"> hull vs layered meshes <\/a>, pro and cons from a game industry 3D modeler.<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=XKBONVoHSdA&amp;ab_channel=FruitZeus\">Here&#8217;s a tutorial on how you can do layered mesh clothing<\/a>, it&#8217;s a similar process.<\/p>\n<h2>Part IV: Materials and Textures<\/h2>\n<p>For this short intro assignment I recommend to either use solid colors by assigning different materials to the different meshes (or faces of a mesh), OR to texture-paint your character.<\/p>\n<p>For texture painting I do NOT recommend Procreate (too buggy) nor Blender (too annoying), but rather the industry standard Substance Designer, which is part of Adobe Creative Cloud.<\/p>\n<p>Here&#8217;s an intro tutorial focused on texture painting (color):<\/p>\n<p><iframe loading=\"lazy\" title=\"Intro to texture painting with Substance 3D painter\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/jAfq4uXqAXw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h2>Part V: Rigging<\/h2>\n<p>In this simplified pipeline we are going to automatically rig your character with Mixamo<\/p>\n<p><iframe loading=\"lazy\" title=\"Blender to mixamo\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/gqpuO93iVt4?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>You can also try <a href=\"https:\/\/actorcore.reallusion.com\/auto-rig\/accurig\">AccuRig<\/a> (Windows only at the moment)<\/p>\n<h2>Part V: Importing to Unity<\/h2>\n<p>How do materials work in Unity? How do I reassign\/recreate them in the engine?<\/p>\n<p><iframe loading=\"lazy\" title=\"Blender to Unity: materials\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/qExULdtGIoY?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>What is a Physics-Based Rendering material? How can I use PBR materials I find online in Unity? How can I apply a material without UV unwrapping?<\/p>\n<p><a href=\"https:\/\/github.com\/molleindustria\/PBRCreator\">Download the PBR Material Creator<\/a> to quickly create materials from texture sets, shown in the video below:<\/p>\n<p><iframe loading=\"lazy\" title=\"Importing PBR Materials into unity\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/Ua7KZRV0oGw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Lighting, environment, and post processing<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Unity: environment lighting and post processing\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/-3aAJH4zTaQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h2>Part VI: Adding interactivity<\/h2>\n<p><a href=\"https:\/\/github.com\/molleindustria\/CharacterAnimationPlayer\">Download the template<\/a> and create a scene with your character and animations.<\/p>\n<p>Note for next class: prepare a character controller template and various 3rd person views.<\/p>\n<p><iframe loading=\"lazy\" title=\"Animated Character Template\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/nslxVoWoR5U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<h2>Optional Demos<\/h2>\n<p>These videos may not apply to all projects.<\/p>\n<p><strong>Accessories (partenting objects)<\/strong><br \/>\nIf your character is holding objects or carrying accessories that are separate meshes that don&#8217;t deform with the armature, you can parent them to the bones.<\/p>\n<p><iframe loading=\"lazy\" title=\"Blender character parenting objects\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/_Qo7nlRkEBs?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Fixing armature deform (weight painting)<\/strong><br \/>\nAutomatic rigging in Mixamo may not produce perfect results. Don&#8217;t worry, you can still fix it in Blender with weight painting. Here&#8217;s a video introducing this excruciating process.<\/p>\n<p><iframe loading=\"lazy\" title=\"Blender basic weight painting\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/xwuocoNy9Gw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Secondary movements (adding bones)<\/strong><br \/>\nParts of your character can&#8217;t be animated with standard humanoid motion capture data: extra arms, hair, tails, wings, etc. Don&#8217;t worry, you can still use Mixamo for the human parts and add your extra bones.<\/p>\n<p><iframe loading=\"lazy\" title=\"Blender adding extra bones to a mixamo armature\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/HKRjC0yAwUA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Correction to the video: The extra &#8220;leaf&#8221; bone I mention at the end is not Mixamo&#8217;s fault but it&#8217;s a demented default option of the blender FBX exporter: under armature deselect &#8220;add leaf bones&#8221;.<\/p>\n<p>Dynamic Bones<br \/>\nNow that I added the bones I can use a script in the engine to simulate tails, snouts, fabric, soft body parts and other inert elements that follow the character (secondary action and follow through, in Disney&#8217;s principles of animation)<\/p>\n<p><iframe loading=\"lazy\" title=\"Unity: dynamic bones\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/r7vKO6UFK8I?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Animation (keyframes and ik)<br \/>\n<\/strong>Character animation is hard and can get very technical but the basics are quite straightforward.<br \/>\nHere&#8217;s a quick intro to making your own armature-based animations in Blender.<\/p>\n<p><iframe loading=\"lazy\" title=\"Blender Notes on character animation\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/TCDvG79BZ6E?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Facial expression (blendshapes)<br \/>\n<\/strong>Blendshapes or shape keys can be used to add extra non-bone deformations like facial expressions. They will have to be animated separately.<\/p>\n<p><iframe loading=\"lazy\" title=\"Blender character adding shape keys\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/FJgnV-1Ub08?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Mixamo Mocap animation + custom skin \/ rig\u00a0<\/strong><\/p>\n<p>What if your automatic rigging didn&#8217;t work because your character is not humanoid enough?<br \/>\nYou can use a standard armature, edit it, and apply the skin in blender. It can then be imported to mixamo and you can use all the mocap animations.<\/p>\n<p><a href=\"https:\/\/drive.google.com\/file\/d\/1E8c2_eols5odaDOAMO7NqQhEDWQZ2YIV\/view?usp=sharing\">Download the Mixamo standard armature<\/a><br \/>\n<a href=\"https:\/\/raw.githubusercontent.com\/MinaPecheux\/BlenderPlugins\/master\/Rigging\/MixamoRigRenamer.py\">Download the Mixamo armature renamer add on<\/a> if you don&#8217;t have it<\/p>\n<p><iframe loading=\"lazy\" title=\"Using Mixamo animations with custom rigs\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/ZYWeghcs5KA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>You can parent meshes to bones from a Mixamo standard armature to add accessories or create a character entirely made of objects, to be animated with mocap data.<\/p>\n<p><iframe loading=\"lazy\" title=\"Using Mixamo animation with a character made of rigid meshes\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/1X3P4G7OLJw?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>What if your clothes are on a separate mesh and\/or they are ignored by Blender&#8217;s parent with automatic weights? You can transfer (copy) the weights from a mesh to another according to the vertex proximity so they can follow the same armature.<\/p>\n<p><iframe loading=\"lazy\" title=\"Blender How To Transfer Weights\" width=\"840\" height=\"473\" src=\"https:\/\/www.youtube.com\/embed\/SCZP1PQQ4n8?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part I: Concept art Sketch out the character in a dynamic pose first and a front and side for reference: Some details can be sketched separately, feel free to add notes and separate parts. Pay attention to the basic shapes that form your character, and what they suggest about their personality and behavior. Pay attention &hellip; <a href=\"http:\/\/mycours.es\/realtime3D\/resources-avatar-character\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Resources: Avatar \/ Character&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-649","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/mycours.es\/realtime3D\/wp-json\/wp\/v2\/pages\/649","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/mycours.es\/realtime3D\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/mycours.es\/realtime3D\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/mycours.es\/realtime3D\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/mycours.es\/realtime3D\/wp-json\/wp\/v2\/comments?post=649"}],"version-history":[{"count":22,"href":"http:\/\/mycours.es\/realtime3D\/wp-json\/wp\/v2\/pages\/649\/revisions"}],"predecessor-version":[{"id":769,"href":"http:\/\/mycours.es\/realtime3D\/wp-json\/wp\/v2\/pages\/649\/revisions\/769"}],"wp:attachment":[{"href":"http:\/\/mycours.es\/realtime3D\/wp-json\/wp\/v2\/media?parent=649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}