Add the fused hand prototype (hand_l_proto/hand_r_proto) and record the finger-articulation decision
This commit is contained in:
1 parent
44dba010a7
commit
58d1e79a12
5 files changed
+47
-5
No files matched your search
+7
-2
@@ -53,7 +53,8 @@ PROTOTYPE = "npc_casual" # canonical one-variant prototype
|
||||
|
||||
# The four buildable parts. `head` is the bare head shell; `face` is the shell
|
||||
# plus nose/eyes/mouth/ears; `hand_l`/`hand_r` are the left/right hand geometry.
|
||||
PART_NAMES = ("head", "face", "hand_l", "hand_r", "head_proto")
|
||||
PART_NAMES = ("head", "face", "hand_l", "hand_r", "head_proto",
|
||||
"hand_l_proto", "hand_r_proto")
|
||||
_HAND_PREFIXES = ("Palm", "Finger", "Fingertip", "Thumb", "ThumbTip")
|
||||
|
||||
|
||||
@@ -104,6 +105,10 @@ def build_part(name, variant, out, subdiv=48):
|
||||
obj = ba.join(ba._face(mats, spec), "face")
|
||||
elif name == "head_proto":
|
||||
obj = ba.join(ba._head_proto(mats, spec, subdiv=subdiv), "head_proto")
|
||||
elif name == "hand_l_proto":
|
||||
obj = ba._hand_proto(mats, spec, side=-1.0)
|
||||
elif name == "hand_r_proto":
|
||||
obj = ba._hand_proto(mats, spec, side=1.0)
|
||||
else:
|
||||
side = -1.0 if name == "hand_l" else 1.0
|
||||
hs = ba._hands_and_shoes(mats, spec)
|
||||
@@ -155,7 +160,7 @@ def extract_part(name, variant, out):
|
||||
if mesh is None:
|
||||
raise SystemExit(f"no npc_base mesh in {src}")
|
||||
group = ("Head" if name in ("head", "face", "head_proto")
|
||||
else f"Hand{'L' if name == 'hand_l' else 'R'}")
|
||||
else f"Hand{'L' if name in ('hand_l', 'hand_l_proto') else 'R'}")
|
||||
return _extract_group(mesh, group, out)
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user