-
Notifications
You must be signed in to change notification settings - Fork 5
/
human-hand.html
207 lines (175 loc) · 11.5 KB
/
human-hand.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<title>Modeling a Human Hand ▪ Topology Guides</title>
<!--
<meta name="description" content="Today we’re going to take a look at a very common modeling task modeling hands. Hands are one of the most complex shapes on the human body to model. An arm is one thing, but another five appendages? Topology and mesh density can quickly get out of hand (pun intended)....">
-->
<meta name="description" content="Guides for 3d Artists">
<meta name="keywords" content="3d modeling, organic, topology, 3d, blender, b3d, hand">
<link rel="canonical" href="http://topologyguides.com/human-hand">
<meta name="twitter:card" content="summary" />
<meta name="twitter:title" content="Modeling a Human Hand" />
<meta name="twitter:description" content="Guides for 3d Artists" />
<meta name="twitter:image" content="http://topologyguides.com" />
<meta name="author" content="">
<link rel="author" href="">
<meta property="og:locale" content="">
<meta property="og:type" content="article">
<meta property="og:title" content="Modeling a Human Hand">
<meta property="og:description" content="Guides for 3d Artists">
<meta property="og:url" content="http://topologyguides.com/human-hand">
<meta property="og:site_name" content="Topology Guides">
<link rel="stylesheet" href="/assets/vendor/normalize-css/normalize.css">
<link rel="stylesheet" href="/assets/css/main.css">
<link rel="shortcut icon" type="image/png" href="/favicon.png">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Oswald:400,400italic,700,700italic, Lora:400,400italic">
<style>
html {
font-family: "Oswald", "Lora", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
}
</style>
<body>
<div class="wrapper" id="blep">
<header>
<div class="menu">
<div class="logo">
<a href="/">Topology Guides</a>
<br>
<h3 style="margin-top: 0em;">Guides for 3d Artists</h3>
</div>
</div>
<div class="social">
<div class="nav">
<ul>
<li><a href="/">home</a>
<li><a href="/about">about</a>
<li><a href="/encyclopedia">encyclopedia</a>
<li><a href="/archive">archive</a>
</ul>
</div>
<ul>
<li>
<a href="https://github.com/TopologyGuides/topologyguides.github.io" target="_blank" class="smaller">
<span class="icon-github"></span>
</a>
<li>
<a href="/feed.xml" target="_blank">
<span class="icon-rss_feed"></span>
</a>
<li>
<a href="#" onclick="switchTheme()" title="Switch theme?">
<span class="icon-invert_colors" id="theme-switcher"></span>
</a>
</ul>
</div>
</header>
<article class="post">
<div class="post-title-container
no-hero-margin
">
<!--Post hero image source-->
<div class="heading-container ">
<h1>
Modeling a Human Hand
</h1>
<div class="post-meta">
<span>14/06/2020</span>
<span>
<a href="/tag/3d modeling">#3d modeling</a>
<a href="/tag/organic">#organic</a>
<a href="/tag/topology">#topology</a>
<a href="/tag/3d">#3d</a>
<a href="/tag/blender">#blender</a>
<a href="/tag/b3d">#b3d</a>
<a href="/tag/hand">#hand</a>
</span>
</div>
</div>
</div>
<p>Today we’re going to take a look at a very common modeling task modeling hands. Hands are one of the most complex shapes on the human body to model. An arm is one thing, but another five appendages? Topology and mesh density can quickly get out of hand (pun intended). Furthermore, animated ready hands must be ready to deform in almost any shape while still looking good.
<p>So without further ranting, here’s a couple tips for modeling your next hand. Once you reach the bottom, you can also download the final hand with loop flow notes using the Sketchfab link.
<p><br />
<h3 id="referencereferencereference">Reference…Reference….Reference!</h3>
<p>Organic forms, especially those we’re most familiar with, require acute attention to reference. It’s easy to take as granted that we know what a human hand looks like, but once you begin modeling, it’s easy to assume forms and end up in the uncanny valley. Even when working with base meshes, reference is a necessity. Base meshes are all about recognizing the major forms of a model, that means paying attention to muscle and bone structure is just as important at this step as it is for sculpting or texturing.
<p><img src="assets/img/hand_ref.png" alt="hand_ref" />
<p>For example, while working on this post, I initially modeled the back of the hand with inset loops near the knuckles, but after looking at my own hand, I realized that it would be more accurate to have the loops extend downwards across the hand because the whole area deforms in certain positions.
<p>TLDR: Check your reference…and then check it again.
<p><br />
<h3 id="identify-primary-loops">Identify Primary Loops</h3>
<p>The human hand has a lot of primary loop locations. This is why it’s a safe bet to start identifying these <em>before</em> you build out much of the model. A great way to do this is by using the grease pencil tool over your reference image. Mark out anywhere that should have clean loops of edges. For example, the wrist, fingers, knuckles, and thumb pad. Marking these will help you avoid redoing work correcting edge loops that flow in the wrong ways.
<p><img src="assets/img/hand_sketch.png" alt="hand_sketch" />
<p>Once you’ve marked your main loops build them out using geometry. You can automate this using something like <a href="https://blendermarket.com/products/retopoflow">Retopoflow</a>. Remember to check your edge count in loops. Each finger should have the same number of loops. Sticking to multiple of 4 for loops is also general good practice. Pay special attention to the loop count of the wrist; 16 is generally plenty and will be at least close to the loop count of whatever arm you attach.
<p><br />
<h3 id="do-the-easy-stuff-first">Do the Easy Stuff First</h3>
<p>Next, use the loops you made to fill in the areas between them. If you see a problem coming at a loop transition, leave it and work on filling as much clean topology as you can. If you work too much to make a good transition area, only to need to fix it again, modeling can get frustrating very quickly. You’ll likely see most problems at the base of the thumb and between the fingers.
<p><br />
<h3 id="fix-tricky-loop-transitions">Fix Tricky Loop Transitions</h3>
<p>Now you should have enough topology to know what your transition points need to be like. Now your topology skills really come into play. There is no fix all solution to transition points, but these principles are good guides: First, check your loop flows. The easiest way to get in a mess is linking one end of a loop to the wrong point on the opposite end. Second, learn <a href="https://topologyguides.com/loop-reduction">loop reduction flows</a>. These will be essential to ending flows so you don’t end up with dozens of edge loops at the wrist. And Lastly, persevere. Sometimes you just gotta keep trying new things until it works. Don’t be afraid to delete topology.
<p><img src="assets/img/hand_loops.png" alt="hand_loops" />
<p><br />
<h3 id="make-your-rig-happy">Make Your Rig Happy</h3>
<p>Last, but not least, add deformation areas and make your rig (or rigger) happy. Deformation areas (marked in blue) help topology stretch properly in extreme positions. The best way to add these areas is to outset a grouping of faces by pressing <strong>I</strong> then <strong>O</strong> and adding a small loop around the area that needs extra geometry. Generally, the tops of joints need the most extra geometry. in some cases, it can be easier to add more loops instead, but this can also create extra to geometry to compress inside the joint.
<p>Below you can see the final result and the main edge flow highlighted. You can also download the model from <a href="https://sketchfab.com/models/de4f151a05494152b4c213ccafc4f646">Sketchfab here</a>.
<p><img src="assets/img/hand_topology.png" alt="hand_topology" />
<div class="sketchfab-embed-wrapper">
<iframe title="A 3D model" width="768" height="420" src="https://sketchfab.com/models/de4f151a05494152b4c213ccafc4f646/embed?camera=0&ui_controls=1&ui_infos=1&ui_inspector=1&ui_stop=1&ui_watermark=1&ui_watermark_link=1" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></div>
<p><br />
<p>If you enjoyed this post, please consider supporting the site on Patreon help pay for website costs and give me motivation to keep writing guides!
<p><br />
<p><a href="https://www.patreon.com/bePatron?u=4389823" data-patreon-widget-type="become-patron-button">Become a Patron!</a><script async="" src="https://c6.patreon.com/becomePatronButton.bundle.js"></script>
</article>
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES * * */
var disqus_shortname = 'topologyguides';
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript" rel="nofollow">comments powered by Disqus.</a></noscript>
<aside class="related">
<h2>Related posts</h2>
<ul class="related-posts">
<li>
<a href="/human-foot">
<span>Modeling a Human Foot</span>
<small>28/11</small>
</a>
<li>
<a href="/modeling-for-animation">
<span>Modeling with Animation in Mind</span>
<small>27/12</small>
</a>
<li>
<a href="/bevel-width-transitions">
<span>Modeling Bevel Width Transitions</span>
<small>14/05</small>
</a>
<li>
<a href="/manipulating-edge-poles">
<span>Moving and Manipulating Edge Poles</span>
<small>02/07</small>
</a>
</aside>
<script type="text/javascript" src="//downloads.mailchimp.com/js/signup-forms/popup/unique-methods/embed.js" data-dojo-config="usePlainJson: true, isDebug: false"></script><script type="text/javascript">window.dojoRequire(["mojo/signup-forms/Loader"], function(L) { L.start({"baseUrl":"mc.us10.list-manage.com","uuid":"377f8cb02163f375b3f03fcfb","lid":"ceb49c397a","uniqueMethods":true}) })</script>
<footer>
<span>Guides for 3d Artists</span>
<span>written by Johnson Martin</span>
</footer>
</div>
<script type="text/javascript" src="/assets/js/theme.js"></script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46758601-3', 'auto');
ga('send', 'pageview');
</script>