From 86e1b4ac248ccff36c31392d08b01c10836c2955 Mon Sep 17 00:00:00 2001 From: dldydtn9755-crypto Date: Tue, 23 Jun 2026 12:25:58 +0900 Subject: [PATCH] Fix blackjack hook dialog placement --- Assets/01_Scenes/blackjack.unity | 4 +- .../Communication/Dialog/blackjack.meta | 8 +++ .../Dialog/blackjack/BlackjackDialogHudFix.cs | 49 +++++++++++++++++++ .../blackjack/BlackjackDialogHudFix.cs.meta | 2 + .../BlackJackRoom/BlackJack_Area1.wdg | 2 +- 5 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 Assets/02_Scripts/Communication/Dialog/blackjack.meta create mode 100644 Assets/02_Scripts/Communication/Dialog/blackjack/BlackjackDialogHudFix.cs create mode 100644 Assets/02_Scripts/Communication/Dialog/blackjack/BlackjackDialogHudFix.cs.meta diff --git a/Assets/01_Scenes/blackjack.unity b/Assets/01_Scenes/blackjack.unity index d4a7b1db..8555b0ae 100644 --- a/Assets/01_Scenes/blackjack.unity +++ b/Assets/01_Scenes/blackjack.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:82e86280552090334dcf94ef828b40a740cca796f3f4641012d716bf78cd0858 -size 2293916 +oid sha256:7a6f0c80574a39e4e8637d776d3f29224c4abcdb9308b977ed997a8639fcf1a9 +size 2292766 diff --git a/Assets/02_Scripts/Communication/Dialog/blackjack.meta b/Assets/02_Scripts/Communication/Dialog/blackjack.meta new file mode 100644 index 00000000..25f997b1 --- /dev/null +++ b/Assets/02_Scripts/Communication/Dialog/blackjack.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9da98374aa5716949a8d2c32ea5967cc +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/02_Scripts/Communication/Dialog/blackjack/BlackjackDialogHudFix.cs b/Assets/02_Scripts/Communication/Dialog/blackjack/BlackjackDialogHudFix.cs new file mode 100644 index 00000000..51d6e0da --- /dev/null +++ b/Assets/02_Scripts/Communication/Dialog/blackjack/BlackjackDialogHudFix.cs @@ -0,0 +1,49 @@ +using UnityEngine; + +public class BlackjackDialogHudFix : MonoBehaviour +{ + [Header("Anchor")] + public Transform speakerAnchor; // ÈÄÅ© ±âÁØ À§Ä¡ + public Camera targetCamera; // ºñ¿öµÎ¸é Camera.main »ç¿ë + + [Header("Panel Check")] + public GameObject dialoguePanel; // DialoguePanel ³Ö±â + public bool onlyWhenPanelActive = true; + + [Header("Placement")] + public float chestHeight = 2.0f; + public float forwardOffset = 0.7f; + public float lateralOffset = 0f; + + private void LateUpdate() + { + if (speakerAnchor == null) + return; + + if (onlyWhenPanelActive && dialoguePanel != null && !dialoguePanel.activeInHierarchy) + return; + + Camera cam = targetCamera != null ? targetCamera : Camera.main; + + if (cam == null) + return; + + Vector3 toCam = cam.transform.position - speakerAnchor.position; + toCam.y = 0f; + + if (toCam.sqrMagnitude < 0.0001f) + return; + + Vector3 dir = toCam.normalized; + Vector3 right = Vector3.Cross(Vector3.up, dir).normalized; + + Vector3 chestWorld = speakerAnchor.position + Vector3.up * chestHeight; + + transform.position = + chestWorld + + dir * forwardOffset + + right * lateralOffset; + + transform.rotation = Quaternion.LookRotation(-dir); + } +} \ No newline at end of file diff --git a/Assets/02_Scripts/Communication/Dialog/blackjack/BlackjackDialogHudFix.cs.meta b/Assets/02_Scripts/Communication/Dialog/blackjack/BlackjackDialogHudFix.cs.meta new file mode 100644 index 00000000..f458dadb --- /dev/null +++ b/Assets/02_Scripts/Communication/Dialog/blackjack/BlackjackDialogHudFix.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 2b4bf258be179644ca6c223f911e15c7 \ No newline at end of file diff --git a/Assets/07_Data/Communication/DialogGraph/BlackJackRoom/BlackJack_Area1.wdg b/Assets/07_Data/Communication/DialogGraph/BlackJackRoom/BlackJack_Area1.wdg index 98f24f40..62c0747c 100644 --- a/Assets/07_Data/Communication/DialogGraph/BlackJackRoom/BlackJack_Area1.wdg +++ b/Assets/07_Data/Communication/DialogGraph/BlackJackRoom/BlackJack_Area1.wdg @@ -260,7 +260,7 @@ MonoBehaviour: - rid: 6595524353106116644 type: {class: 'Constant`1[[System.Boolean, mscorlib]]', ns: Unity.GraphToolkit.Editor, asm: Unity.GraphToolkit.Internal.Editor} data: - m_Value: 1 + m_Value: 0 - rid: 6595524353106116645 type: {class: DialogLineNode, ns: WhaleAdventure.Dialog.GraphTool.Editor, asm: Assembly-CSharp-Editor} data: