| Feature | Implementation | Description |
|---|---|---|
Ocean simulation | iFFT (128×128, 16384 waves) | Quadtree LOD with CPU Burst jobs for physics queries |
Locomotion | FakeMovement system | Reposition in LateUpdate, restore end of frame |
Physics interactions | BaseJointInteractable<T> generic | Extensible joint-based interactables |
Body tracking | Movement SDK + custom IK | Full body presence on the ship |
Comfort | Horizon lock with 4 presets | Reduces motion sickness during ship movement |
Rope simulation | Verlet integration | Burst jobs for performance |
Rendering | PSO pre-warming | Custom ScriptableRenderPass for shader warmup |
// Reposition player in LateUpdate to simulate ship movement
// Restore original position at end of frame to avoid physics conflicts
void LateUpdate() {
// Reposition player relative to ship
}
void OnEndOfFrame() {
// Restore for next physics step
}
BaseJointInteractable<T> provides a foundation for physics-based interactions:CrankInteractable — Rotational crank mechanicsLeverInteractable — Linear lever mechanics| Preset | Description |
|---|---|
Off | No comfort aids |
Subtle | Mild horizon stabilization |
Moderate | Balanced comfort and immersion |
Strong | Maximum stabilization |
ScriptableRenderPass to eliminate shader compilation stuttergit clone https://github.com/oculus-samples/Unity-NorthStar.git