V Green:Code se nám do rukou dostaly brýle Apple Vision Pro. Náš coCEO Vašek Bittner je prostě boží a dokáže cokoliv, sehnat brýle pro něj nebyl problém. Jelikož brýle nejsou zatím dostupné mimo USA, tak to pro nás byla vzrušující příležitost a taky trochu výzva. 3D video a dinosauři, na které si můžete sáhnout jsou cool, ale mnohem víc cool je vytvořit něco vlastního. Neváhali jsme ani minutu a začali jsme psát Green:Code visionOS appku.
Výzvy při programování: realita je jiná
Programování pro iOS ve Swift a SwiftUI je pro nás každodenní realita, přesto nás vývoj aplikací pro spatial computing ve visionOS několikrát nachytal. Bylo nutné zakomponovat knihovnu RealityKit, komponentu ImmersiveSpace a nástroj Reality Composer Pro na vytvoření virtuální scény, kde máte pocit jako když koukáte na skutečné auto přímo ve vašem obýváku, kanceláři nebo prostě kde zrovna chcete.
3D model středem vesmíru
Ještě mnohem větší oříšek, než nové principy programování ve 3D, byla příprava 3D modelu auta. A jaké lepší auto pro Apple Vision Pro použít než Škoda Vision iV? Rozhodnutí bylo jednoduché. Ze začátku nám auto lítalo v prostoru, nemělo kola, mělo jen půlku střechy nebo třeba chyběly barvy. Nezbývalo něž zasednout a shlédnout pár hodin WWDC videí, kde Apple vše vysvětluje, abychom dokázali Vision iV zkrotit a správně jej umístit v prostoru.
ImmersiveSpace nás kompletně pohltil
Aplikace začne v klasickém okně, zde se krásně uplatní „obyčejné“ SwiftUI. To nevypadá moc odlišně, dokud si nevšimneme komponenty Model3D.
HStack {
VStack(alignment: .leading, spacing: 48) {
Text(car.name)
Text(car.highlights)
}
Spacer()
Model3D(named: car.resourceName) { mode in
model
.resizable()
.scaledToFill()
.frame(depth: modelDepth)
.offset(z: modelDepth)
} placeholder: {
ProgressView()
}
}
Nicméně naším cílem bylo umístit Škoda Vision iV v reálné velikosti přímo před uživatele tak, aby nabyl dojmu že si na něj může sáhnout. Nemusíme ani zmiňovat, že snad všichni to hned vyzkoušeli :)...Také zkoušeli nastoupit, nastartovat a odjet. Tak daleko ta technologie bohužel ještě není. Umístění auta v prostoru se nám nakonec povedlo a umožnilo nám prozkoumat nové dimenze interakce a poskytlo cenné zkušenosti o možnostech a omezeních technologie rozšířené reality v podání Apple Vision Pro.
import
SwiftUI
import
RealityKit
import
RealityKitContent
@main
struct GreenCodeApp: App {
@Environment(\.openImmersiveSpace) var
openImmersiveSpace
@Environment(\.dismissImmersiveSpace) var
dismissImmersiveSpace
@State var
selectedCar: Car?
var
body:
some
Scene {
WindowGroup("Hello Green:code", id: "welcome") {
WelcomeView(selectedCar: $selectedCar)
}
.windowStyle(.plain)
.onChange(of: selectedCar) { _, newValue in
Task {
if
newValue ==
nil
{
await
dismissImmersiveSpace()
} else
{
await
openImmersiveSpace(id: "ImmersiveSpace")
}
}
}
ImmersiveSpace(id: "ImmersiveSpace") {
ImmersiveView(car: selectedCar)
}
}
}struct
ImmersiveView: View {
let
car: Car
var
body:
some
View {
RealityView { content in
guard let
scene =
try
?
await
Entity(named: car.resourceName)
else
{
return
}
content.add(scene)
}
}
}
Co jsme se naučili a několik slov na závěr
Projekt nám odhalil, že úspěch v rozšířené realitě vyžaduje nejen technické dovednosti, ale také schopnost přizpůsobit se novým způsobům interakce mezi člověkem a digitálním světem. Naše zkušenosti s Apple Vision Pro naznačují začátek nové éry v naší práci i každodenním životě. Otevírá se nám svět, ve kterém budou rozhraní mezi digitálním a fyzickým prostředím stále fluidnější a interaktivnější.
Naše první práce s brýlemi se neobešla bez několika výzev a překážek. I tak to byla velmi poučná a zajímavá zkušenost. Ukázalo se, že přechod z tradičního iOS vývoje na vývoj pro rozšířenou realitu není jen o změně technického prostředí, ale také o rozšiřování našeho chápání toho, jak mohou lidé s technologiemi interagovat.
Naše cesta s Apple Vision Pro je teprve na začátku. Už teď se ale těšíme na další projekty, které nám umožní prozkoumat nové hranice rozšířené reality. S každým krokem se učíme, adaptujeme a inovujeme – a to je přesně to, co nás jako vývojáře posouvá vpřed. Ve světě, kde se technologie neustále vyvíjí, je naše zkušenost s Apple Vision Pro jasným připomenutím, že budoucnost je už tady. A my jsme na ni připraveni!