なぜUnityでARなのか、という話

 Boltzmanです。相変わらずnは一つです。
 前回の記事で、なぜわざわざUnityでARをやるのか、という点を書いていなかったため、それについて今回は言及していきたいと思います。

 そもそも、私にとってのARの本質は、画像処理ではなく、いかに物をリアルに見せるか、ということです。どのようなものがリアルに見えるのか、という問いに対する答えは様々あるように思います。光源の位置を現実の光源の位置に合わせる、物理シミュレーションを適用する、立体視できるようにする、触れるようにする…。上げ始めたらきりがないのではと思います。当HPでMMD実写合成の記事を投稿しているIntenさんも、目指すところはリアリティーといえるのではないでしょうか。
 純粋なAR、つまり画像処理によって現実の空間を把握し、その上に仮想オブジェクトを配置するというだけなら、Unityなんていう冗長なものを使う必要はありませんが、先述したリアルの要素のうち、少なくとも「物理シミュレーション」と「光源の位置を現実のものに合わせる」という2点において、Unityは便利なのではと考えたので、Unityに移行しました。実際に使ってみると、一番有用なのはsceneビューですね。オブジェクトや光源のレイアウトがやりやすいです。また、いままで使っていたのがCなので、オブジェクト指向というものにも初めてあてられました。とても勉強になります。

 実は(?)物理シミュレーションだけならUnity以前にも適用したことがあります。具体的には、ARToolkitとOpenDynamicsEngineを組み合わせました。なかなかうまくいったように思います。
 多くの情強の皆さんは「光源も自分でいじれks」とお思いになるかもしれません。し、まあド正論なのですが…。一応、サークルに、Unityを使って気軽にARゲームが作れるようなパッケージを遺したいという意図もあったりします。後輩に少しでも自分のやったことを遺せるといいです。
 Unityへの移行がつつがなく終わったら、自分の研究と並行して、デモンストレーションとしてゲームを一本、三田祭に向けて作りたいなぁとも考えています。前回の記事にも書きましたが、NyARToolkitからもぼちぼち卒業しなくては、と思っています。

Posted on