1
This commit is contained in:
@@ -30,17 +30,13 @@ const FACE_SYNC_INITIAL_DELAY := 1.0
|
||||
|
||||
@export_group("画布")
|
||||
@export var canvas_size: int = 512
|
||||
## 与两个原始贴图的背景/头部底色完全相同:RGB(137,179,255)。
|
||||
## 与模型身体贴图的底色一致(FaceRig 启动时会从 mat_body 的 BaseColor 左上角自动读出来)。
|
||||
## 只给画布和缩略图垫底用,不参与 3D 着色。
|
||||
@export var skin_color: Color = Color(0.537255, 0.701961, 1.0, 1.0)
|
||||
|
||||
@export_group("脸部 UV")
|
||||
## 脸部矩形在 body_mesh 的 UV 上占的范围(实测自当前模型:头部孤岛是 u 0.695~0.996 / v 0.682~0.996)。
|
||||
## 它必须整块落在头部那块 UV 孤岛里;模型重导后 UV 一变,表情就会画歪或跑到别的部位上。
|
||||
@export var face_uv_min: Vector2 = Vector2(0.695, 0.682)
|
||||
## 脸部矩形的 UV 边长
|
||||
@export var face_uv_size: Vector2 = Vector2(0.301, 0.314)
|
||||
## 头部 UV 的 v 越往上越大,而贴图第 0 行在上边 —— 不翻就在脸上上下颠倒
|
||||
@export var face_uv_flip_y: bool = true
|
||||
## 表情画在哪 / 多大 / 正不正,全部写在 face_paint.gdshader 顶部的「调表情就改这一段」里
|
||||
## (face_center / face_size / face_flip_y)。**FaceRig 故意不传这三个 uniform**,
|
||||
## 免得脚本里的值把 shader 里调好的值盖掉。
|
||||
|
||||
var mesh: MeshInstance3D
|
||||
var material: ShaderMaterial
|
||||
@@ -88,9 +84,6 @@ func _ready() -> void:
|
||||
material.set_shader_parameter("body_tint", body_material.albedo_color)
|
||||
material.set_shader_parameter("surface_roughness", body_material.roughness)
|
||||
material.set_shader_parameter("surface_metallic", body_material.metallic)
|
||||
material.set_shader_parameter("face_uv_min", face_uv_min)
|
||||
material.set_shader_parameter("face_uv_size", face_uv_size)
|
||||
material.set_shader_parameter("face_uv_flip_y", face_uv_flip_y)
|
||||
material.set_shader_parameter("paint_tex", painter.texture)
|
||||
mesh.set_surface_override_material(surface_index, material)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user