Refine the MakeHuman head (weld lids/brows, add hair cap) and add the user review page
This commit is contained in:
1 parent
0b2f124ffe
commit
2e1e4d7f70
5 files changed
+78
-9
No files matched your search
+25
-9
@@ -1008,7 +1008,28 @@ def _makehuman_head(mats, spec):
|
||||
bmesh.ops.holes_fill(bm, edges=boundary)
|
||||
bm.to_mesh(head.data)
|
||||
bm.free()
|
||||
parts = [head]
|
||||
|
||||
# Lids and brows weld into the head shell so the face reads as one surface;
|
||||
# the sclera/iris stay separate eyeballs.
|
||||
shell_parts = [head]
|
||||
for s in (-1.0, 1.0):
|
||||
ex, ez = 0.052 * s, 1.664
|
||||
shell_parts.append(sphere("UpperLid", 0.020, (ex, -0.135, ez + 0.014),
|
||||
skin, seg=8, rings=4, scale=(1.20, 0.32, 0.24),
|
||||
rot=(math.radians(-10), 0, 0)))
|
||||
shell_parts.append(sphere("LowerLid", 0.017, (ex, -0.135, ez - 0.012),
|
||||
skin, seg=8, rings=4, scale=(1.10, 0.22, 0.18),
|
||||
rot=(math.radians(6), 0, 0)))
|
||||
shell_parts.append(box("Brow", (0.055, 0.014, 0.012), (0.052 * s, -0.165, 1.705),
|
||||
hair, rot=(0, 0.14 * s, 0.0)))
|
||||
shell = join(shell_parts, "HeadShell")
|
||||
bm = bmesh.new()
|
||||
bm.from_mesh(shell.data)
|
||||
bmesh.ops.remove_doubles(bm, verts=bm.verts, dist=0.008)
|
||||
bm.to_mesh(shell.data)
|
||||
bm.free()
|
||||
|
||||
parts = [shell]
|
||||
for s in (-1.0, 1.0):
|
||||
# The MakeHuman socket is a deep cavity (floor ≈ −0.105); keep the
|
||||
# sclera recessed so it never breaks the face silhouette.
|
||||
@@ -1017,17 +1038,12 @@ def _makehuman_head(mats, spec):
|
||||
rings=6, scale=(1.25, 0.62, 0.85)))
|
||||
parts.append(sphere("Iris", 0.0105, (ex, ey - 0.007, ez), acc, seg=8,
|
||||
rings=5, scale=(1.0, 0.55, 1.0)))
|
||||
parts.append(sphere("UpperLid", 0.020, (ex, -0.135, ez + 0.014),
|
||||
skin, seg=8, rings=4, scale=(1.20, 0.32, 0.24),
|
||||
rot=(math.radians(-10), 0, 0)))
|
||||
parts.append(sphere("LowerLid", 0.017, (ex, -0.135, ez - 0.012),
|
||||
skin, seg=8, rings=4, scale=(1.10, 0.22, 0.18),
|
||||
rot=(math.radians(6), 0, 0)))
|
||||
parts.append(box("Brow", (0.055, 0.014, 0.012), (0.052 * s, -0.165, 1.705),
|
||||
hair, rot=(0, 0.14 * s, 0.0)))
|
||||
# A subtle mouth line on top of the MakeHuman lips for readability.
|
||||
parts.append(sphere("Mouth", 0.028, (0, -0.165, 1.58), acc, seg=8, rings=5,
|
||||
scale=(1.0, 0.28, 0.12)))
|
||||
# A skull-conforming buzz cap sized for the smaller MakeHuman cranium.
|
||||
parts.append(_hair_cap("Hair", hair, 1.70, 1.56, radius=0.115,
|
||||
center=(0, 0.008, 1.66), scale=(0.95, 1.04, 1.05)))
|
||||
return parts
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user