feat: SongCreator 씬 완성 — Beat Sage URL 지원, info.dat 메타데이터 자동 추출

- BeatSageUploader: audio_url 지원(UploadFromUrl), PollAndDownload 공통화, ZIP 500 오류 3회 재시도
- BeatSageConverter: info.dat 파싱(SongMetadata), BPM 자동 감지 → 노트 타이밍 변환에 적용
- SongCreatorManager: title/BPM 필수 입력 제거, 난이도 4개 자동 선택, GenerateFlowFromUrl 버그 수정
- NasPublisher: audioPath null 허용(URL 흐름에서 로컬 파일 없는 경우 스킵)
- .gitignore/.gitattributes 초기 설정

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-21 23:37:34 +09:00
commit 4dad9e5d5b
1068 changed files with 175146 additions and 0 deletions
@@ -0,0 +1,20 @@
using UnityEngine;
namespace VRSDK.Integration
{
public abstract class VR_Integration
{
public VR_Controller RightController { get; }
public VR_Controller LeftController { get; }
public abstract Transform GetLeftHandTransform();
public abstract Transform GetRightHandTransform();
public abstract Transform GeTrackingSpaceTransform();
public abstract VR_Controller GetActiveController();
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: 274d59c162ea3304b846c174270cdb2b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 168243
packageName: VR Beats Kit
packageVersion: 2.0
assetPath: Assets/VRBeatsKit/Modules/VRSDK/VR/Integration/VR_Integration.cs
uploadId: 546658
@@ -0,0 +1,28 @@
using UnityEngine;
namespace VRSDK.Integration
{
public class VR_OculusIntegration : VR_Integration
{
public override VR_Controller GetActiveController()
{
return VR_Manager.instance.Player.RightController;
}
public override Transform GetLeftHandTransform()
{
return GameObject.Find("LeftHandAnchor").transform;
}
public override Transform GeTrackingSpaceTransform()
{
return GameObject.Find("TrackingSpace").transform;
}
public override Transform GetRightHandTransform()
{
return GameObject.Find("RightHandAnchor").transform;
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: a450cee367a07b44fbe4c5d23f3189cf
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 168243
packageName: VR Beats Kit
packageVersion: 2.0
assetPath: Assets/VRBeatsKit/Modules/VRSDK/VR/Integration/VR_OculusIntegration.cs
uploadId: 546658
@@ -0,0 +1,28 @@
using UnityEngine;
namespace VRSDK.Integration
{
public class VR_SteamVRIntegration : VR_Integration
{
public override VR_Controller GetActiveController()
{
return VR_Manager.instance.Player.RightController;
}
public override Transform GetLeftHandTransform()
{
return GameObject.Find("LeftHand").transform;
}
public override Transform GeTrackingSpaceTransform()
{
return GameObject.Find("SteamVRObjects").transform;
}
public override Transform GetRightHandTransform()
{
return GameObject.Find("RightHand").transform;
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: cc25f779daa33bd499bbd4d7a321dc41
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 168243
packageName: VR Beats Kit
packageVersion: 2.0
assetPath: Assets/VRBeatsKit/Modules/VRSDK/VR/Integration/VR_SteamVRIntegration.cs
uploadId: 546658
@@ -0,0 +1,34 @@
using UnityEngine;
namespace VRSDK.Integration
{
public class VR_XRIntegration : VR_Integration
{
public override VR_Controller GetActiveController()
{
return VR_Manager.instance.Player.RightController;
}
public override Transform GetLeftHandTransform()
{
return VR_Manager.instance.Player.LeftController.OriginalParent;
}
public override Transform GetRightHandTransform()
{
return VR_Manager.instance.Player.RightController.OriginalParent;
}
public override Transform GeTrackingSpaceTransform()
{
var cameraOffset = GameObject.Find("CameraOffset");
if (cameraOffset == null) return null;
return cameraOffset.transform;
}
}
}
@@ -0,0 +1,18 @@
fileFormatVersion: 2
guid: a48e7a84122f4d7458fd032411b9dc2e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 168243
packageName: VR Beats Kit
packageVersion: 2.0
assetPath: Assets/VRBeatsKit/Modules/VRSDK/VR/Integration/VR_XRIntegration.cs
uploadId: 546658