Unity AssetStoreまとめ

Unityアセットストアで注目すべきイチオシ情報を毎日お届けします!

【Wrap3】3Dスキャンでキャプチャした顔や全身をブレンドシェイプできるように綺麗なメッシュに変換してくれるツールの使い方を紹介! R3DS(Russian3DScanner)

スポンサーリンク

f:id:assetsale:20180526234201j:plain

出典:http://www.russian3dscanner.com/

 

今日の記事は、個人的な用事で最近触っている「Wrap3

かなり使えるツールで今ではかなりお気に入り♫

どんなツールか皆様に紹介したいと思います!

 

 

アセットストアの以外の製品情報です。お間違えのないようにご注意ください。

 

30日間体験版で機能制限は特に無し!?  お気軽にお試しできます。

価格:$370

 

製品ページ

R3DS | Russian3DScanner

 

これを使えば、リアル系バーチャルYoutuberだったり、

3Dスキャンしたフィギュアや自分の3Dモデルがゲームに登場させたり、

使い方によっては色々活用することのできるステキなツールです。

 

3Dスキャンがもっと民主化したら大活躍間違い無し!

  

2018年5月26日更新分

作者セール :23

無料化9 (DataSheetLabAudio Glitch、後は大量の音楽素材)

新作アセット:10

 

今日はセール記事も更新する予定です!お楽しみにお待ち下さい。

(想像してたよりブログに時間が掛かってしまったので検討中)


 

Wrap3の必要性

3Dスキャナで撮影したデータを使って、表情やポージングの滑らかなアニメーションを作りたい。ブレンドメッシュさせたい時に活躍するのがWrap3です。

 

通常、3Dスキャナで撮影したデータはポリゴンの目が粗くてブレンドメッシュできない状態なんです。(ポリゴンデータがバラバラ)

 

Wrap3 Tutorial: OpticalFlowWrapping Part3 on Vimeo(12:35)

コレね!体験版なのにデータが作れちゃう。ホント良いの!?って思うヤバいソフト。

 

 

「笑顔」や「ポージング」など撮影したデータを複数用意して、モーフィングが作れるアプリケーション。Wrap3最強。覚えておいて損無し。

 

あと、撮影データを綺麗なポリゴンに整形してくれるので、後はボーンを仕込めばゲームで使えるキャラクターになったりします。

もちろんブレンドシェイプでガチリアルな表情変化を付ける事が可能だ!

 

ちょうど触る機会があって色々調べてましたが、

このソフトウェアに関する日本語情報がほとんど無いので、

これから始める人のためにチュートリアル的な記事を作ってみました。

 

作業の流れ

  1. 3Dスキャンで顔、頭、手、胴体など撮影しておく。360度撮影したデータである必要はない。※ 拡張子は「.obj」
  2. リトポ(素体)を用意するか、アプリ内のリトポを使う
  3. 「撮影したジオメトリ」と「リトポ」に目印をつける
  4. リトポの部位でスキャンして欲しくない部位を選択しておく
  5. スキャン開始→完了→objで保存
  6. 5で保存したデータを使ってブレンドメッシュさせる。

 

所要時間

行程「2〜5」までにかかる時間はおおよそ10〜30分程度。

 

この記事ではチュートリアル動画1、23を参考に、

基本操作からブレンドシェイプする所まで、このブログで解説します。

 

 

Wrap3 Tutorial: OpticalFlowWrapping Part1 on Vimeo(9:58)

 

Wrap3 Tutorial: OpticalFlowWrapping Part2 on Vimeo(8:49)

 

Wrap3 Tutorial: OpticalFlowWrapping Part3 on Vimeo(12:35)

 

 

開発画面 - 各部説明

 

f:id:assetsale:20180527052132j:plain

① ビューエリア

② ノード配置エリア

③ 選択中のモデルやノード等のパラメータ設定エリア

④ 複数読み込んだファイルのレイヤー?(ここは調査中)

   ※4はモデルの読み込みで複数objを指定に読み込むと使える様になる。

 

 

基本的に②でノードを組み立てて、①と③で作業する流れになります。

ノードの組み立て面度臭そう!?って思いますが、

それにWrap3はそれほどノードの種類が無いから案外簡単ですよ!

パズルを組み立てる感覚なので苦になりません。

 

 

モデルを読み込む

 

f:id:assetsale:20180527055811j:plain

②ノードエリアにマウスを持っていき「TABキー」を押します。

 

まず最初のつまずきポイントがココでした。

なぜ右クリックか左クリックでメニューが現れないのか不思議なUX。

 

「Geometry -> LoadGeom」を選択しましょう。

 

f:id:assetsale:20180527060135j:plain

③のパラメータ設定エリアで、3Dスキャンしたファイル(objデータ)を読み込みます。

 

無事に読み込めたら①に撮影されたモデルデータが表示されます。

 

 

テクスチャを読み込む

f:id:assetsale:20180527061238j:plain

「Image -> LoadImage」からテクスチャを読み込みます。

 

f:id:assetsale:20180527061448j:plain

読み込んでも①にはまだ反映されません。

 

 

