2017-05-23 - 2018-05-30 (update) |
|
|
*AR 拡張現実 とは
人が感知できる現実世界の情報にさらに別の情報を加えて表現する技術です.カメラで撮影した画像上に文字やCGを表示する事例が良く知られています.図1は,画像上に3Dモデルを表示した例です.
[img:3zlb]
{{small:図1 3Dモデルを表示した例}}
図1の例では,背後にあるドット模様のマーカーを使って3Dモデルの表示位置を決めています.AR用のマーカーとしては,一般的には矩形のもの(例:[link:ARマーカー])が良く利用されます.
また,画像上の一部分を消す技術を,Diminished Realityと呼びます.例えばシーン中の人や物体,或いはマーカー自体を隠したいときに利用します.
[youtube:w9Pz1NdIbe8]
*サンプルコード (C++)
ライブラリ:[link:simplesp]
サンプルコード:simplesp/sample/xx/dotmarker
Webカメラで撮影中の画像からドット模様のマーカーを検出し,そこにウサギのモデルを表示します.
{{small:プログラムを実行するには,OpenCVとGLFWの準備に加え,stanford bunnyのデータが必要です.}}
{{small:The Stanford 3D Scanning Repository: [link:https://graphics.stanford.edu/data/3Dscanrep/] }}
*MMD(MikuMikuDance)
MMDは3Dモデルを操作して踊らせることができるフリーウェアです.MMDを使って,大勢のクリエータが魅力的な3Dモデルやモーションを作っています.ARで表示するコンテンツとしては,このMMDのデータを使ってみたくなると思います.
{{small:VPVP MMDのWebサイト : [link:http://www.geocities.jp/higuchuu4/] }}
MMD用のデータを表示させるプログラムを作りたい場合,benikabocha様が公開しているライブラリ「Saba」が使いやすいです.
{{small:OpenGLでMMDを表示する Saba の紹介サイト : [link:http://qiita.com/benikabocha/items/ae9d48e314f51746f453] }}
図2は,Sabaを使って3Dモデルを動かしてみたときのスクリーンショットです.
[img:nq5b]
{{small:図2 MMDのモデルの表示結果}}
{{small:3Dモデル(艦隊これくしょん 古鷹改二)はぶどう様の作品をお借りしました.[link:http://3d.nicovideo.jp/works/td29272]}}
{{small:モーションデータ(ピチカートドロップス)はづなうじ様の作品をお借りしました.[link:http://www.nicovideo.jp/watch/sm30304815]}}
>> ご意見・ご質問など お気軽にご連絡ください.info