Che linguaggio di programmazione si usa per creare esperienze e programmi di realtà virtuale?
Non è tanto il linguaggio di programmazione, ma le tecniche che si usano.
In altre parole, mi imbatto in molti bravi programmatori, ma non molti che siano così intuitivi quando si tratta di creare buone esperienze VR. Per creare un'esperienza VR convincente è necessario fornire tecnicamente (più o meno in ordine di importanza):
- Un framerate elevato e costante
- Un'esperienza che non rompa la "presenza" (ad esempio qualcosa che li porti fuori dall'esperienza VR)
- Avere un'esperienza che sia progettata con la VR in mente (cioè nessun elemento HUD enorme, probabilmente nessun effetto 2D, ecc. - Non c'è molta programmazione. La maggior parte della buona VR è un buon design - guarda qui VRBoy's VR Design : Best Practices - dSky : VRFAQ per le buone pratiche di design.
Per rispondere più direttamente alla tua domanda - se stai scrivendo da zero, allora C++ con OpenGL (qualsiasi piattaforma, inc. Windows) o DirectX (Windows) andrà bene. Si può fare qualsiasi cosa con C++. E sarà veloce. Però potrebbe volerci un po' di tempo.
La vera domanda che penso tu stia facendo è come posso iniziare a imparare a programmare tutte queste piattaforme VR - ed è qui che entrano in gioco i motori di gioco. L'unica differenza tecnica tra un gioco e un'esperienza VR è che per la VR stai renderizzando due punti di vista oculari - cioè due scene - una per ogni occhio, con un'origine di circa 65mm di separazione per tenere conto dell'IPD. Tutto il resto, l'importazione delle risorse, il mantenimento del rendering veloce, ecc. è essenzialmente lo stesso per loro.
Unity è, di gran lunga, il più popolare. Vi permetterà di puntare alla maggior parte delle piattaforme, dal PC al mobile, e molte altre. Ha C# come linguaggio di scripting ed è probabilmente il più semplice. Tutte le mie app GearVR sono state codificate usando Unity. Ci sono tantissimi video e tutorial su come usare Unity e tutte le principali piattaforme VR/AR hanno essenzialmente uno starter kit Unity. Io comincerei con quello. Vi insegnerà le basi, e quando comincerete a sentire i suoi vincoli come ambiente, conoscerete le buone pratiche VR.
Unreal è il suo concorrente più vicino, ed è il pezzo grosso dei motori di gioco. Molti titoli AAA sono scritti in Unreal. Considero Unreal il prodotto più "professionale", semplicemente perché è un po' più difficile da imparare ma ha una tonnellata di estensibilità. Ha un linguaggio di scripting "blueprints" che è facile da imparare/usare, ma si può sempre scrivere del codice C++ e aggiungerlo nel motore per la personalizzazione. Per piccole applicazioni VR basate su PC potrei usare Unity, ma se è grande e complicato e voglio fare molta più gestione delle scene e delle prestazioni, userò Unreal. Ti permette anche di puntare a varie piattaforme VR/AR - Unity è grande, ma Unreal non è molto indietro.
Ci sono anche molti altri - Lumberyard, Cryengine, ecc. Puoi anche scrivere il tuo o usare un framework come Cinder e personalizzarlo.
Il modo per iniziare in VR è procurarsi una cuffia VR e iniziare a scrivere codice. La comunità è eccellente, tutti stanno cercando di capire questa roba, non ci sono risposte sbagliate, e tutto si risolverà in pochi anni. Fino ad allora, sperimentate, condividete i vostri risultati e divertitevi.
Articoli simili
- Come fare video di realtà virtuale e qual è la migliore telecamera per le riprese di realtà virtuale o 360
- Se si apre qualsiasi app non di Realtà Virtuale su Oculus Rift o Samsung Gear, vengono ancora mostrate come Realtà Virtuale?
- In quale linguaggio di programmazione è codificato Netflix? Come si usa questo linguaggio?
- Come distinguere facilmente la realtà aumentata e la realtà virtuale