{"id":142059971046,"date":"2016-05-20T17:05:58","date_gmt":"2016-05-20T15:05:58","guid":{"rendered":"http:\/\/blog.sketchfab.com\/?p=142059971046"},"modified":"2018-06-18T20:16:42","modified_gmt":"2018-06-18T18:16:42","slug":"art-spotlight-highland-cow","status":"publish","type":"post","link":"https:\/\/sketchfab.com\/blogs\/community\/art-spotlight-highland-cow\/","title":{"rendered":"Art Spotlight: Highland cow"},"content":{"rendered":"<p><em>In <a href=\"http:\/\/blog.sketchfab.com\/category\/art-spotlight\/\">Art Spotlight<\/a>, we invite Sketchfab artists to talk about one of their designs.<\/em><\/p>\n<p>Hey! My name\u2019s Juuso Mattila and I\u2019m a freelance game artist based in Turku, Finland. I got my foot under the game industry door about four years ago as a game programmer, but transitioned pretty quickly to more graphical sorts of things. Nowadays I mostly create outsourced art for a bunch of game companies with my studio Walk Mode, as well as do my own art projects (such as this cow) every now and again! Today I\u2019m talking about my basic workflows for creating a cartoony looking 3D bovine, as well as go over some stuff about how I took VR into account while making the model.<\/p>\n<h3>Concept<\/h3>\n<p>Most of the time I make some sort of sketchy drawing to get a vague idea for what I want to do, but never really anything too detailed: I want to leave a lot of stuff open for the 3D modeling process.<\/p>\n<p>For the highland cow, I skipped the concept art process entirely and just looked at cow pictures for some 15 minutes to get an idea for what I wanted to do. I was mostly looking for the things that give highland cows their characteristics: they look very chilled out and happy with the way life is going for them. And also kind of dumb. I deducted that this is mostly because of their big dumb heads, and their eyes are often obscured by the massive amount of hair. So those would be the most important features I need to nail in order to make a cool highland cow.<\/p>\n<h3>Geometry<\/h3>\n<p>I wanted the cow to work great with VR headsets available right now, from Google Cardboard to Oculus Rift. There are a lot of people figuring out what works and what doesn\u2019t in VR right now so the rules don\u2019t seem to be set in stone yet, but I\u2019ve been doing my own tests with cartoony looking models in particular and figured out some basic tips:<\/p>\n<ul>\n<li>The overall detail level needs to be low. In VR headsets available today, the resolution is something that needs to be taken well into account. If your models have too much detail in them, not all of it can be seen clearly and it ends up feeling like the viewer has poor vision. It\u2019s most obvious when there\u2019s for example too small text to read, but the same applies to just having too much stuff and small shapes going on in your models.<\/li>\n<li>Shading should be as smooth as possible. This is also mostly because of the resolution, smooth colors and shapes read very well in VR.<\/li>\n<li>You can\u2019t paint detail that implies depth into textures. This is of course kind of obvious since flat geometry looks, well, flat in VR, but it does change a lot of established 3D modeling best practices: you need to add extra vertices where you normally wouldn\u2019t to sell the 3D, and you can\u2019t add a lot of extra detail in textures without changing the geometry as well. Even normal mapped stuff looks really bad when viewed close up.<\/li>\n<\/ul>\n<p>So with these in mind, on to the modeling!<\/p>\n<p>With the limitations of VR in mind, I figured that fancier fur techniques such as fur shaders probably wouldn\u2019t work so great. And anyways, I wanted to do something simple and solid so I went with modeling all the fur directly onto the cow. For a while, I modeled the cow without any fur. Still, I added it pretty early on as it was so important for the look. I wanted the head to be the focal point so there\u2019s a lot more fur and detail going on there compared to the rest of it.<\/p>\n<p><a href=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image02-8.png\" rel=\"attachment wp-att-142059971050\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971050 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image02-8-1030x428.png\" alt=\"image02\" width=\"900\" height=\"374\" \/><noscript><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971050 lazyload\" src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image02-8-1030x428.png\" alt=\"image02\" width=\"900\" height=\"374\" srcset=\"https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image02-8-1030x428.png 1030w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image02-8-300x125.png 300w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image02-8-768x319.png 768w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image02-8-1204x500.png 1204w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image02-8.png 1722w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/noscript><\/a><\/p>\n<p>For this model I kept the low and high poly versions linked from start to finish, thus avoiding the need to do retopology for a final game-ready 3D model. This is not possible to do on all sorts of models, particularly if there\u2019s sculpting required, but here I used a bunch of Blender modifiers to make my high poly version which constantly updates as I make edits to the low poly model. Generally this causes some extra vertices in the final model compared to doing retopology by hand, but for VR most of the extra vertices are actually helpful in making things 3D so it\u2019s a good match for this technique.<\/p>\n<p><a href=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image04-5.png\" rel=\"attachment wp-att-142059971051\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971051 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image04-5-1030x351.png\" alt=\"image04\" width=\"900\" height=\"307\" \/><noscript><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971051 lazyload\" src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image04-5-1030x351.png\" alt=\"image04\" width=\"900\" height=\"307\" srcset=\"https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image04-5-1030x351.png 1030w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image04-5-300x102.png 300w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image04-5-768x262.png 768w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image04-5-1466x500.png 1466w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image04-5.png 1999w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/noscript><\/a><\/p>\n<p>This also allows for flexibility and easily going back and forth. For example, I was quite far into the texturing process when I realized I had forgot the ears entirely, but I was still able to pretty easily go back and make them, then continue with the textures.<\/p>\n<h3>Texturing<\/h3>\n<p>For the style I was going for, a lot of coloring by hand is required to get the final vibrant colors. However, I want to start out with a solid baked texture as a base. I baked three maps from the high poly version to the low poly model.<\/p>\n<p><a href=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image03-6.png\" rel=\"attachment wp-att-142059971052\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971052 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image03-6-1030x565.png\" alt=\"image03\" width=\"900\" height=\"494\" \/><noscript><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971052 lazyload\" src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image03-6-1030x565.png\" alt=\"image03\" width=\"900\" height=\"494\" srcset=\"https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image03-6-1030x565.png 1030w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image03-6-300x164.png 300w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image03-6-768x421.png 768w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image03-6-912x500.png 912w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image03-6.png 1976w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/noscript><\/a><\/p>\n<p>The first map is ambient occlusion with a plane placed below the model to make it darker towards the bottom. The second is just basic colors. The third map is a bit more interesting: it\u2019s a render with a light source placed above the model, and indirect lighting set to a very strong setting. This is useful because it spreads the colors around a little bit and makes things look soft and painterly. I combine these three maps in Photoshop along with some adjustment layers to produce this:<\/p>\n<p><a href=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image05-6.png\" rel=\"attachment wp-att-142059971053\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971053 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image05-6-1030x472.png\" alt=\"image05\" width=\"900\" height=\"412\" \/><noscript><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971053 lazyload\" src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image05-6-1030x472.png\" alt=\"image05\" width=\"900\" height=\"412\" srcset=\"https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image05-6-1030x472.png 1030w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image05-6-300x137.png 300w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image05-6-768x352.png 768w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image05-6-1091x500.png 1091w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image05-6.png 1648w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/noscript><\/a><\/p>\n<p>From this point on starts a labour-intensive process of going back and forth between Blender and Photoshop to hand-paint the final texture. I use a lot of Overlay blend mode for adding saturation and vibrance to the model in Blender\u2019s texture paint, then go back to Photoshop and touch things up. It\u2019s easy to go a bit too crazy when painting like this so every now and again I tone the texture down by blending some of the original bakes back into the model. I also baked a vertical gradient into a texture and used that to make the model more readable by darkening the texture towards the bottom.<\/p>\n<p><a href=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image00-7.png\" rel=\"attachment wp-att-142059971054\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971054 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image00-7-1030x472.png\" alt=\"image00\" width=\"900\" height=\"412\" \/><noscript><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971054 lazyload\" src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image00-7-1030x472.png\" alt=\"image00\" width=\"900\" height=\"412\" srcset=\"https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image00-7-1030x472.png 1030w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image00-7-300x137.png 300w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image00-7-768x352.png 768w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image00-7-1091x500.png 1091w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image00-7.png 1648w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/noscript><\/a><\/p>\n<h3>Rigging<\/h3>\n<p>Since my animation needs for this model will probably be pretty basic, I went for a \u201cminimum viable\u201d kind of rig.<\/p>\n<p><a href=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image01-6.png\" rel=\"attachment wp-att-142059971055\"><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971055 lazyload\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\" data-src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image01-6-1030x473.png\" alt=\"image01\" width=\"900\" height=\"413\" \/><noscript><img decoding=\"async\" class=\"aligncenter size-large wp-image-142059971055 lazyload\" src=\"http:\/\/blog.sketchfab.com\/wp-content\/uploads\/2016\/04\/image01-6-1030x473.png\" alt=\"image01\" width=\"900\" height=\"413\" srcset=\"https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image01-6-1030x473.png 1030w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image01-6-300x138.png 300w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image01-6-768x353.png 768w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image01-6-1088x500.png 1088w, https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/04\/image01-6.png 1247w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/noscript><\/a><\/p>\n<p>I set up IK for all the legs, but other than that there is no automation and just the bare essential bones to do simple animations with. I added one bone to the hair on the top of the cow\u2019s head, and two bones under its stomach to control the fur a little bit. While rigging, I had to go back to the texture for a couple of bits because the rigged model exposed parts that weren\u2019t previously visible. The biggest offender was the hair on top of the head, a lot of previously obscured parts had to be repainted to look better with animations.<\/p>\n<p>On the topic of animations I\u2019m not much of an expert: I wanted a basic idle loop to go with the cow\u2019s personality which I figured would mostly be just standing around with the occasional little hop.<\/p>\n<div class=\"sketchfab-embed-wrapper\">    <iframe title=\"Highland cow\" class=\"\" width=\"690\" height=\"388\" src=\"https:\/\/sketchfab.com\/models\/2c253fb457d54d908c161aa503547b1d\/embed\" frameborder=\"0\" allow=\"autoplay; fullscreen; xr-spatial-tracking\" allowfullscreen=\"\" mozallowfullscreen=\"true\" webkitallowfullscreen=\"true\" xr-spatial-tracking=\"true\" execution-while-out-of-viewport=\"true\" execution-while-not-rendered=\"true\" web-share=\"true\"><\/iframe><\/div>\n<p>And that\u2019s pretty much the model! I uploaded it to Sketchfab and it just worked\u00a0(\u2122). I think, in terms of showing off your 3D stuff, Sketchfab is a pretty killer app and it\u2019s bringing a lot of 3D work alive on the internet in a way images or animations can\u2019t. It\u2019s also darn neat to be able to check out models with google cardboard right from the player while developing assets for VR games!<\/p>\n<p>Thanks for reading, folks!<\/p>\n<h3>Thanks Juuso!<\/h3>\n<p>You can see more of Juuso&#8217;s work <a href=\"https:\/\/sketchfab.com\/flumba\">on his Sketchfab profile<\/a>. For more information on\u00a0his studio\u00a0Walk Mode Games visit their <a href=\"http:\/\/www.walkmode.com\/\" target=\"_blank\" rel=\"noopener nofollow\">website<\/a>, <a href=\"https:\/\/twitter.com\/walkmodegames\" target=\"_blank\" rel=\"noopener nofollow\">Twitter<\/a> or <a href=\"https:\/\/www.facebook.com\/walkmodegames\/\" target=\"_blank\" rel=\"noopener nofollow\">Facebook<\/a>.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Art Spotlight, we invite Sketchfab artists to talk about one of their designs. Hey! My name\u2019s Juuso Mattila and I\u2019m a freelance game artist<\/p>\n","protected":false},"author":2,"featured_media":142059984117,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[580],"tags":[],"class_list":["post-142059971046","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-art-spotlight"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/sketchfab.com\/blogs\/community\/wp-content\/uploads\/2016\/05\/art-spotlight-highland-cow.jpg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/posts\/142059971046","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/comments?post=142059971046"}],"version-history":[{"count":4,"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/posts\/142059971046\/revisions"}],"predecessor-version":[{"id":142059984118,"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/posts\/142059971046\/revisions\/142059984118"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/media\/142059984117"}],"wp:attachment":[{"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/media?parent=142059971046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/categories?post=142059971046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sketchfab.com\/blogs\/community\/wp-json\/wp\/v2\/tags?post=142059971046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}