--- id: wiki-2026-0508-실시간-엔진-real-time-engine title: 실시간 엔진 (Real-Time Engine) category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Real-Time Engine, RTE, Game Engine, Realtime Rendering] duplicate_of: none source_trust_level: A confidence_score: 0.9 verification_status: applied tags: [game-engine, realtime, rendering, simulation] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: cpp framework: unreal-unity-godot --- # 실시간 엔진 (Real-Time Engine) ## 매 한 줄 > **"매 RTE 는 매 매 프레임 (16.67ms @ 60Hz, 매 8.33ms @ 120Hz) 안에 매 simulation + render 매 완료해야 한다 — 매 deadline 매 hard"**. Gregory 의 매 *Game Engine Architecture* 가 매 canonical reference. 매 2026 modern engines: Unreal Engine 5.5 (Nanite, Lumen, MetaHuman), Unity 6 (HDRP, ECS/DOTS), Godot 4.4, Bevy (Rust ECS). ## 매 핵심 ### 매 frame budget breakdown (60 Hz) - Input poll: <1 ms - Game logic / scripting: 2-4 ms - Physics: 2-4 ms - Animation / IK: 1-3 ms - Render submit (CPU): 1-3 ms - GPU render: 4-10 ms - Total: <16.67 ms ### 매 core subsystems - **Renderer**: scene graph, culling, rasterizer / RT. - **Physics**: rigid body, soft body, character controller. - **Audio**: 3D positional, mixing, DSP. - **Animation**: skeletal, blend tree, state machine. - **Networking**: client prediction, lag compensation. - **Scripting / ECS**: gameplay code. - **Asset pipeline**: import, baking, streaming. ### 매 응용 1. 매 game (AAA / indie / mobile). 2. 매 architecture viz / digital twin. 3. 매 VR / AR experience. 4. 매 simulation training. ## 💻 패턴 ### Fixed timestep + interpolation (Glenn Fiedler) ```cpp double accumulator = 0, t = 0; const double dt = 1.0 / 60.0; double prevTime = now(); while (running) { double curr = now(); accumulator += curr - prevTime; prevTime = curr; while (accumulator >= dt) { physics.step(dt); accumulator -= dt; } double alpha = accumulator / dt; renderer.render(state.lerp(prev, alpha)); } ``` ### ECS (Bevy 0.15, Rust) ```rust #[derive(Component)] struct Position(Vec3); #[derive(Component)] struct Velocity(Vec3); fn movement(time: Res