Snap voegt optie voor raytracing toe aan Lenses in Snapchat

Socialmediabedrijf Snap voegt raytracing toe aan de sdk voor Lenses in Snapchat. Met de mogelijkheid kunnen ontwikkelaars digitale objecten die gebruikers kunnen bekijken er realistischer uit laten zien, zegt het bedrijf.

De functie komt vooral van pas voor Lenses die zich richten op bijvoorbeeld shoppen en juwelen, zegt Snap. Die kunnen dankzij de nieuwe functie op een realistischere manier licht weerkaatsen en er daardoor echter uitzien in de Lens.

Een Lens is een filter die objecten en effecten kan toevoegen aan het camerabeeld in Snapchat. Snap introduceerde de Lens-functie jaren geleden en inmiddels zijn er drie miljoen verschillende Lenses om uit te kiezen in de app.

Raytracing is een al enkele jaren bekende functie in games en vereist over het algemeen zware videokaarten. De Snap-functie is veel lichter en kan daardoor op telefoons draaien. De functie werkt in de Lens Studio-software voor ontwikkelaars en is te gebruiken op iOS en Android. De functie werkt op iPhones vanaf de iPhone 11 en op Android-telefoons zijn onder meer de Galaxy S20-, S21- en S22-telefoons compatibel, net als de Pixel 6 en 7 en OnePlus 8-toestellen.

Raytracing in Snapchat LensesRaytracing in Snapchat LensesRaytracing in Snapchat Lenses

Door Arnoud Wokke

Redacteur Tweakers

16-02-2023 • 09:30

24

Reacties (24)

24
22
8
2
0
14
Wijzig sortering
Is er bekend gemaakt welke "RT" bronnen er worden gebruikt? Is het bijvoorbeeld alleen zelf-reflectie/shading van het object? Wordt de camera-input als cubemap gebruikt voor puur de reflecties? Of wordt de camera-input gebruikt om een 3D omgeving te bouwen en zodoende dat te gebruiken als "RT" input? Dat laatste zou wel indrukwekkend zijn :)

Het lijkt mij sowieso geen "echte" RT - hoogstens is het gelijk aan de screen-space RT technieken die custom game shaders vaak gebruiken, waarbij de alleen informatie op het beeld wordt gebruikt, in tegenstelling tot echte RT waar de 3D-omgeving achter de camera ook invloed heeft op de rendering.

Edit: Ah, hier de clue:
Reflections in AR might not anchor as well because Ray Traced Reflections only interact with the 3D meshes in the scene, meaning, it doesn’t intrinsically see the camera feed.
Het is dus puur self-reflection by default, en als degene die het implementeert goede AR-integratie wil, moet die de omgeving mappen naar een 3D-omgeving.

Minder indrukwekkend - RT gebruikt dus alleen objecten die in de scene bestaan, en maakt geen gebruik van de AR-capabiliteiten zoals het 3D-mappen van een omgeving dat iPhones kunnen doen. Jammer!

[Reactie gewijzigd door ikt op 22 juli 2024 14:57]

