diff --git a/Assets/Scripts/Skills/Effectors/CloneInstance.cs b/Assets/Scripts/Skills/Effectors/CloneInstance.cs index d4392ef..7e342c1 100644 --- a/Assets/Scripts/Skills/Effectors/CloneInstance.cs +++ b/Assets/Scripts/Skills/Effectors/CloneInstance.cs @@ -122,8 +122,23 @@ namespace EerieVillage.Skills.Effectors // Player 자식 부착 (worldPositionStays=false) + localPosition 영역 facing 반대 1유닛 go.transform.SetParent(playerInventory.transform, false); go.transform.localPosition = new Vector3(-signX * SPAWN_OFFSET_X, 0f, 0f); - // PD 지시 2026-05-18 — 분신 크기 = Player 동일. PlayerSr 자식 영역 localScale 영역 정합 (자식 lossyScale 영역 영역 영역). - go.transform.localScale = playerSr != null ? playerSr.transform.localScale : Vector3.one; + // PD 지시 2026-05-18 — 분신 크기 = Player 동일. + // PlayerSr 영역 자식 구조 영역 영역 영역 영역 — PlayerSr.lossyScale 영역 동일 영역 영역 localScale 영역 정정. + // 분신 lossyScale = playerInventory.lossyScale * localScale → PlayerSr.lossyScale 동일 영역 = srLossy / playerInvLossy. + if (playerSr != null) + { + Vector3 playerInvLossy = playerInventory.transform.lossyScale; + Vector3 srLossy = playerSr.transform.lossyScale; + go.transform.localScale = new Vector3( + Mathf.Abs(playerInvLossy.x) > 0.0001f ? srLossy.x / playerInvLossy.x : 1f, + Mathf.Abs(playerInvLossy.y) > 0.0001f ? srLossy.y / playerInvLossy.y : 1f, + Mathf.Abs(playerInvLossy.z) > 0.0001f ? srLossy.z / playerInvLossy.z : 1f + ); + } + else + { + go.transform.localScale = Vector3.one; + } go.transform.localRotation = Quaternion.identity; SpriteRenderer cloneSr = null;