feat: Game scene — SongController bridges custom map to VRBeatsKit
- SongController: loads MP3 + Beat Saber JSON map, runs countdown (3→2→1→GO), spawns cubes via VR_BeatManager.Spawn() synced to audioSource.time - NoteData → SpawnEventInfo mapping: position/lineLayer → x/y, colorType → ColorSide, cutDirection → Direction enum - travelTimeOverride on SpawnEventInfo: each cube's travel time is back-calculated from remaining time at spawn moment, so simultaneous notes arrive at hit zone together regardless of frame-level spawn delay - AudioManager: add PlayClip(AudioClip) and CurrentTime property - VR_BeatManager: respect travelTimeOverride when non-zero - Settings.asset: targetTravelTime 0.5 → 1.8 for natural Beat Saber approach feel - SceneBuilder ④: auto-builds Game.unity from SaberStyle, wires SongController refs, registers in Build Settings - LiberationSans SDF fallback updated with NanumGothic for Korean text support - Remove unused SampleScene Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -41,6 +41,14 @@ namespace VRBeats
|
||||
audioSource.outputAudioMixerGroup.audioMixer.SetFloat("Pitch", value);
|
||||
}
|
||||
|
||||
public void PlayClip(AudioClip clip)
|
||||
{
|
||||
audioSource.clip = clip;
|
||||
audioSource.Play();
|
||||
}
|
||||
|
||||
public float CurrentTime => audioSource != null ? audioSource.time : 0f;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user