Hier zijn meer details te vinden over hoe de RT werkt. Zoals je ziet wordt er copy of pseudo-copy gebruikt voor het renderen van de 3D reflectie: https://www.youtube.com/watch?v=zugOkTxvFes De real-time reflecties worden berekend vanuit de camera texture.
Ik maak Snapchat AR for a living en dit is echt een game changer. Veel luxury klanten van mij zullen erg blij zijn met de vooruitgang in reflecties. Hiernaast zijn er ook vette nieuwe features toegevoegd en kunnen we eindelijk GIT gebruiken om project versies te handelen. _/-\o_
Weet jij welke lichtbron er wordt gebruikt voor de RT? Is dit in te stellen in Snapchat Studio of pakt hij daadwerkelijk de echte lichtbron in de ruimte?
Lichtbron is sowieso kunstmatig. Er is wel een machine-learning based envmap (https://docs.snap.com/len...l/ml-environment-matching) maar ik denk niet dat die hiervoor ingezet wordt. Moet eerlijk zeggen dat ik er pas vandaag in ga duiken. Kan niet wachten!
Beetje soort van 'zoek de verschillen' :+
Ja, maar echt.. ik moest het plaatje vergroten om écht het verschil te zien...

(insert meme: they're the same picture...)
Ik heb het plaatje vergroot maar zie nog steeds geen verschil..
Kijk naar de schaduwen van de schoenen op het oppervlak eronder, daar zit het grootste verschil. In de ring is vooral een donkere reflectie van het doosje te zien met RT waar met die reflectie geen rekening wordt gehouden zonder RT
Beetje een slecht voorbeeld in het artikel. De link die in het artikel staat laat direct een veel beter voorbeeld zien met een animatie van RT off naar RT on.

Overigens vraag ik me af hoe dit precies werkt (uit de documentatie wordt ik zo snel niet wijzer). RT werkt toch op basis van een bron licht? Hoe weet de AR code dan waar het licht vandaan komt om op die manier realistische RT toe te passen? En hoe werkt het met reflectie? Ook daar weet de AR code toch helemaal niet wat er gereflecteerd moet worden?

[Reactie gewijzigd door Soepstengel op 22 juli 2024 14:57]

RT werkt toch op basis van een bron licht? Hoe weet de AR code dan waar het licht vandaan komt om op die manier realistische RT toe te passen? En hoe werkt het met reflectie? Ook daar weet de AR code toch helemaal niet wat er gereflecteerd moet worden?
Inderdaad, dit is een soort pseudo-raytracing op z'n best. Want als het echt goed zou werken, dan zou je een 3D render van een spiegel kunnen plaatsen in je beeld en zo om een hoekje kunnen kijken. Maar dat kan natuurlijk niet, want dat beeld valt niet in de camera en de app heeft die informatie dus niet. Er worden dan ook geen lichtstralen getraceerd en de term raytracing wordt hier puur voor marketing doeleinden gebruikt.
Sterker nog, als het echt goed zou werken zou niet te verklaren zijn waarom in de before van het sierraad het materiaal nog enigzins dof lijkt te zijn en in de after ondanks dat het zo spiegelend is het fresnell-effect geheel afwezig lijkt.
Vind het daar ook nog vrij lastig het verschil te zien, helemaal met die laatste, waar het poppetje geanimeerd een kleurtje krijgt. Dat is niet RT en is natuurlijk erg afleidend.
Voorbeeld is imho beetje slecht overgenomen; enkel een screenshot op ongelukkige timings, te zien aan dat in de before en after het handtas-voorbeeld allebij de before laat zien...

als ze voor die beiden de afbeelding los gescreenshot hadden of de gifs zelf hadden opgeslagen en daar de juiste frames uit hadden getrokken...

https://docs.snap.com/img/lens-studio/raytracing-guide-2.gif tasje los
https://docs.snap.com/img/lens-studio/raytracing-guide-3.gif schoenen los
OnePlus 8-toestellen, dus niet de 9 en 10?

Ben dan wel benieuwd wat ze hier voor gebruiken
Oef, ik kijk naar de afbeeldingen, maar zie nauwelijks verschil. Waar moet ik hier eigenlijk op letten? Ik zie namelijk in de 'after' wel meer zwart op het sieraad, maar het lijkt niet direct realistischer, eerder minder realistisch. En dan kijk ik ook nog eens op een monitor en niet op een klein telefoonschermpje.
De schoenen reflecteren eerst een soort belichte omgeving aan de onderkant. Je ziet daar nu de donkere tafel en het gele scherm gereflecteerd worden.
Bij het sierraad zie je nu het zwarte doosje in de reflectie.
Ja, op die afbeelding van die schoenen valt het inderdaad beter op. Vanochtend stond alleen die afbeelding met het sieraad in dit artikel.
Moet zeggen, ik vind het een subtiel verschil, maar wel de moeite waard. Als snap gebruiker verwelkom ik dit.
Wat zijn dat voor buttons op dat plaatje kan iemand mij die uitleggen?

(Overlay NIET in het plaatje)

[Reactie gewijzigd door MrMonkE op 22 juli 2024 14:57]

Bedoel je de kleuren buttons rechts? Hiermee kan de user de kleuren van de schoenen texture aanpassen zodat er nieuwe modellen bekeken kunnen worden.
Nee, vandaag ziet het er normaal uit. Ik heb nu pijlen om te navigeren links en rechts als ik het plaatje bekijk. Gisteren waren het hele rare vorm knoppen die als ik eroverheen ging van vorm veranderden.
Glitch in de matrix? :)

Op dit item kan niet meer gereageerd worden.