こんにちは、Unityエンジニアのオオバです。
一見UnityでQRコードを読み取る方法って難しそうに感じますが、実はとっても簡単です。Unityが機能として提供していないため外部ライブラリを利用することになりますが、手順はとてもシンプルです。
本記事ではUnityでQRコードの作成、読み取りを利用したい方向けに解説していきます。
Unityエディタ、スマホで動くアプリにしていくため、下記を参考にスマホ用のUnityプロジェクトを作成しておいてください。
👉DOTweenの教科書を読んでUnityアニメーションをプログラミングしてみよう!
QRコード作成用のライブラリの取得
今回はQRコードの作成、読み取りを実装するために 「ZXing」 というライブラリを使用します。
上記リンクにアクセスしてGitHubページを開きましょう。
右の方にある Releases ボタンをクリックしてください。
解凍するとさまざまな環境向けのファイルが現れますが、その中でUnity用を使用します。
- zxing.unity.dll
- zxing.unity.pdb
- zxing.unity.xml
Unityフォルダ内に3つのファイル格納されているので、このファイルをUnityプロジェクトに移動させます。
格納先は Assets/Plugins
フォルダにします。Pluginsフォルダが無ければ新規で作成してください。
Projectウィンドウは上図のようにファイルを配置しました。
UnityとQRコードの実装方法
今回次の3つの処理を作成します。
- 使いやすくするためのヘルパークラス
- QRコード作成用のEditorウィンドウ
- QRコード読み取り処理
使いやすくするためのヘルパークラス
今回使用するQRコードライブラリ「ZXing」を使いやすくするためのヘルパークラスを作成します。
- 画像のQRコードから読み取り
- WebカメラからQRコードの読み取り
- QRコードの作成
ソースコードを見ていきましょう。
上記のコードの通りRead関数とCreateQRCode関数を使ってQRコードの作成、読み取り機能を実装していきます。
QRコード作成用のEditorウィンドウ
次にQRコードを作成するEditorウィンドウを作成してみます。メニューWindow
から「QR」からQRコード作成用ウィンドウが表示されます。
書き込む文字列を入力、サイズを指定し、Saveボタンをクリックしてみてください。
するとAssets配下に 「qr.png」 が生成されます。
作成したQRコード画像はこちら。
しっかり作られましたね。
QRコード作成用のEditorウィンドウのソースコードはこちら。
QRコード読み取り処理
次に読み取りアプリを作成します。先にソースコードから見ていきましょう。
上記コンポーネントをSceneビューに配置してビルドしてみましょう。
すると端末のカメラを通してQRコードに書き込まれた文字列を取得できるようになります。
ちなみにiOSアプリの場合 メニューProject Settings > Player > Other Settings
の Camera Usage Description を入力していないとアプリ起動時にクラッシュするので注意です。
まとめ
本記事ではUnityでQRコードの読み取り、書き込みを実装する方法を初回してきました。
外部ライブラリの「ZXing」を使うととっても簡単に作成できます。
またAndroid、iOSといったスマホでも動作しますので、QRコードを作成する必要が出てきた方はぜひ利用してみてください。

筆者のXをフォローしよう
- Unity6000.0.32f1