Tworzenie dostępnych obiektywów SnapAR dla niewidomych użytkowników w LensStudio
Świat rzeczywistości rozszerzonej szybko się rozwija, a platformy mediów społecznościowych, takie jak Instagram, TikTok i SnapChat, inwestują w narzędzia do tworzenia filtrów AR. Wśród nich wyróżnia się SnapChat, udostępniając LensStudio, aplikację, która umożliwia użytkownikom tworzenie obiektywów AR, oferując setki darmowych szablonów. Jednak większość obiektywów AR jest oparta na obrazach, co wyklucza niewidomych użytkowników z równania.
Niektórzy mogą argumentować, że AR nigdy nie jest przeznaczony dla osób niewidomych i że nie powinniśmy się martwić rozwiązaniem tego trudnego problemu dla niezamierzonych użytkowników. Jednak tak nie jest. Niewidomi użytkownicy są wykluczeni z tych nowych immersyjnych mediów nie dlatego, że nie są nimi zainteresowani, ale dlatego, że projektujemy tylko dla osób widzących. Moje badania społeczności i rozmowy z nauczycielami w programach dla osób niewidomych i niedowidzących wykazały, że osoby niewidome i niedowidzące używają SnapChata do utrzymywania kontaktu ze swoimi przyjaciółmi. Niestety, jako twórcy AR, nasz brak świadomości dostępności oznacza, że niewidomi użytkownicy nie są w stanie konsumować ani doświadczać jednego z ich najbardziej ekscytujących wynalazków — soczewek AR.
Jako twórca obiektywów AR możesz to zmienić. W tym poście podzielę się czterema wskazówkami (z przykładowymi soczewkami stworzonymi przeze mnie), jak uczynić swój obiektyw bardziej dostępnym dla użytkowników niewidomych. Więc zacznijmy!
Spis treści
- Opisz swoją scenę za pomocą funkcji zamiany tekstu na mowę
- Użyj dźwięku przestrzennego
- Zintegruj polecenia głosowe za pomocą rozpoznawania mowy
- Dodaj dźwiękową informację zwrotną do interakcji
1. Opisz swoją scenę za pomocą funkcji zamiany tekstu na mowę
Co
W świecie dostępności opisywanie scen jest często nazywane audiodeskrypcją (AD). Służy do dostarczania informacji dotyczących kluczowych elementów wizualnych w dziele medialnym z korzyścią dla konsumentów niewidomych i niedowidzących.
Dlaczego
Kiedy Twoi użytkownicy nie widzą, ważne jest, aby powiedzieć im, co się dzieje. Jest to szczególnie ważne w przypadku obiektywów z opowiadaniem historii. Obiektyw Snap jest jak krótki film plus interakcje. Jeśli Twój obiektyw opiera się wyłącznie na wizualnym opowiadaniu historii, niewidomi użytkownicy zostaną wykluczeni.
Przykład
Jak
Krótko mówiąc, używam Text To Speech (TTS) , aby zmienić ręcznie wprowadzane opisy obiektywu na audiodeskrypcję. Istnieje więcej niż jeden sposób na wykonanie TTS w LensStudio i możesz po prostu skorzystać z pakietu zasobów TTS dostarczonego przez LenStudio lub postępować zgodnie z przewodnikiem po szablonach TTS . Ale odkryłem, że mój sposób jest prostszy, aby zostać zrozumianym przez początkujących twórców (takich jak ja 3 miesiące temu!) jako szybki sposób na zintegrowanie tej najważniejszej funkcji ułatwień dostępu. Więc podążaj dalej, jeśli chcesz zrobić to po mojemu:
- W Scenie utwórz obiekt sceny o nazwie „Opisy”. Utwórz komponent tekstowy i zapisz kluczowe elementy wizualne w obszarze wprowadzania tekstu
// @input Asset.TextToSpeechModule tts {"label": "Text To Speech"}
// @input Component.AudioComponent audio
// @input Component.Text text
//TTS Audio State
var ttsStart = false;
var onTTSCompleteHandler = function(audioTrackAsset, wordInfos, phonemeInfos, voiceStyle) {
print("TTS Success");
script.audio.audioTrack = audioTrackAsset;
script.audio.play(1);
//Set TTS Audio Start to Play State to be true
ttsStart = true;
};
script.api.onTTSCompleteHandler = onTTSCompleteHandler;
var onTTSErrorHandler = function(error,description) {
print("Error: " + error + " Description: "+ description);
};
script.api.onTTSErrorHandler = onTTSErrorHandler;
var options = TextToSpeech.Options.create();
script.api.options = options;
options.voiceName = TextToSpeech.VoiceNames.Sasha;
var text = script.text.text;
script.api.text = text;
script.tts.synthesize(text, options, onTTSCompleteHandler, onTTSErrorHandler);
4. Jeśli wszystko zrobiłeś dobrze, obiektyw powinien teraz narrować scenę z dźwiękiem! Jeśli chcesz dodać więcej audiodeskrypcji do interakcji użytkownika, utwórz kolejny skrypt o nazwie „Aktualizuj tekst” z następującym kodem:
script.api.text = "Yo! Your mouth is as big as a watermelon! Haha! You can hold screen to record this and send to your friends."; // change me!
print('change-text script triggered');
script.tts.synthesize(script.api.text, script.api.options, script.api.onTTSCompleteHandler, script.api.onTTSErrorHandler);
2. Użyj dźwięku przestrzennego
Co
Dźwięk przestrzenny odzwierciedla sposób, w jaki postrzegamy dźwięk w rzeczywistości, biorąc pod uwagę jego głośność, kierunek i odległość. Na przykład w prawdziwym życiu możemy określić położenie samochodu na podstawie kierunku jego dźwięku.
Dlaczego
Jeśli w obiektywie znajduje się poruszający się obiekt, opisanie jego położenia użytkownikom za pomocą samej audiodeskrypcji bez zakłócania ich wrażeń może być trudne. Dźwięk przestrzenny zapewnia użytkownikom subtelne wskazówki dotyczące pozycji i ruchu obiektu, co może również zwiększyć wciągające wrażenia zarówno dla widzących, jak i niewidomych użytkowników.
Przykład
Jak
LensStudio ma akapit mówiący o ich funkcji Spatial Audio . Konkretnie, oto jak to robię:
- Na scenie poruszający się obiekt, w moim przypadku feniks, dodaj komponent audio i dołącz dźwięk, który chcesz odtworzyć.
3. Ostatnim krokiem jest upewnienie się, że masz jeden i tylko jeden komponent „Audio Listener” dodany do obiektu sceny. Dodałem swój do głównego aparatu i działa dobrze. Przeczytaj więcej o tym komponencie tutaj .
3. Zintegruj polecenia głosowe za pomocą rozpoznawania mowy
Co
Polecenia głosowe to funkcja, która umożliwia użytkownikom interakcję z obiektywem za pomocą głosu. Bardziej popularnym terminem w branży jest Voice User Interface (VUI). Alexa firmy Amazon lub Siri firmy Apple to dobre przykłady VUI.
Dlaczego
VUI może być szczególnie przydatne dla użytkowników niewidomych lub niedowidzących, którzy mogą mieć trudności z używaniem dotykowych elementów sterujących na obiektywach AR SnapChata. Ze względu na sposób, w jaki zaprojektowano i opracowano funkcję przyciągania, czytniki ekranu nie działają efektywnie na obszarze ekranu dotykowego. Co więcej, dobrze zaprojektowany VUI może ulepszyć doświadczenie AR, aby było bardziej wciągające i angażujące dla widzących użytkowników, oferując jednocześnie intuicyjny sposób interakcji.
Przykład
Jak
Istniejący pakiet System Voice Command Resources dostarczony przez LensStudio jest całkiem niezły do tego, czego potrzebujemy. Jako przykład, oto jak modyfikuję go dla mojego obiektywu:
- Najpierw importuję pakiet z biblioteki zasobów i przeciągam prefabrykat do kamery ortograficznej.
3. Wybierz obiekt „Taniec” i wprowadź słowa kluczowe związane z „tańcem”.
4. Teraz ustaw wyzwalacze: mój obiektyw wyzwala dwa zachowania, odtwarzanie dźwięku i odtwarzanie animacji.
5. Weźmy na przykład wyzwalanie animacji: w innym komponencie skryptu zachowania, który jest dołączony do tego samego obiektu „Taniec”, ustawiłem „Wyzwalacz” na „Brak”, „Typ odpowiedzi” na „Animowana siatka”, wybieram komponent animacji, aw „Opcjach” tworzę skrypt, który odtwarza w pętli klip animacji o nazwie „Taniec”, zatrzymując drugi klip. Z tego samouczka wideo można dowiedzieć się, jak łączyć klipy animacji w LensStudio .
4. Dodaj dźwięki do interakcji
Co
Dźwiękowe sprzężenie zwrotne to funkcja, która zapewnia użytkownikowi sygnał dźwiękowy potwierdzający, że zdarzenie zostało wyzwolone, podobnie jak dzwonek do drzwi dzwoni po naciśnięciu w rzeczywistości
Dlaczego
Podczas gdy sprzężenie zwrotne dźwięku jest powszechną cechą interakcji AR, włączenie go do obiektów, które zazwyczaj nie hałasują w prawdziwym życiu, może być unikalnym i skutecznym sposobem na poprawę wrażeń użytkownika. Może to być szczególnie przydatne dla użytkowników niewidomych lub niedowidzących, ponieważ zapewnia bardziej wciągającą interakcję z wirtualnymi obiektami bez polegania na wizualnych wskazówkach. Dodanie kreatywnie zaprojektowanych efektów dźwiękowych może również sprawić, że widzący użytkownicy poczują się bardziej związani z doświadczeniami AR.
Przykład
Jak
Sprawiłem, że kolczyki wydawały dźwięki, gdy użytkownicy kręcili głowami, pisząc skrypt zwiększający głośność dzwonka wietrznego w oparciu o ruchy kolczyków. Oto szczegóły:
- Utwórz w scenie obiekt o nazwie „Kontroler sprzężenia zwrotnego dźwięku” i dodaj do niego komponent Audio z efektem dźwiękowym oraz komponent Skrypt.
//@input Component.AudioComponent aduio
//@input SceneObject earring
//@ui {"widget" : "separator"}
//@ui {"widget":"group_start", "label":"Map Values", "hint":"Same as p5js map() method. Mapping the earring angle to volume"}
//@input float start_1 = 0 {"widget":"slider","min":"0.0","max":"1.0", "step": " 0.1"}
//@input float stop_1 = 0.1 {"widget":"slider","min":"0.0","max":"1.0", "step": " 0.1"}
//@input float start_2 = -0.5 {"widget":"slider","min":"-1.0","max":"1.0", "step": " 0.1"}
//@input float stop_2 = 1 {"widget":"slider","min":"0.0","max":"2.0", "step": " 0.1"}
//@ui {"widget":"group_end"}
script.aduio.fadeInTime = 2;
script.aduio.fadeOutTime = 2;
var theta;
getDeltaTime()
// this function works similar to the map() method in p5.js
function mapVar(n, start1, stop1, start2, stop2) {
return ((n-start1)/(stop1-start1))*(stop2-start2)+start2;
}
function onUpdate() {
theta = Math.abs(script.earring.getTransform().getWorldRotation().z) ;
script.aduio.volume = mapVar(theta, script.start_1, script.stop_1, script.start_2, script.stop_2);
print(script.aduio.volume);
}
script.createEvent("UpdateEvent").bind(onUpdate);
// play audio on loop
script.aduio.play(-1);
4. To wszystko!
Wniosek
Dostępne soczewki nie muszą być nudne ani ograniczone. Tak jak napisy zostały pierwotnie opracowane dla użytkowników z ubytkiem słuchu, ale teraz są doceniane przez wielu, tak wszystkie opisane przeze mnie funkcje można zaprojektować tak, aby bezproblemowo zintegrowały się z doświadczeniami AR, a nawet je ulepszyły. Aby dać ci wyobrażenie, jak skuteczny może być dostępny obiektyw, mój kolczyk z efektem dźwiękowym uzyskał ponad 350 000 wyświetleń, a nawet znalazł się na liście „Trendy” Snapchata!
Oczywiście jest znacznie więcej do odkrycia w zakresie tworzenia immersyjnych dostępnych soczewek, nie tylko dla użytkowników niewidomych, ale także dla osób z daltonizmem, ubytkiem słuchu, niepełnosprawnością ruchową, autyzmem i innymi schorzeniami. Aby uczynić te soczewki bardziej skutecznymi dla niewidomych użytkowników, przydatne byłoby, gdyby Snapchat mógł włączyć funkcje ułatwień dostępu, takie jak audiodeskrypcje i polecenia głosowe, do wszystkich szablonów oraz umożliwić twórcom łatwe dostosowywanie opisów tekstowych i słów kluczowych poleceń.
Czy uważasz te wskazówki za przydatne? Czy masz jakieś inne sugestie? Daj mi znać w komentarzach pod spodem.
Jeśli jesteś twórcą niewidomych soczewek, bardzo się cieszę, że zainteresował Cię ten artykuł! Starałem się, aby ten post był jak najbardziej przystępny, ale prawdopodobnie wciąż coś przeoczyłem. Jeśli napotkasz jakiekolwiek problemy z ułatwieniami dostępu podczas czytania tego artykułu, nie wahaj się dać mi znać, abym mógł go ulepszyć dla wszystkich.