Tracking)を利用したマーカー認識のサンプルです。Projectを参照)。マーカーとして利用することに挑戦します。画像サイズは300x300ピクセル、画像フォーマットは透過背景のPNGです。犬の画像を認識すると赤色の立方体、うさぎの画像を認識すると青色の立方体を表示させることにします。Unityの導入を参照)。上記の2種類の画像から、マーカーのパターンファイルを作成します。Projectを参照)。[Data]-[Tools]にあるNftFileGeneratorをダブルクリックするとプログラムが起動します。importをクリックし、特徴点を抽出したいJPGやPNGなどの画像を指定します(透過より背景白の方が認識精度が高いようです)。Setをクリックし、特徴点を抽出します。parameterを調節すると良いようです。抽出されたパターンは赤い四角や青い円で表示されます。パターンを保存するにはExportをクリックし、適当なファイル名で保存します。「うさぎの画像」のパターンファイルをpatt_002.bytesというファイル名で保存します。これらのパターンファイルは、AssetsのResourcesフォルダにコピーしておきます。マーカーオブジェクトの作成SimpleNftはマーカーを認識すると赤色の立方体を表示します。ここでは、2種類のマーカーに応じて、赤色の立方体に加え、青色の立方体を作成しておきます。シーンのARPictureSceneをダブルクリックし、HierarchyにあるMarkerObjectを複製します。tag)メソッドでタグからオブジェクトを取得することが可能)。タグ名は自由に設定することができますが、ここではMarkerObjectとしておきます。次に、Assetsで赤色と青色のマテリアルを作成します。[Create]-[Materials]をクリックしてマテリアルを作成し、Albedoに赤色と青色を設定します。ここでは、マテリアルの名前をRedとBlueにしておきます。これらのマテリアルはMarkerObjectの直下にあるCubeのMaterialsに設定しておきます。マーカーが認識されたときに表示されるのは、上記のCubeオブジェクトです。ここでは、サイズの値をX=80、Y=80、Z=80、位置をX=-80、Y=80、Z=40に修正しておきます。最後にC#スクリプトのARPictureCameraを修正します。2つのマーカーオブジェクトを配列で取得します。マーカーオブジェクトはMarkerObjectというタグが設定されていることを利用します。GameObject.FindGameObjectsWithTag("MarkerObject");同様に2つのパターンを基にマーカーIDを配列で取得します。Resources.Load()メソッドは、Resourcesフォルダ内にあるファイルを探索し取得するメソッドです。160);最後に、update()メソッドで、マーカーが認識された場合に、マーカーオブジェクトをアクティブに変更します。逆に、マーカーが認識されなかった場合は、マーカーオブジェクトを非アクティブに変更します。マーカーオブジェクトは、setTransform()メソッドで、マーカーが検出された位置に表示されます。}}全ソースコードを下記に示します。コードの詳細は、付しているコメントを参考にしてください。プログラムを実行して、「犬の画像」を認識すると青い立方体、「うさぎの画像」を認識すると赤い立方体が表示されることを確認してください。これでイラストなど一般的な画像をマーカーとして利用することができるようになりました。