f:id:assetsale:20180527061837g:plain

テクスチャを表示させるため、

「LoadImage01」と「LoadGeom01」をラインで接続します。

消したい時は右クリックで「Disconnect」

 

ハマりポイント

基本的に左クリックでラインを出現させることができますが、

左クリック長押しで接続しようとするとラインが何故か消えてしまいます。

シングルクリックでラインを出して、LoadGeom01に接続しましょう。

 

 

モデルをチェック

ここで撮影したモデルを出してしまうと色々厄介な事になるので、

モデルデータはサンプル素材を活用することにします。

 

①の所にあるギャラリーからサンプルの人の顔を拝借します。

f:id:assetsale:20180527062600j:plain

 

 

ビューポートの操作

①の画面を操作する方法はUnityと違ってかなり独特な操作でした。

 

それを改善してくれる設定方法があるので(チュートリアル動画でも設定してる)

必ず設定しましょう!

 

f:id:assetsale:20180527063244j:plain

「Edit -> Preferences」

 

f:id:assetsale:20180527063746j:plain

 

Navigationタイプを「Standard」から「Trackball」へチェンジ。

 

f:id:assetsale:20180527063657j:plain

 

Closeを押して完了です。

 

トラックボールマウス?の事かよくわからないですが、

この設定を入れと、

マウスの座標を中心に回転、移動、拡縮をすることができるようになり、

①の画面操作が格段に改善します!

 

 

設定前に比べて格段に操作しやすくなりました。

 

 

ビューポートとモデルの操作方法

 

視点操作

CTALキーを押しながら、

 └左クリック:回転

 └中央クリック:パン(平行移動)

 └右クリック:拡大縮小

 

モデルの操作方法

ピボットポイントに表示されるギズモで前後左右上下、回転、スケールが可能。

マウスを乗せると色が変わるので、それを見てから操作しよう。

 

キッチリ合わせたい時は、数値での移動を使いましょう。

f:id:assetsale:20180527070456j:plain

 

 

リトポ(素体)を読み込む

 

ポリゴンデータが綺麗でブレンドシェイプができるモデルを用意します。

オリジナルのリトポも使えますが、アプリに用意されたモデルでも十分使えますので、

それから使ってみましょう。

 

f:id:assetsale:20180527072513j:plain

Galleryから、

 

f:id:assetsale:20180527072516j:plain

最下部にある「NeutralBasemesh」でも良いですし、

 

こちらのリトポでも、おそらく同じ結果になることでしょう。

f:id:assetsale:20180527073251j:plain

 

今回はテクスチャの付いてる前者のリトポを使います。

 

ここでは、

シングルクリック」で呼び出します。

ダブルクリックすると2体ロードされてしまうのです。

 

 

読み込むとこのようになります。

f:id:assetsale:20180527073756j:plain

ここでの大切なポイントは、なるだけ近い位置に重なるように

「3Dスキャン」と「リトポ」が重なるようにすること!

最初ならある程度の位置に移動させるだけでOKです。

 

本当はチュートリアル1の動画手順で、

ピッタリしたポジションに合わせた方が、

ブレンドシェイプする時にズレが生じにくくなるような成らないような・・・・・・

その辺りは勉強中です。

 

ノードの配置

f:id:assetsale:20180527074355j:plain

別に自由ですが、

リトポを左に、3Dスキャンを右に配置しておくと後々作業しやすいです。

個人的にオススメ配置。

 

 

 

SelectPointでリトポとスキャンの位置合わせ

 

リトポの顔モデルを、3Dスキャンした顔にラップするのに必要な位置合わせを行います。

 

f:id:assetsale:20180527074742j:plain

Selection -> SelectPointsを選択。

 

f:id:assetsale:20180527074708j:plain

2つのモデルを接続します。

 

f:id:assetsale:20180527075119j:plain

「SelectPoints01」を選択した状態で、「Visual editor」タブをクリックします。

 

 

f:id:assetsale:20180527074717j:plain

Sync viewsにチェックを入れましょう。(片方のカメラ操作をすると同期してくれる)

 

 

f:id:assetsale:20180527074722j:plain

片方のカメラを移動したり回転すると同期してくれるのを確認します。

なるだけ大きく映るように、画面を拡大しましょう。

 

点(ポイント)を打っていきます。

目頭、目尻などなるだけ同じポイントに、同じ数字を3D画面でポチポチ入力。

 

入力するポイントなど特徴的な場所は重点的に入れると精度が増すような・・・・・・

職人技みたいですが完成形のクオリティが変わります。

 

 

操作方法

位置を修正したいときは、既に入力したポイントをクリックしながら移動します。

ポイントを削除したい時は、おそらく「Altキー」。

 

※ MacbookでWindowsを動かしてるから割り当て不明。

 

 

ラップしないポリゴンを指定する

 

f:id:assetsale:20180527080854j:plain

「Selection -> SelectPolygons」でノードを追加します。

 

f:id:assetsale:20180527082044j:plain

今回もエディタビューで編集しますので、画面をVisual editorにします。

f:id:assetsale:20180527075119j:plain

 

 

