1杯のラーメンの写真をいっぱい撮って3Dモデルにした話

![featured.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/4d4503b2-eaa9-a0df-0202-cd7602c60653.png)



# 1杯のラーメンをいっぱい写真撮ってZephyrで3Dモデルにした話

これは [Photogrammetry Advent Calendar 2019](https://qiita.com/advent-calendar/2019/photogrammetry) の1日目の記事です。

ラーメンの写真からラーメンの3Dモデルを作成したときの話を書こうと思います。



# ラーメンをフォトグラメトリでメッシュ化したらどうなるの？

**フォトグラメトリ** という技術があります。これを使えば、複数の静止画から3Dモデルを作成できます。

**ラーメンをフォトグラメトリでメッシュ化したらどうなるの？**

これが、フォトグラメトリという技術に触れて最初に思った疑問でした。

2019年7月7日にTIMEMACHINEさんで開催された [STYLY Photogrammetry Workshop](https://styly.connpass.com/event/137029/) で、はじめてフォトグラメトリに触れました。

あまりにも簡単に実写風のメッシュが生成できて感動したので、さっそく、帰り道でラーメン屋に立ち寄り、ラーメンの写真を12枚ほど撮影しました。（念のため、店員さんにお許しをいただきました。）

そうしてできたのが、こちらです。


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">さっそくラーメンでフォトグラやってみましたｗ<br>写真の枚数が全然足りなくて、穴だらけのメッシュですが、懸念していたスープの透過や反射は、それほど悪影響はなさそうです。 <a href="https://t.co/HU9Mx6zig6">pic.twitter.com/HU9Mx6zig6</a></p>&mdash; せぎゅ (@segur_vita) <a href="https://twitter.com/segur_vita/status/1147870101594525697?ref_src=twsrc%5Etfw">July 7, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


穴だらけではありますが、想像以上に綺麗にできてびっくりしました。

使用したツールはこんな感じです。

- 撮影機材：iPhone Xのカメラ（静止画12枚）
- ソフト： [3DF Zephyr Free](https://www.3dflow.net/3df-zephyr-free/)

3DF Zephyrの詳しい使い方はこちらを参考にさせていただきました。

[フォトグラメトリ入門 撮影方法～3Dモデル作成 ](https://styly.cc/ja/tips/photogrammetry_discont_photogrammetry/)

これをきっかけに、ラーメンや食器を日々メッシュ化するようになりました。



# 撮影枚数を増やすためにテーブル席のあるラーメン屋を探した

丼の裏側は撮影できていないため、きちんとモデルが作れていません。完成度を上げるためには、死角ができないように上下左右前後から、ラーメンをくまなく撮影する必要があります。

そうなると、**カウンター席ではなくテーブル席で撮影することが望ましいです。**（テーブルの周りをぐるぐる撮影します）

しかし、ある問題が浮上しました。

**テーブル席のあるラーメン屋って、結構少ないんです！**（東京の場合）

テーブル席のあるラーメン屋を探す日々が始まりました。

なんとかテーブルのあるお店を見つけてできたのが、こちらです。


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">今度は家系ラーメンで <a href="https://twitter.com/hashtag/%E3%83%95%E3%82%A9%E3%83%88%E3%82%B0%E3%83%A9%E3%83%A1%E3%83%88%E3%83%AA?src=hash&amp;ref_src=twsrc%5Etfw">#フォトグラメトリ</a> やってみました！<a href="https://twitter.com/mononou?ref_src=twsrc%5Etfw">@mononou</a> さんと協力して撮りまくった280枚の写真から、ピンボケしたのを取り除いた120枚でやりました。<br>海苔のメッシュが想像よりも綺麗で嬉しいです！<br>次の課題は丼とレンゲかなぁ<a href="https://twitter.com/hashtag/Photogrammetry?src=hash&amp;ref_src=twsrc%5Etfw">#Photogrammetry</a> <a href="https://t.co/14r2Z9O6eu">pic.twitter.com/14r2Z9O6eu</a></p>&mdash; せぎゅ (@segur_vita) <a href="https://twitter.com/segur_vita/status/1151488213543874563?ref_src=twsrc%5Etfw">July 17, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


死角のないようにとにかく撮りまくった結果、280枚になりましたｗ（その内使ったのは120枚です。）

おかげさまで、海苔が重なっている部分とかの精度がかなり向上しました！

ちなみに、静止画120枚をZephyrに取り込もうとしたところ、Free版は最大50枚までだったため、思い切って

[3DF Zephyr Lite](https://www.3dflow.net/3df-zephyr-evaluation-download-page/) を購入しましたw

これで500枚まで取り込めるようになりました。



# Unityで湯気を再現してみた

作ったものを友人や知り合いに見せて回ったところ、とある人から言われました。

**湯気があるともっといいよねーｗ**

衝撃を受けました。

早速、湯気の再現に取り掛かりました。

パーティクルシステムで実現できないか調査したところ、以下の記事を見つけました。

[Unity ParticleSystem Lesson:舞い上がる煙](http://ktk-kumamoto.hatenablog.com/entry/2017/12/24/215855)

こちらを参考にして、無事にパーティクルシステムで湯気を出すことに成功しました。



![yuge.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/221845/bc527052-4d18-bf55-399b-4bcf2ccfc075.gif)



# アワードに応募することにした

ちょうどその頃、 [STYLY Photogrammetry Awards 2019](https://styly.cc/ja/awards/styly-photogrammetry-award-2019/) というイベントがVR作品を応募していました。

これに応募してみることにしました。

レンゲや箸といったラーメン関連物を片っ端から3Dモデル化し、VR空間に設置してみました。

そうしてできたのが、 **ラーメン背牛** です。ぜひご覧ください。

[STYLY GALLERY / ramen-segur](https://gallery.styly.cc/segur/2d199f5a-ab07-11e9-b34d-4783bb2170d0)


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">STYLYさんにアップロードしたのはこちらです。<br>丼とかごますり器とかいろいろ詰め込めこんだら、すごく重たいシーンになってしまった。。。<a href="https://t.co/wyXnAckbQ5">https://t.co/wyXnAckbQ5</a> <a href="https://twitter.com/hashtag/STYLY?src=hash&amp;ref_src=twsrc%5Etfw">#STYLY</a></p>&mdash; せぎゅ (@segur_vita) <a href="https://twitter.com/segur_vita/status/1152922973415698432?ref_src=twsrc%5Etfw">July 21, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


残念ながらファイナリストには選ばれませんでしたが、自分としては、大好きなラーメンに囲まれて非常に楽しい空間が作れたと思ってますｗ



# 今後の課題：もっとメッシュを綺麗にしたい

メッシュがガタガタなので、これらを綺麗にすれば完成度がぐっと上がると思いました。この辺りはBlender等の技術を磨く必要があるなと感じました。

たとえば、丼なんかは円柱や円錐を組み合わせて加工すればもっと綺麗なメッシュになると思います。（その場合、フォトグラメトリとは呼べない気もしますが・・・）

また、ポリゴン数が多すぎるのも課題です。特徴が失われない範囲でポリゴン数を減らし、データ量を抑えたいなと思います。



# さいごに

本記事作成にあたり、以下のページを参考にさせていただきました。ありがとうございました。



- [STYLY Photogrammetry Workshop](https://styly.connpass.com/event/137029/) 
- [フォトグラメトリ入門 撮影方法～3Dモデル作成 ](https://styly.cc/ja/tips/photogrammetry_discont_photogrammetry/)
- [Unity ParticleSystem Lesson:舞い上がる煙](http://ktk-kumamoto.hatenablog.com/entry/2017/12/24/215855)