検証4回目JAL都道府県シールを画像マーカーにしてUnity×vuforiaのARを検証するのも今回で4回目です。今回の目標は「2つの画像マーカーの間オブジェクトを表示。前回まではローカル座標とワールド座標の関係を検証しましたが、単体の画像マーカーの中で完結していました。今回は複数の画像マーカー間での座標の検証をしたいと思い目標設定しました。それでは早速検証を始めます。前回までの検証をまだ読んでない方は是非読んでみてください。2つの画像マーカーを使います。-flexibility_cubeImageTarget_Hiroshima-genbaku_dome「center_obj」の名前でEnptyオブジェクトを作ってその下に表示させるオブジェクト「flexibility_cube」を配置しました。「tutenkaku」のオブジェクトと「genbaku_dome」のオブジェクトが同時に表示されたら「flexibility_cube」のオブジェクトを表示するコードを書きました。true;「flexibility_cube」を表示します。Osakaの画像マーカーの単体の時は「tutenkaku」しか表示されませんが、「genbaku_dome」も表示されると「flexibility_cube」が現れました。3個目のオブジェクトを2つの画像マーカーの中間に表示する無事に「flexibility_cube」を表示させることが出来ました。出現地点は何も設定していないので「tutenkaku」と同じ位置です。画像マーカーの中央地点に配置したいとおもいます。/2で座標は取得できるはずなので以下のコードを書きました。XとYの値をそれぞれ足して2で割りました。center_obj_pos;取得した値はワールド座標ですが「center_obj」はローカル座標で配置します。中央地点の座標とImageTarget画像マーカーの座標の差を出して20(※実物の画像マーカーのサイズから)を乗算しました。マーカーに追従しないでその場に留まるオブジェクト[vuforia]実行します。ブレはありますが、ほぼ中央に配置されてそうです。2つの画像マーカーの距離に応じてオブジェクトを伸び縮みさせる2つの画像マーカーの距離を出して「flexibility_cube」のデフォルト値に乗算したらいけるのかな?「flexibility_cube」にアタッチしたスクリプトに以下のコードを書きました。root_obj_Scale;}スクリプトコードの説明this.transform.LookAt(iT_Hiroshima_pos);「ImageTarget_Osaka」「ImageTarget_Hiroshima」どちらかを向く様にしました。今回はImageTarget_Hiroshimaを向くように設定しました。「flexibility_cube」のスケールのデフォルト値1.0f(と仮定して)に取得した距離の値を掛けました。root_obj_Scale;「flexibility_cube」のZ値のスケールを変化させます。それでは実行してみましょう。距離を表示するTextオブジェクトを追加しました。それっぽくはなってるでしょうか。画像マーカーの距離に応じでスケールが変化しています。詰めきれてないけど今回はここで終了まとめそれっぽい結果にはなりましたが、きちんと理解した状態ではなく課題が見えた検証でした。何の何処のスケール値なのか等よくわからなかったり画像マーカーの回転に対応してなかったり。検証する必要がありますね。画像マーカーの周りを回転するオブジェクト[vuforia]「画像マーカーに2つのオブジェクトを出して、1つは固定もう1つは周りを回転」です。画像マーカーを認識して表示させたオブジェクトを個別にコントロールしたいという目的です。kuro20年以上ゲーム業界で働いています。小物類や乗り物を含めた背景のリアルタイム3DCGを専門としています。開発の中で生まれた知識や疑問の共有とアプリ制作記を綴るブログにしていきます。