From 80431b7e839d036c2c992717be7280da80a92823 Mon Sep 17 00:00:00 2001 From: klaus Date: Wed, 5 Nov 2025 01:07:03 +0900 Subject: [PATCH] =?UTF-8?q?refactor(live-room-like-heart):=20=ED=95=98?= =?UTF-8?q?=ED=8A=B8=20=EB=B9=84=EC=9D=98=20=ED=95=98=ED=8A=B8=EC=99=80=20?= =?UTF-8?q?=ED=8F=AD=EB=B0=9C=EC=8B=9C=20=EC=83=9D=EA=B8=B0=EB=8A=94=20?= =?UTF-8?q?=ED=95=98=ED=8A=B8=20=ED=8C=8C=ED=8E=B8=EC=9D=84=20=EB=8F=99?= =?UTF-8?q?=EC=9D=BC=ED=95=9C=20=EB=AA=A8=EC=96=91=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EB=A6=AC=ED=8C=A9=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomActivity.kt | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt index d3a1950e..04bf1b33 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt @@ -2397,10 +2397,23 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB private val particles = mutableListOf() private val baseHeartPath: Path = Path().apply { - // 원점 기준 정규화된 하트 경로 - moveTo(0f, -1f) - cubicTo(0.5f, -1.5f, 1.3f, -0.1f, 0f, 1f) - cubicTo(-1.3f, -0.1f, -0.5f, -1.5f, 0f, -1f) + // 하트 실루엣(정규화 좌표: x,y ∈ [-1,1]) + // 상단 중앙 노치가 있고 좌우 로브가 둥글며 하단 포인트가 뾰족한 형태 + // y 범위 [-1, 1] 유지(halfSize 기반 착지/충돌 판정과 정합) + reset() + moveTo(0f, -0.2f) // top notch + // right lobe → bottom tip + cubicTo( + 0.85f, -1.0f, // control1: right lobe top + 1.35f, 0.2f, // control2: right shoulder + 0f, 1f // bottom tip + ) + // left lobe → back to notch + cubicTo( + -1.35f, 0.2f, // control1: left shoulder + -0.85f, -1.0f, // control2: left lobe top + 0f, -0.2f // notch + ) close() }