ポリゴンを指定する

 

ラップ不要な箇所

・口の中

・後頭部(360度撮影してない人向けに紹介)

 

f:id:assetsale:20180527082723j:plain

上部タブから「+ Polygroup」を選択します。

 

f:id:assetsale:20180527082726j:plain

「HeadBack」後頭部

「MouthSocketUpper」舌上部

「MouthSocketLower」舌下部

 

3つ選択しました。

 

すると画面はこうなります。

f:id:assetsale:20180527082457j:plain

処理しない箇所が真っ赤に染まる。

f:id:assetsale:20180527082501j:plain

下から覗くと、舌も赤く染まっていたら成功。

 

360度で撮影された方は、後頭部や首元は維持するなど、キャプチャデータに合わせて塗りましょう。

ちなみにマウスクリックで直接指定することが出来ます。

詳しくはチュートリアル動画を見てください。

 

 

ラップを実行する

ようやくラップです!

 

f:id:assetsale:20180527083354j:plain

「Alignment -> Wrapping」を登録。

 

f:id:assetsale:20180527083357j:plain

ノードはこのように接続します。

 

リトポ / スキャン / ポイント / ポリゴン

 

・青:ジオメトリ

・黄色:ポイント

・赤:ポリゴン

 

ちなみにチュートリアル動画2では、Wrap3から新たに追加された「RigidAlignment」

ノードを使っています。

f:id:assetsale:20180527084325j:plain

顔をあらゆる角度からチェックする複数のカメラを配置して、より綺麗な仕上がりにしてくれると思われるラッピングです。

 

まだ数日しか触ってないのでアレですが、両方試してみて仕上がりが良い方を使いましょう。

 

今回は元々あったと思われる「Wrapping」ノードを使います。

 

実行

「Compute」でラッピングが開始されます。

f:id:assetsale:20180527084922j:plain

 

ビルドまでに掛かった時間は4分30秒程度でした。

高負荷状態で撮影してたので通常なら3分程度で完成しそうです。

 

 

仕上がりをチェックしよう!

f:id:assetsale:20180527090908j:plain

まず、全てのジオメトリが表示状態になっているので一旦全部非表示にしましょう。

ジオメトリノードの右側の青色部分をクリックして非表示にします。

 

f:id:assetsale:20180527090733g:plain

 

どうです?完全にピッタリと合わせてくれました。

素材が同じ人なので精度は高いですが、素材が違っていても綺麗に合わせてくれます。

(最初の内はうまくいかないかもですが、練習を重ねればいけるはず)

 

Objで保存

完成したジオメトリを保存します。

 

f:id:assetsale:20180527091825j:plain

Geometry -> SaveGeom

 

f:id:assetsale:20180527092208j:plain

Wrapping01ノードと接続して、File Nameを入力後(Path付きで)、

「Compute current frame」をクリックして保存します。

 

 

 

ラップしたジオメトリにテクスチャを付ける

 

ラップしたジオメトリに、3Dスキャンのテクスチャを付けるにはどうしたら良いか?

について上手くいったのでノードを解説します。

f:id:assetsale:20180527093252j:plain

「Image -> Transfer Texture」がそれをやってくれます。

 

f:id:assetsale:20180527093208j:plain

ノードの接続方法が逆になりますが、

左:撮影データ

中央:リトポ

右:ラップした時の不要モデル

 

この3要素を接続すると綺麗に当てはめてくれます。

(目や口の中のテクスチャが切り取られる)

 

 

ブレンドシェイプをする

 

複数のジオメトリをブレンドシェイプすることができます。

完成して保存したobjをロードしてブレンドシェイプノードに接続すると完成!

 

f:id:assetsale:20180527094005j:plain

「Geometry -> Blendshapes」

 

f:id:assetsale:20180527093900j:plain

最大4つまで接続できます。

f:id:assetsale:20180527094128j:plain

 

テクスチャ付きでブレンドシェイプする

Fast texture blending previewにチェックを付けて、エディタモードで開きましょう。

f:id:assetsale:20180527094247j:plain

 

f:id:assetsale:20180527075119j:plain 

 

完成形は用意するのに時間がかかりますので、

チュートリアル動画3の一部を抜き出しました。

Wrap3 Tutorial: OpticalFlowWrapping Part3 on Vimeo(12:35)

 

面白いですね!これをやってみたかったのです。

 

 

作業中のノードキャプチャ

f:id:assetsale:20180527092546j:plain

「もっとコンパクトに出来たら良いな」と思ってただいま勉強中です。

 

 

参考になるサイト

Zbrush + Wrap3

2 Minute Tutorial - Head retopology for cleanup

オリジナルのリトポを使っていたり、仕上げにZbrushを使うテクニック。

仕上がりがとても綺麗だから参考にしたい。

 

新機能:Replace ノードの使い方

 

  


 

【新サイト】アセット割引情報

 

f:id:assetsale:20180501191417p:plain 

Shader Forge

$43.20 => 無料化   100%OFF!!

 


 

【過去ログ】無料アセット

【過去ログ】作者セール&注目アセット