add missing _ prefixes to private variables
This commit is contained in:
@@ -2,82 +2,74 @@
|
||||
class_name BoneFlattener
|
||||
extends Node3D
|
||||
|
||||
@export var skeleton: Skeleton3D
|
||||
@export var bones_to_flatten: Array[BoneToFlatten] = []
|
||||
@export var mirror_y_angle: float
|
||||
@export var editor_preview: bool = false
|
||||
@export var _skeleton: Skeleton3D
|
||||
@export var _bones_to_flatten: Array[BoneToFlatten] = []
|
||||
@export var _mirror_y_angle: float
|
||||
@export var _editor_preview: bool = false
|
||||
|
||||
@export_group("Bone names")
|
||||
@export var head_bone_name: String = "Head"
|
||||
@export var mouth_bone_name: String = "Mouth_base"
|
||||
@export var _head_bone_name: String = "Head"
|
||||
@export var _mouth_bone_name: String = "Mouth_base"
|
||||
|
||||
@export_group("Mouth")
|
||||
@export var mouth_center_pos_z: float:
|
||||
@export var _mouth_center_pos_z: float:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_center_pos_z = value
|
||||
_mouth_center_pos_z = value
|
||||
|
||||
@export var mouth_corner_pos_z: float:
|
||||
@export var _mouth_corner_pos_z: float:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_corner_pos_z = value
|
||||
_mouth_corner_pos_z = value
|
||||
|
||||
@export var mouth_pos_z_curve: Curve:
|
||||
@export var _mouth_pos_z_curve: Curve:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_pos_z_curve = value
|
||||
_mouth_pos_z_curve = value
|
||||
|
||||
@export var mouth_corner_pos_x: float:
|
||||
@export var _mouth_corner_pos_x: float:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_corner_pos_x = value
|
||||
_mouth_corner_pos_x = value
|
||||
|
||||
@export var mouth_center_pos_y: float:
|
||||
@export var _mouth_center_pos_y: float:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_center_pos_y = value
|
||||
_mouth_center_pos_y = value
|
||||
|
||||
@export var mouth_corner_pos_y: float:
|
||||
@export var _mouth_corner_pos_y: float:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_corner_pos_y = value
|
||||
_mouth_corner_pos_y = value
|
||||
|
||||
@export var mouth_corner_rot_y: float:
|
||||
@export var _mouth_corner_rot_y: float:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_corner_rot_y = value
|
||||
_mouth_corner_rot_y = value
|
||||
|
||||
@export var mouth_rot_y_curve: Curve:
|
||||
@export var _mouth_rot_y_curve: Curve:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_rot_y_curve = value
|
||||
_mouth_rot_y_curve = value
|
||||
|
||||
@export var mouth_corner_rot_x: float:
|
||||
@export var _mouth_corner_rot_x: float:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_corner_rot_x = value
|
||||
_mouth_corner_rot_x = value
|
||||
|
||||
@export var mouth_corner_rot_z: float:
|
||||
@export var _mouth_corner_rot_z: float:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_corner_rot_z = value
|
||||
_mouth_corner_rot_z = value
|
||||
|
||||
@export var mouth_value_yaw_curve: Curve:
|
||||
@export var _mouth_value_yaw_curve: Curve:
|
||||
set(value):
|
||||
update_gizmos()
|
||||
mouth_value_yaw_curve = value
|
||||
_mouth_value_yaw_curve = value
|
||||
|
||||
@export var mouth_front_pitch_curve: Curve
|
||||
@export var mouth_front_yaw_curve: Curve
|
||||
@export var mouth_hide_rot_y: float
|
||||
|
||||
@export_group("Eyes")
|
||||
@export var from_pupil_z_min: float
|
||||
@export var from_pupil_z_max: float
|
||||
@export var from_pupil_x_min: float
|
||||
@export var from_pupil_x_max: float
|
||||
@export var to_spec_z: float
|
||||
@export var to_spec_x: float
|
||||
@export var _mouth_front_pitch_curve: Curve
|
||||
@export var _mouth_front_yaw_curve: Curve
|
||||
@export var _mouth_hide_rot_y: float
|
||||
|
||||
var _mouth_bone: int
|
||||
var _head_bone: int
|
||||
@@ -87,30 +79,30 @@ var _angle: Vector3 = Vector3()
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
assert(skeleton, str(self) + ": skeleton missing!")
|
||||
_head_bone = skeleton.find_bone(head_bone_name)
|
||||
assert(_skeleton, str(self) + ": _skeleton missing!")
|
||||
_head_bone = _skeleton.find_bone(_head_bone_name)
|
||||
assert(_head_bone != -1, str(self) + ": _head_bone missing!")
|
||||
_mouth_bone = skeleton.find_bone(mouth_bone_name)
|
||||
_mouth_bone = _skeleton.find_bone(_mouth_bone_name)
|
||||
assert(_mouth_bone != -1, str(self) + ": _mouth_bone missing!")
|
||||
|
||||
for bone_to_flatten in bones_to_flatten:
|
||||
for bone_to_flatten in _bones_to_flatten:
|
||||
if bone_to_flatten == null:
|
||||
continue
|
||||
for bone_name in bone_to_flatten.bone_names:
|
||||
var bone_index := skeleton.find_bone(bone_name)
|
||||
var bone_index := _skeleton.find_bone(bone_name)
|
||||
assert(bone_index != -1, bone_name + " missing!")
|
||||
_bone_indices[bone_name] = bone_index
|
||||
|
||||
|
||||
func _process(_delta: float) -> void:
|
||||
if skeleton == null or (Engine.is_editor_hint() and not editor_preview):
|
||||
if _skeleton == null or (Engine.is_editor_hint() and not _editor_preview):
|
||||
return
|
||||
|
||||
_get_angle()
|
||||
_handle_mouth()
|
||||
|
||||
for i in range(bones_to_flatten.size()):
|
||||
var bone_to_flatten := bones_to_flatten[i]
|
||||
for i in range(_bones_to_flatten.size()):
|
||||
var bone_to_flatten := _bones_to_flatten[i]
|
||||
if bone_to_flatten == null:
|
||||
continue
|
||||
for bone_name in bone_to_flatten.bone_names:
|
||||
@@ -124,17 +116,17 @@ func _process(_delta: float) -> void:
|
||||
|
||||
func mouth_pose(normalized: Vector3) -> Vector3:
|
||||
var pos: Vector3 = Vector3.ZERO
|
||||
pos.x = normalized.y * mouth_corner_pos_x
|
||||
var depth_value := mouth_pos_z_curve.sample(absf(normalized.y))
|
||||
pos.z = remap(depth_value, 0, 1, mouth_center_pos_z, mouth_corner_pos_z)
|
||||
pos.y = remap(depth_value, 0, 1, mouth_center_pos_y, mouth_corner_pos_y)
|
||||
pos.x = normalized.y * _mouth_corner_pos_x
|
||||
var depth_value := _mouth_pos_z_curve.sample(absf(normalized.y))
|
||||
pos.z = remap(depth_value, 0, 1, _mouth_center_pos_z, _mouth_corner_pos_z)
|
||||
pos.y = remap(depth_value, 0, 1, _mouth_center_pos_y, _mouth_corner_pos_y)
|
||||
|
||||
return pos
|
||||
|
||||
|
||||
func global_bone_transform(bone_idx: int) -> Transform3D:
|
||||
var transform_local := skeleton.get_bone_global_pose(bone_idx)
|
||||
return skeleton.global_transform * transform_local
|
||||
var transform_local := _skeleton.get_bone_global_pose(bone_idx)
|
||||
return _skeleton.global_transform * transform_local
|
||||
|
||||
|
||||
func _get_angle() -> void:
|
||||
@@ -162,52 +154,52 @@ func _get_angle() -> void:
|
||||
|
||||
func _handle_mouth() -> void:
|
||||
if (
|
||||
mouth_value_yaw_curve == null
|
||||
or mouth_rot_y_curve == null
|
||||
or mouth_pos_z_curve == null
|
||||
or mouth_front_pitch_curve == null
|
||||
or mouth_front_yaw_curve == null
|
||||
_mouth_value_yaw_curve == null
|
||||
or _mouth_rot_y_curve == null
|
||||
or _mouth_pos_z_curve == null
|
||||
or _mouth_front_pitch_curve == null
|
||||
or _mouth_front_yaw_curve == null
|
||||
):
|
||||
return
|
||||
|
||||
var bone_transform := skeleton.get_bone_rest(_mouth_bone)
|
||||
var bone_transform := _skeleton.get_bone_rest(_mouth_bone)
|
||||
var bone_rot := bone_transform.basis.get_euler()
|
||||
var bone_pos := bone_transform.origin
|
||||
var normalized := Vector3.ZERO
|
||||
normalized.y = clampf(_angle.y / (PI / 2), -1, 1)
|
||||
normalized.x = clampf(_angle.x / (PI / 2), -1, 1)
|
||||
normalized.y = (
|
||||
mouth_value_yaw_curve.sample(absf(normalized.y)) * signf(normalized.y)
|
||||
_mouth_value_yaw_curve.sample(absf(normalized.y)) * signf(normalized.y)
|
||||
)
|
||||
|
||||
bone_pos += mouth_pose(normalized)
|
||||
skeleton.set_bone_pose_position(_mouth_bone, bone_pos)
|
||||
_skeleton.set_bone_pose_position(_mouth_bone, bone_pos)
|
||||
|
||||
var corner_angle_value := ease(absf(normalized.y), 1) * signf(normalized.y)
|
||||
bone_rot.x += (
|
||||
(
|
||||
mouth_rot_y_curve
|
||||
_mouth_rot_y_curve
|
||||
. sample(
|
||||
absf(corner_angle_value),
|
||||
)
|
||||
)
|
||||
* mouth_corner_rot_x
|
||||
* _mouth_corner_rot_x
|
||||
)
|
||||
var rot_y := (
|
||||
(
|
||||
mouth_rot_y_curve
|
||||
_mouth_rot_y_curve
|
||||
. sample(
|
||||
absf(corner_angle_value),
|
||||
)
|
||||
)
|
||||
* signf(normalized.y)
|
||||
* mouth_corner_rot_y
|
||||
* _mouth_corner_rot_y
|
||||
)
|
||||
bone_rot = (
|
||||
(
|
||||
Quaternion(
|
||||
Vector3.FORWARD,
|
||||
mouth_corner_rot_z * normalized.y,
|
||||
_mouth_corner_rot_z * normalized.y,
|
||||
)
|
||||
* Quaternion(
|
||||
Vector3.UP,
|
||||
@@ -218,11 +210,11 @@ func _handle_mouth() -> void:
|
||||
. get_euler()
|
||||
)
|
||||
|
||||
skeleton.set_bone_pose_rotation(_mouth_bone, Quaternion.from_euler(bone_rot))
|
||||
_skeleton.set_bone_pose_rotation(_mouth_bone, Quaternion.from_euler(bone_rot))
|
||||
|
||||
var bone_scale := Vector3.ONE
|
||||
var scale_x_front := (
|
||||
mouth_front_pitch_curve
|
||||
_mouth_front_pitch_curve
|
||||
. sample(
|
||||
inverse_lerp(-1, 1, normalized.x),
|
||||
)
|
||||
@@ -230,31 +222,31 @@ func _handle_mouth() -> void:
|
||||
bone_scale.x = lerpf(
|
||||
1,
|
||||
scale_x_front,
|
||||
mouth_front_yaw_curve.sample(absf(normalized.y)),
|
||||
_mouth_front_yaw_curve.sample(absf(normalized.y)),
|
||||
)
|
||||
if _angle.y > mirror_y_angle:
|
||||
if _angle.y > _mirror_y_angle:
|
||||
bone_scale.x *= -1
|
||||
if absf(_angle.y) > mouth_hide_rot_y:
|
||||
if absf(_angle.y) > _mouth_hide_rot_y:
|
||||
bone_scale = Vector3.ZERO
|
||||
skeleton.set_bone_pose_scale(_mouth_bone, bone_scale)
|
||||
_skeleton.set_bone_pose_scale(_mouth_bone, bone_scale)
|
||||
|
||||
|
||||
func _handle_position(bone_to_flatten: BoneToFlatten, bone: int) -> void:
|
||||
if not bone_to_flatten.do_position:
|
||||
return
|
||||
|
||||
var bone_pos := skeleton.get_bone_rest(bone).origin
|
||||
var bone_pos := _skeleton.get_bone_rest(bone).origin
|
||||
bone_pos.x += (
|
||||
bone_to_flatten.get_amount(_angle) * bone_to_flatten.position_x_amount
|
||||
)
|
||||
skeleton.set_bone_pose_position(bone, bone_pos)
|
||||
_skeleton.set_bone_pose_position(bone, bone_pos)
|
||||
|
||||
|
||||
func _handle_rotation(bone_to_flatten: BoneToFlatten, bone: int) -> void:
|
||||
if not bone_to_flatten.do_rotation:
|
||||
return
|
||||
|
||||
var bone_transform := skeleton.get_bone_rest(bone)
|
||||
var bone_transform := _skeleton.get_bone_rest(bone)
|
||||
var bone_rot := bone_transform.basis.get_euler()
|
||||
var bone_pos := bone_transform.origin
|
||||
var amount := bone_to_flatten.get_amount(_angle)
|
||||
@@ -284,7 +276,7 @@ func _handle_rotation(bone_to_flatten: BoneToFlatten, bone: int) -> void:
|
||||
if bone_to_flatten.consider_side_rot_z:
|
||||
bone_rot.z *= -signf(normalized.y)
|
||||
|
||||
skeleton.set_bone_pose_rotation(bone, Quaternion.from_euler(bone_rot))
|
||||
_skeleton.set_bone_pose_rotation(bone, Quaternion.from_euler(bone_rot))
|
||||
|
||||
|
||||
func _handle_scale(bone_to_flatten: BoneToFlatten, _bone: int) -> void:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
extends CanvasLayer
|
||||
|
||||
@export var side_change_speed: float = 15
|
||||
@export var screen_inset: float = 100
|
||||
@export var _side_change_speed: float = 15
|
||||
@export var _screen_inset: float = 100
|
||||
|
||||
var _cursor_scene := preload("res://scenes/ui/cursor_base.tscn")
|
||||
|
||||
@@ -54,8 +54,8 @@ func _handle_cursor(player_index: int, delta: float) -> void:
|
||||
var clamp_corner_min := Vector2.ZERO
|
||||
var clamp_corner_max := get_viewport().get_visible_rect().size
|
||||
if player.input_mode_is(Inputer.Mode.CONTROLLER):
|
||||
clamp_corner_min += Vector2(screen_inset, screen_inset)
|
||||
clamp_corner_max -= Vector2(screen_inset, screen_inset)
|
||||
clamp_corner_min += Vector2(_screen_inset, _screen_inset)
|
||||
clamp_corner_max -= Vector2(_screen_inset, _screen_inset)
|
||||
|
||||
var cursor: PlayerCursor = _cursors[id]
|
||||
|
||||
@@ -67,7 +67,7 @@ func _handle_cursor(player_index: int, delta: float) -> void:
|
||||
cursor.side = lerpf(
|
||||
cursor.side as float,
|
||||
(PI / 2.0) * (1.0 if player.attack.side == PlayerAttack.Side.LEFT else -1.0),
|
||||
side_change_speed * delta
|
||||
_side_change_speed * delta
|
||||
)
|
||||
|
||||
var aim_offset_normalized := player.aiming.aim_offset.normalized()
|
||||
|
||||
Reference in New Issue
Block a user