Lift and scale head gear for the Quaternius head so the cap stops reading as a visor
This commit is contained in:
1 parent
529d15ee7a
commit
a290fe83c8
24 files changed
+96
-44
No files matched your search
@@ -178,6 +178,19 @@ const BLENDER_GEAR_DIR := "res://assets/models/blender/npc_gear/"
|
||||
const GEAR_OFFSETS := {
|
||||
"lanyard": Vector3(0, 0, 0.04),
|
||||
"firefighter_helmet": Vector3(0, 0.03, 0),
|
||||
# The Quaternius head wears a 0.24 m hair shell that stands ~3.5 cm above the
|
||||
# cap crown, so the cap sinks into the hair and only its brim shows. Lift the
|
||||
# cap and hood onto the hair; sunglasses stay at the eye line.
|
||||
"cap": Vector3(0, 0.05, 0),
|
||||
"hood": Vector3(0, 0.03, 0),
|
||||
}
|
||||
## The hat geometry is authored around the 0.315 m procedural head and scaled to
|
||||
## 0.64 in the Blender build to match the 0.20 m Quaternius skull. That fits the
|
||||
## skull but not the 0.228 m hair shell on top of it, so a cap sinks into the hair
|
||||
## and only its brim shows. These scale the head-gear node instead of the mesh.
|
||||
const GEAR_SCALE := {
|
||||
"cap": 1.22,
|
||||
"hood": 1.12,
|
||||
}
|
||||
## Hand gear is authored around the wrist proxy. The palm sits ~4 cm in front
|
||||
## of that origin, so without this offset the first phone/flashlight versions
|
||||
@@ -808,6 +821,8 @@ func _attach_gear(gear_name: String) -> bool:
|
||||
node.position += GEAR_OFFSETS[gear_name]
|
||||
if str(GEAR_ATTACH[gear_name]) == "hand":
|
||||
node.position += HAND_ITEM_FORWARD
|
||||
if GEAR_SCALE.has(gear_name):
|
||||
node.scale = Vector3.ONE * float(GEAR_SCALE[gear_name])
|
||||
_detail_nodes.append(node)
|
||||
var ao := Materials.load_ao(BLENDER_GEAR_DIR + gear_name + "_ao.png")
|
||||
for child in node.find_children("*", "MeshInstance3D", true, false):
|
||||
|
||||
Reference in new issue
Block a user