From 425c233ef0e817f2055f2ff95cebfd4d1d6822b2 Mon Sep 17 00:00:00 2001 From: "DESKTOP-VVOCIJO\\PC" Date: Fri, 1 May 2026 14:54:44 +0900 Subject: [PATCH] =?UTF-8?q?2026-05-01=20=ED=98=B8=EB=B2=84=20=EB=B2=84?= =?UTF-8?q?=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Assets/01_Scenes/MyProject/GameScene.unity | 4 +- .../02_Scripts/Interact/ItemHoverHighlight.cs | 54 +++++++++++++++++++ .../Interact/ItemHoverHighlight.cs.meta | 2 + .../Foods/Mandu/Prefabs/Mandu.prefab | 4 +- .../Puff pastry/Prefabs/Puff pastry.prefab | 4 +- .../03_Models/Foods/Susi/Prefabs/Susi.prefab | 4 +- .../Prefabs/RackAssets/BasmatiRice.prefab | 4 +- .../Prefabs/RackAssets/CheeseChipsBlue.prefab | 4 +- .../RackAssets/CheeseChipsGreen.prefab | 4 +- .../RackAssets/CheeseChipsYellow.prefab | 4 +- .../Prefabs/RackAssets/ChipsCane.prefab | 4 +- .../Prefabs/RackAssets/ChocoBar.prefab | 4 +- .../Prefabs/RackAssets/Diapers.prefab | 4 +- .../Prefabs/RackAssets/GreenBeans.prefab | 4 +- .../Prefabs/RackAssets/MilkProductA.prefab | 4 +- .../Prefabs/RackAssets/MilkProductB.prefab | 4 +- .../Prefabs/RackAssets/MilkProductC.prefab | 4 +- .../Prefabs/RackAssets/MilkProductD.prefab | 4 +- .../Prefabs/RackAssets/MilkProductE.prefab | 4 +- .../Prefabs/RackAssets/NoodlesA.prefab | 4 +- 20 files changed, 92 insertions(+), 36 deletions(-) create mode 100644 Assets/02_Scripts/Interact/ItemHoverHighlight.cs create mode 100644 Assets/02_Scripts/Interact/ItemHoverHighlight.cs.meta diff --git a/Assets/01_Scenes/MyProject/GameScene.unity b/Assets/01_Scenes/MyProject/GameScene.unity index a0ad21ab..b4b4b44f 100644 --- a/Assets/01_Scenes/MyProject/GameScene.unity +++ b/Assets/01_Scenes/MyProject/GameScene.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:51cc50fd351bc1f34adff333f7ccc644d504b05067cfbf38c0b379160462c820 -size 13564373 +oid sha256:7ef64fb7907306f1b3c36faf95c360652ddacc61bbf007bb68f6b36c123547aa +size 13561217 diff --git a/Assets/02_Scripts/Interact/ItemHoverHighlight.cs b/Assets/02_Scripts/Interact/ItemHoverHighlight.cs new file mode 100644 index 00000000..b2607d77 --- /dev/null +++ b/Assets/02_Scripts/Interact/ItemHoverHighlight.cs @@ -0,0 +1,54 @@ +using UnityEngine; +using UnityEngine.XR.Interaction.Toolkit; +using UnityEngine.XR.Interaction.Toolkit.Interactables; +using HighlightPlus; + +namespace VRShopping.Interact +{ + /// + /// 호버 중이고 선택되지 않은 상태에서만 HighlightPlus 외곽선 표시. + /// + [RequireComponent(typeof(XRBaseInteractable))] + [RequireComponent(typeof(HighlightEffect))] + public class ItemHoverHighlight : MonoBehaviour + { + private HighlightEffect _highlight; + private XRBaseInteractable _interactable; + + private void Awake() + { + _interactable = GetComponent(); + if (_highlight == null) _highlight = GetComponent(); + _highlight.highlighted = false; + } + + private void OnEnable() + { + _interactable.hoverEntered.AddListener(OnHoverEntered); + _interactable.hoverExited.AddListener(OnHoverExited); + _interactable.selectEntered.AddListener(OnSelectEntered); + _interactable.selectExited.AddListener(OnSelectExited); + Refresh(); + } + + private void OnDisable() + { + _interactable.hoverEntered.RemoveListener(OnHoverEntered); + _interactable.hoverExited.RemoveListener(OnHoverExited); + _interactable.selectEntered.RemoveListener(OnSelectEntered); + _interactable.selectExited.RemoveListener(OnSelectExited); + _highlight.highlighted = false; + } + + private void OnHoverEntered(HoverEnterEventArgs _) => Refresh(); + private void OnHoverExited(HoverExitEventArgs _) => Refresh(); + private void OnSelectEntered(SelectEnterEventArgs _) => Refresh(); + private void OnSelectExited(SelectExitEventArgs _) => Refresh(); + + private void Refresh() + { + // 잡지 않은 상태로 호버 중일 때만 하이라이트 + _highlight.highlighted = _interactable.isHovered && !_interactable.isSelected; + } + } +} diff --git a/Assets/02_Scripts/Interact/ItemHoverHighlight.cs.meta b/Assets/02_Scripts/Interact/ItemHoverHighlight.cs.meta new file mode 100644 index 00000000..6f515c76 --- /dev/null +++ b/Assets/02_Scripts/Interact/ItemHoverHighlight.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 12303fdfb60bb8d409e58f95b5b13012 \ No newline at end of file diff --git a/Assets/03_Models/Foods/Mandu/Prefabs/Mandu.prefab b/Assets/03_Models/Foods/Mandu/Prefabs/Mandu.prefab index 9b88120b..a05e0f39 100644 --- a/Assets/03_Models/Foods/Mandu/Prefabs/Mandu.prefab +++ b/Assets/03_Models/Foods/Mandu/Prefabs/Mandu.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:aeb097185f25a1ce51574d8a9d8c21fe28cd51dd66f48b106f4786b821fcb327 -size 27256 +oid sha256:13723d5531090420d3f6abe62201e88a7a56cfa0c2cdde42c5931782fea10bf8 +size 26465 diff --git a/Assets/03_Models/Foods/Puff pastry/Prefabs/Puff pastry.prefab b/Assets/03_Models/Foods/Puff pastry/Prefabs/Puff pastry.prefab index 21f3295d..9b806c51 100644 --- a/Assets/03_Models/Foods/Puff pastry/Prefabs/Puff pastry.prefab +++ b/Assets/03_Models/Foods/Puff pastry/Prefabs/Puff pastry.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7c47726c3dbc5449de83a157b23af78a644768e4920412f7367de92fe39a2ce9 -size 27824 +oid sha256:b31f5b3617b660b72e3267db9ca3f7f66e0d61e213b52e4c95206c2fff88bcac +size 27047 diff --git a/Assets/03_Models/Foods/Susi/Prefabs/Susi.prefab b/Assets/03_Models/Foods/Susi/Prefabs/Susi.prefab index 55ff4fcb..703061a0 100644 --- a/Assets/03_Models/Foods/Susi/Prefabs/Susi.prefab +++ b/Assets/03_Models/Foods/Susi/Prefabs/Susi.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:174fe19927018b1fe6604a3b676644f56dcbe589f12480ab4d8e4658f840803a -size 27298 +oid sha256:e898ed7d40390daf3759dadfddca8611ce9b493a61566e916dd85b44195f6ff2 +size 26520 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/BasmatiRice.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/BasmatiRice.prefab index 988ed889..cf76f052 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/BasmatiRice.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/BasmatiRice.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a876cd9acf986d07da686bfc98ff9b466e191b49e557292b58ad79f5bde1d4a4 -size 26264 +oid sha256:7d56bab4e6631739e0712357a409dc6064483bb1885e8f8a9ce2441a938dae6e +size 25498 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsBlue.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsBlue.prefab index f7c6b9cc..ac127308 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsBlue.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsBlue.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:94e60db0c5b4357ac3c0b164d54c8174cdf062c7e9c71b1b1e5678f36c66e144 -size 25725 +oid sha256:87ff6f7cf40842db1e5772fc26da5f081b193ac7c94c1dca8fa893e99c664c9a +size 24959 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsGreen.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsGreen.prefab index a75c3536..3d96e4a9 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsGreen.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsGreen.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7da27c6d4c794a3e8a6bcc35ed85aab3dc2026a2396264af8cbd35b0539a8158 -size 25774 +oid sha256:9a2e016d6294e5abc031e625ff84dfd930740ae7aabbb93c1d9cb1a58eda2945 +size 25006 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsYellow.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsYellow.prefab index a3c56380..6e1bc3a1 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsYellow.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/CheeseChipsYellow.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b0f430071a7ac0320576d338d97de7a428b56716320c586e6846d9456d785b5 -size 25764 +oid sha256:09e1c64e27ed67e648fc00fd51fe35c07cce2dbe344028f4f053c2e5706007f6 +size 24998 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/ChipsCane.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/ChipsCane.prefab index 54e5bced..7e069703 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/ChipsCane.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/ChipsCane.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:55550965c71baa76e6fbf379c76275d916efab94291070f5617fb4d343f05862 -size 24665 +oid sha256:96325d9235b905dcf7bddfba1ce798975a306f9208516153abc8b3c3eb890888 +size 24827 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/ChocoBar.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/ChocoBar.prefab index 27f29cc9..5cda01d2 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/ChocoBar.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/ChocoBar.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9b92f0babeb1e736bbafb460b52821e8fdb8d797a6a1bd3e8103d3c93db40699 -size 25776 +oid sha256:2b6075b28cb559d5c23bb94afc8ccfd61b0a2b0f4b77b746b47e922a503d92a3 +size 25007 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/Diapers.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/Diapers.prefab index 56867e08..925d2435 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/Diapers.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/Diapers.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b74b22dc30697c2ca8452f4371f1180d5c305ea6df83e1ba0260534d67a05b93 -size 25756 +oid sha256:65d203258ab73916e7063f7513e8e84f52ae5908b9e00f17c430a96e44ff71c7 +size 24990 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/GreenBeans.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/GreenBeans.prefab index 1b86c0d0..d22f92a9 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/GreenBeans.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/GreenBeans.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c73868af60c332b059336f4c6127447d534a3450fdfd96b7c2b05d3802469176 -size 25706 +oid sha256:22bd4743c91871b52d602f8a440f4773191fabbf347937a7a5f7cca8a83c1769 +size 24940 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductA.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductA.prefab index 3e821d07..2651591a 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductA.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductA.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:01dccb0f9b3f8074c8a5855e4261bbe690b66abc8fa3b98b898a46e00519ff2c -size 26260 +oid sha256:f1b7f5d77ca4a16b87efe20b6dd1851c4a782123f82c74eff57e1e3b80657b16 +size 25494 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductB.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductB.prefab index 1d7bea7c..e2b5997e 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductB.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductB.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6e11684c476de3a8892c18918dc639ff6034f2f88d5aa798f252e7ffe0940de -size 26331 +oid sha256:9f55689d791dbbc33492d5fa92e4acbb2e2419a60d88f90cfd85879082d888f5 +size 25565 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductC.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductC.prefab index 9392540e..9de3a0c9 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductC.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductC.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4fc1a053dc5dcfa41edef2b0f49befdcf2bb6f1d6f313521322ac3e72d610a8d -size 26229 +oid sha256:2dfb7ef56f886ca6fff97effff4155be7de49fd7a12bda38d80c40ca62c7c144 +size 25561 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductD.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductD.prefab index 76e631be..2adaff38 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductD.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductD.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ec5dc8e64a266c248ef3f4ad730ac3f320a9cdff9b1b72906f77adcdadd7360 -size 26309 +oid sha256:f4948f2188e9f390ab5e55a0003d4e7690c376e876586ef75daf12558b79870d +size 25542 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductE.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductE.prefab index 7dc2db4c..4b824aac 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductE.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/MilkProductE.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0eee84cd1cfdb47848271a23c64da72df20ee5fd6ece56ab4592515c68ec5968 -size 26322 +oid sha256:47a1f98d12fbd031045c880bac82aff692c8f2044cae2b4952438c7af198f769 +size 25556 diff --git a/Assets/Supermarket Store/Prefabs/RackAssets/NoodlesA.prefab b/Assets/Supermarket Store/Prefabs/RackAssets/NoodlesA.prefab index 5746e92f..66405aeb 100644 --- a/Assets/Supermarket Store/Prefabs/RackAssets/NoodlesA.prefab +++ b/Assets/Supermarket Store/Prefabs/RackAssets/NoodlesA.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3e1c939e670062de1ffc68762f133ffdc49256cca3cc160af27186cfdb508ec4 -size 26295 +oid sha256:da962f661c84856fb7c8ae2bd3bc6fd3b55b0efc69e85b3d56f17cd3318cf423 +size 25529