브금 추가.

This commit is contained in:
2026-07-28 21:25:17 +09:00
parent 15da7b570a
commit 5dbc9b0a06
4 changed files with 51 additions and 2 deletions

Binary file not shown.

View File

@@ -204,6 +204,26 @@ private void MovePlayerToLoadingArea()
if (cc != null) cc.enabled = true;
}
// 로딩 룸(로딩바 포함)을 플레이어가 지금 보고 있는 방향으로 한 번 돌려놓는다.
// Update에서는 위치만 따라가므로, 여기서 잡아둔 방향이 로딩 내내 유지된다.
// 매 프레임 돌리면 UI가 얼굴에 붙어다녀 멀미가 나므로 전환 시점에 한 번만 맞춘다.
private void AlignLoadingRootToPlayerView()
{
if (_loadingRoot == null || _loadingCamTargetTransform == null) return;
// 고개를 들거나 숙인 각도는 버리고 좌우(yaw) 방향만 쓴다
var forward = Vector3.ProjectOnPlane(_loadingCamTargetTransform.forward, Vector3.up);
// 정수리나 발끝을 보고 있으면 수평 성분이 0에 가까워진다 — 이때는 yaw 값을 직접 쓴다
if (forward.sqrMagnitude < 0.0001f)
{
_loadingRoot.transform.rotation = Quaternion.Euler(0f, _loadingCamTargetTransform.eulerAngles.y, 0f);
return;
}
_loadingRoot.transform.rotation = Quaternion.LookRotation(forward, Vector3.up);
}
// 화면이 어두워진 뒤, HideDuringLoading 마커가 붙은 오브젝트를 전부 끈다 (로딩 중 노출/깜빡임 방지).
// 글로벌 매니저라 씬 오브젝트를 직접 참조할 수 없으므로(씬 전환 시 참조가 끊김) 런타임에 씬에서 찾는다.
private void DisableDarkObjects()
@@ -241,6 +261,9 @@ private async Awaitable SceneChange(string sceneName)
// (로딩 룸은 카메라를 따라다니므로 함께 이동한다)
MovePlayerToLoadingArea();
// 플레이어가 뒤를 보고 있어도 로딩바가 정면에 오도록 로딩 룸을 시선 방향으로 정렬
AlignLoadingRootToPlayerView();
// 어두워진 상태에서 지정 오브젝트들 끄기 (로딩 중 보이면 안 되는 것들)
DisableDarkObjects();

View File

@@ -0,0 +1,23 @@
fileFormatVersion: 2
guid: 30a26f56eb9d3ce4ba2f2148e8c639c9
AudioImporter:
externalObjects: {}
serializedVersion: 8
defaultSettings:
serializedVersion: 2
loadType: 0
sampleRateSetting: 0
sampleRateOverride: 44100
compressionFormat: 1
quality: 1
conversionMode: 0
preloadAudioData: 0
platformSettingOverrides: {}
forceToMono: 0
normalize: 1
loadInBackground: 0
ambisonic: 0
3D: 1
userData:
assetBundleName:
assetBundleVariant: