視覚的なインターフェースは、見ることが難しいと感じる人々にとって大きな障壁となる可能性があります。サイズやコントラストなど、インターフェイスをよりアクセシブルにするために使用できる戦略はたくさんありますが、特に視力のない人にとって不可欠なものがあります。それは、テキストの読み上げ (TTS) です。
テキストの読み上げとは、インターフェイスに関する視覚的な情報が合成音声によって伝達することです。インターフェイス内のテキストと、インターフェイス要素の種類とその状態に関する情報の両方をカバーすることが理想的です。
この機能は他の業界では標準であり、ゲーム開発でも急速に普及しています。目の不自由なゲーマー、弱視のゲーマー (ゲームプレイの眼精疲労の軽減が望まれる)、および認知障害のある人の役に立ち、CVAA コンプライアンスの一部の領域を満たすためにも役立ちます。
CVAA は、ボイス、テキスト、ビデオ チャット機能を備えた、米国で販売されているすべてのゲームが適用対象となるアクセシビリティに関する法律です。
CVAA の法的要求事項の詳細については、IGDA Game Accessibility SIG (IGDA-GASIG) ウェブサイトの「 Demystifying CVAA」ページを参照してください。
Unreal Engine 5 には、3 種類のプラグインが用意され、デベロッパーは視覚障害ユーザーに対して CVAA 要件に適合するためにこれらを活用できます。以下のプラグインがあります。
Text To Speech
Screen Reader
Slate Screen Reader
Text To Speech プラグイン
Text to speech (TTS:テキスト読み上げ) は、デジタル合成による音声で出力するために使用されるソフトウェア テクノロジーです。TTS の例として、目的地へのナビゲーションにおいて、デジタルボイスで方向を指示する GPS デバイスがあります。ユーザーに対して回答を読み上げる電話のスマート アシスタント機能も例のひとつです。
Unreal Engine の Text To Speech プラグインには、プロジェクトのテキスト文字列を読み上げることにより、視覚障害ユーザーのアクセシビリティをサポートする基本機能が用意されています。たとえば、このプラグインを使用すると、インターフェイス要素のラベル、タイプ、および (「ボリューム、スライダー、30%」など) を読み上げたり、オンライン ゲームでテキスト チャットの到着メッセージを読み上げることができます。
現時点で、TTS プラグインはすべてのプラットフォームで英語のみをサポートします。将来的には他の言語のサポートも提供する予定です。
Screen Reader プラグイン
スクリーン リーダーはアシスト テクノロジーの一つで、視覚障害ユーザーがソフトウェア アプリケーションとやり取りするのを支援します。テキストや画像などの画面に表示されるビジュアル情報を、視覚に頼らない、読み上げや点字などの方法を使用して伝えます。画面上のユーザー インターフェース (UI) 要素とやり取りする代替方法も視覚障害ユーザーに提供します。たとえば、マウスを使わないで、視覚障害ユーザーはキーボードの特定のキーを組み合わせて、フォーカスがある画面上のオブジェクトを変更できます。
スクリーン リーダーでは、視覚障害ユーザーが実行するのが困難なアクションを代わりに実行できます。たとえば、UI 要素の右クリック、UI 要素の境界内にある間のマウス ホイールのスクロールがあります。
Unreal Engine の Screen Reader プラグインは、読み上げ機能を利用し、豊富な機能セットを提供するように拡張します。独自のカスタム スクリーン リーダー ソリューションを実装するために使用できる基本フレームワークを提供します。
このプラグインには以下のような機能があります。
TTS でテキストを音声化することをリクエスト。
TTS で音声化する一連のアクセス可能なアナウンスをキューに保持。
アクセス可能な UI 要素のコンテンツをユーザーに対して音声化するようにリクエスト。
このプラグインを有効にすると、Text To Speech プラグインも自動で有効になります。
UI を実行するために スレート を使用している場合、Slate Screen Reader プラグインの方を使用することを検討してください。
Slate Screen Reader プラグイン
Slate Screen Reader プラグインは、Screen Reader プラグインで提供される基本フレームワークをベースに構築されています。独自のカスタム UI ソリューション向けのスクリーン リーダーを実装する方法のサンプル リファレンスとしてこのプラグインを使用できます。
あるいは、UI の実装にスレートを使用している場合にそのまま使用できます。このプラグインの目標は、アクセシビリティの「プラグアンドプレイ」を実現することです。このプラグインを有効にすると、現在サポートされているアクセス可能なスレートおよび UMG UI 要素すべてに、ユーザーが UI 要素にフォーカスを合わせたときに、その内容が音声化されます。
このプラグインを有効にすると、Text to Speech プラグインと Screen Reader プラグインも自動で有効になります。
このプラグインでは次のタイプのウィジェットを現時点でサポートしています。
Button (ボタン)
Check Box (チェックボックス)
Combo box (コンボボックス)
Hyperlink (ハイパーリンク)
Image (画像)
Layout (レイアウト)
Scroll bar (スクロールバー)
Slider (スライダ)
Text (テキスト)
Text (editable) (編集可能なテキスト)
Window (ウィンドウ)
List (リスト)
List item (リスト項目)
Unknown (不明)
使用するプラグインの種類を選択する
次の情報を使用して、プラグインに最適なアクセシビリティ プラグインを選択します。
複雑なユーザー操作を必要としないシンプルな UI を使用する場合は、視覚障害ユーザーに基本的なアクセシビリティを提供する軽量ソリューションとして、Text To Speech プラグインを検討してください。
スレートを UI ソリューションとして使用する場合、Slate Screen Reader プラグインを使用します。
スレート以外の UI ソリューションを使用する場合、独自のカスタム スクリーン リーダーを実装する必要が場合によりあります。Screen Reader プラグインをこの場合のベース フレームワークとして使用します。
Slate Screen Reader プラグインはサンプル実装として参照でき、カスタム スクリーン リーダー開発のガイドになります。
プラグインを有効にする
メインメニューから 3 つすべてのプラグインを有効にできます ([Edit (編集)] > [Plugins (プラグイン)])。プラグインを有効にする方法の詳細については、「プラグインの操作方法」ページを参照してください。
Screen Reader プラグインや Slate Screen Reader プラグインを有効にする前に、プロジェクトや Unreal Engine のインストールあるいは両方でアクセシビリティ機能を有効にする必要があります。
これを実行するステップは同一ですが、編集が必要なコンフィギュレーション ファイルは、アクセシビリティ機能を有効にする対象が特定のプロジェクトか、UE 全体かどうかで異なります。
プロジェクトのみの場合:「
Config\DefaultEngine.ini
」ファイルを開きます。UE 全体の場合:「
C:\Program Files\Epic Games\UE_[Version]\Engine\Config
」フォルダにアクセスし、BaseEditorSettings.ini
またはBaseEngine.ini
を開きます。
開いた .ini
ファイルに次の行を追加します。
Accessibility.Enable=1
ファイルを保存して閉じます。Unreal Engine を実行している場合、変更を有効にするために再起動が必要になることがあります。