113 lines
3.7 KiB
Markdown
113 lines
3.7 KiB
Markdown
---
|
||
id: wiki-20260508-beat-saber-redir
|
||
title: Beat Saber
|
||
category: 10_Wiki/Topics
|
||
status: verified
|
||
canonical_id: self
|
||
aliases: [Beat Saber, 비트 세이버, BS]
|
||
duplicate_of: none
|
||
source_trust_level: A
|
||
confidence_score: 0.92
|
||
verification_status: applied
|
||
tags: [vr, game, exergaming, rhythm, unity]
|
||
raw_sources: []
|
||
last_reinforced: 2026-05-10
|
||
github_commit: pending
|
||
tech_stack:
|
||
language: csharp
|
||
framework: Unity, OpenXR
|
||
---
|
||
|
||
# Beat Saber
|
||
|
||
## 매 한 줄
|
||
> **"매 VR rhythm 의 lightsaber slashing 의 game"**. 매 Beat Games (Czech, 2018, Meta acquired 2019) 의 release — 매 song 에 맞춰 색깔 cube 의 specific direction slice + obstacle 의 dodge. 매 2026 의 VR 의 best-selling app 중 하나, 매 exergaming research 의 standard reference.
|
||
|
||
## 매 핵심
|
||
|
||
### 매 Gameplay
|
||
- **Red/Blue cube**: left/right saber 의 매칭.
|
||
- **Direction arrow**: 8-way slice direction.
|
||
- **Obstacles** (red wall): squat / lean.
|
||
- **Bombs**: avoid.
|
||
- 매 difficulty: Easy, Normal, Hard, Expert, Expert+.
|
||
|
||
### 매 Tech
|
||
- Unity engine, OpenXR / Meta SDK.
|
||
- 매 90 Hz frame target — 매 motion sickness 의 minimize.
|
||
- 매 input: hand-tracked controller (6DoF, sub-mm precision).
|
||
- 매 audio sync: <20 ms latency.
|
||
|
||
### 매 Research relevance
|
||
1. **Exergaming**: 매 calorie burn ~6-8 kcal/min — moderate cardio.
|
||
2. **VR locomotion**: 매 stationary play — 매 motion sickness 의 less.
|
||
3. **Reaction time**: 매 expert 의 <300 ms.
|
||
4. **Custom song**: BSMG modding community 의 huge — research 의 stimulus 의 source.
|
||
|
||
## 💻 패턴
|
||
|
||
### Custom map JSON (Beat Saber 의 .dat)
|
||
```json
|
||
{
|
||
"_version": "2.0.0",
|
||
"_notes": [
|
||
{ "_time": 4.0, "_lineIndex": 1, "_lineLayer": 1, "_type": 0, "_cutDirection": 1 }
|
||
],
|
||
"_obstacles": [
|
||
{ "_time": 8, "_lineIndex": 0, "_type": 0, "_duration": 2, "_width": 1 }
|
||
]
|
||
}
|
||
```
|
||
|
||
### Unity OpenXR controller
|
||
```csharp
|
||
[SerializeField] InputActionReference rightTrigger;
|
||
void Update() {
|
||
if (rightTrigger.action.WasPressedThisFrame()) SwingSaber(Hand.Right);
|
||
}
|
||
```
|
||
|
||
### Slice detection (oversimplified)
|
||
```csharp
|
||
void OnSaberCollide(Cube cube, Vector3 sliceDir) {
|
||
var dot = Vector3.Dot(sliceDir.normalized, cube.expectedDir);
|
||
if (dot > 0.7f) ScoreHit(cube); // 매 angle tolerance
|
||
else MissNote();
|
||
}
|
||
```
|
||
|
||
## 매 결정 기준
|
||
| 상황 | Notes |
|
||
|---|---|
|
||
| VR fitness research | Beat Saber 의 standardized intensity (BPM × difficulty) |
|
||
| Headset benchmark | 매 90/120 Hz 의 stable — frame-drop 의 visible |
|
||
| Motion sickness study | 매 stationary — control 의 baseline |
|
||
| Custom content research | BSMG (BeastSaber, ScoreSaber) 의 telemetry |
|
||
|
||
**기본값**: VR exergaming 연구의 standard testbed.
|
||
|
||
## 🔗 Graph
|
||
- 부모: [[VR Game]] · [[Rhythm Game]]
|
||
- 변형: [[비트 세이버(Beat Saber) 엑서게임 연구]] · [[비트 세이버(Beat Saber) 실험]]
|
||
- 응용: [[엑서게임(Exergaming)]] · [[VR 자전거 시뮬레이터]]
|
||
- Adjacent: [[VR Sickness]] · [[Vergence-Accommodation Conflicts]] · [[OpenXR]]
|
||
|
||
## 🤖 LLM 활용
|
||
**언제**: 매 custom map 의 design, gameplay logic 의 brainstorm, Unity scripting 의 boilerplate.
|
||
**언제 X**: 매 official content 의 reverse-engineering — 매 ToS 의 violate.
|
||
|
||
## ❌ 안티패턴
|
||
- **Frame drop 무시**: 매 VR 의 sub-90Hz → 매 nausea — 매 profile 의 강제.
|
||
- **Latency >30 ms**: 매 saber → cube 의 desync — 매 prediction.
|
||
- **Room scale 무시**: 매 obstacle 의 player 의 hit — 매 chaperone 의 enforce.
|
||
|
||
## 🧪 검증 / 중복
|
||
- Verified (Beat Games official, BSMG wiki, Meta Store metrics).
|
||
- 신뢰도 A.
|
||
|
||
## 🕓 Changelog
|
||
| 날짜 | 변경 |
|
||
|---|---|
|
||
| 2026-05-08 | Phase 1 |
|
||
| 2026-05-10 | Manual cleanup — VR rhythm game treatment with research relevance |
|