これちのPost-it

技術ネタをペラペラと

Unityのマーカー認識だけでバーチャルYouTuberになってみた

はじめに

現在バーチャルYouTuberになるには HTC Vive のような VR HMDや、Perception Neuronのような全身モーションキャプチャーバイスが必要です。しかしそれらを用意するのは敷居が高いです。
そこで今回は、特別なデバイスを使わずに PC だけでバーチャルYouTuberになる方法をざっくりと紹介したいと思います。

今回作った動画

www.youtube.com

必要なもの

以下のものを用意、もしくはAsset を Unity の新規プロジェクトに Import しておいてください。

  • PC(できればカメラつき。なければWebカメラが必要)
  • Unity 2017.2以降
    • Vuforia
      • マーカーを認識し、その位置にオブジェクトを表示する機能を持つ
    • Recorder。こちらからDL
      • Unity内で動画撮影するために使用。なぜか音声は録音できなかったのでスマホで録音
  • 動画編集ソフト
    • 今回はiMovieを使用しましたが字幕文字サイズや位置の調整が自由に出来ないのでおすすめはしません(Hikakin は Final Cut Pro を使用)
  • 3Dモデル
    • Mayaを使って自作。3Dモデルを作る前に iPad Pro で2D絵も作成しました
  • 印刷したマーカー×3
    • 頭・右手・左手のPCから見える位置に貼り付けるマーカー f:id:korechi:20180210092153j:plain:h400
      この画像は、Unity に Vuforia をインポートすると Unity Project の中のどこかに保存されます。astronaut, fissure, oxygen という名前で探せばどこかにあるはずです。

システム全体像

雑ですみません。笑
頭・右手・左手に印刷されたマーカーをセットし。PC のカメラから見えるようにマーカーの向きを調整して下さい。
f:id:korechi:20180210095927j:plain

Vuforiaの使い方

ここが参考になりました。
www.noshimemo.com

Recorderの使い方

ここが参考になりました。
tsubakit1.hateblo.jp

撮影手順

  1. Unityを起動
  2. GameObject->Vuforia->ARCameraGameObject->Vuforia->Image×3をhierarchyに配置
    • 途中で必要なコンポーネントは適宜インポート
    • Unity のインストール時に Vuforia をインストールしておく必要があります
    • Imageは適宜、FaceImage, RightHandImage, LeftHandImageのように名前を分けておきましょう
    • ARCamera->Open Vuforia configuration から Max Simultaneous Tracked Image を 3 にしましょう。最大3つのマーカーを同時にトラッキングできます
  3. Image Target を変更
    • 3つの Image が同じ画像を使わないように注意 f:id:korechi:20180210100613p:plain:h400
  4. 3Dモデルを Image の子どもとしてアタッチ
    f:id:korechi:20180210100409p:plain
  5. UI->RawImageで背景となる画像を用意し、Rendere Mode を Screen Space - Camera にする
    • こうすると、3D のオブジェクトは UI Canvas より前に表示され、カメラの映像は後ろに隠れる
      f:id:korechi:20180210101031p:plain:h400
  6. Tools > Recorder > Videoでウインドウを開き、Start Recording で撮影開始
  7. Stop Recording で撮影終了
    • デフォルトでは、Project->Recordings フォルダに動画が保存される (8. 適宜動画を編集)
  8. YouTube に公開

バーチャルYouTuberになってみた所感

Vuforia を顔トラッキングに使用するとブレが結構気になる

顔を動かしていないのにモデルがぶれたり、少し顔の角度を変えるとすぐトラッキングロスする。しかし、手のトラッキングはそんなに気にならない。(手がぶれぶれするのは許容できるのかも)
しっかりとバーチャルYouTuberを続けたいなら顔だけも別のトラッキング方法を用いた方が良いかもしれない。例えば VR HMD とか。

PCと顔の距離感が難しい

PCから離れすぎるとトラッキングロス。逆に近すぎても動きをつけるのが大変に。
オブジェクトのサイズ感、PCとの距離にノウハウが求められそう。

iMovie は バーチャルYouTuber の動画作成にあまり向いていない

字幕の自由度が低いのと、エディタ内のタイムラインにコメントを残せない(僕が見つけられなかっただけかも)のが気になりました。
例えば、「ここは~について話している」といったコメントをいろんな箇所に見えるように残しておきたいなと思いました。

Maya はBlender より操作感が Unity に近く扱いやすい

W, E, Rキーのショートカットが移動・回転・スケールに対応しているなど、Maya は比較的 Unity と近い操作感で扱うことができました。
値段は高いですが、無償体験版もありますし Unity を触ったことある人にはこれから Maya をおすすめします。

台本を作っておくことはとても大事

台本があると撮影がスムーズに進みます。しかし、台本だけでちゃんと面白いものにするのはそれなりの技術も必要なので、ある程度慣れたらアドリブでやってみても面白いのかも?
2本しかまだ作っていないのでまだ知見が足りていません。

声は後からでも収録し直して追加できる

バーチャルYouTuberの強みですが、映像と音声が必ずしも同じタイミングに撮影されている必要はありません。あとからセリフだけ追加したり、聞き取りにくかったら取り直すことも可能です。
でも口パクを追加したらまたちょっと違うのかも。

動画作成には結構時間がかかる

(台本作成)、撮影準備、撮影、編集、公開、と、動画撮影に必要となる作業は結構あります。
撮影~公開までは3時間で終わったとしても、ネタを考えている時間など、作業時間以外にも結構な時間とられます。
このコストと目的・楽しさを天秤にかけましょう。

Unity で撮影するなら Unity 経験者はそれなりに有利

エンターキーを押したら~の処理をする、など基本的なスクリプトは多少書くことになると思います。
そういった時の自由度や、そこにかかる時間は Unity に慣れている人の方が有利であることは間違いなくあると思います。
とは言え中でゲーム実装とかでもしない限り複雑なコードは書かないと思うので、Unity 未経験者でも全然大丈夫だとも思います。
そこは作りたい動画の内容次第かな。

今後の方針

ひとまず動画を公開し、バーチャルYouTuberになってみるという目的は達成できました。
ただ、一度なってみて満足してしまったのと、これを継続的に続けていくことはそれなりに負担がかかるのも分かったので、これからもバーチャルYouTuberを続けていくかは要検討、というところです。
たまーーにネタを思いついたら動画をあげてみる、くらいのスタンスが僕には良いのかもしれないなと思いました。
あ、でも Maya を使って 3Dモデルを作成する訓練としてはとても良かったです!
3Dモデルへのアレルギーが大分減りました。笑
これからはこの新しい技術を活かしつつ AR/VR にまた時間を割いていこうと思います。

ジャックランタンをモチーフにしたキャラクターの 3D モデルを作った②

korechipostit.hatenablog.com
の続き

前回までの成果物

f:id:korechi:20180127124229p:plain:h300
今回は、手の部分にあるステッキ×2を作ります!

今回の成果物

f:id:korechi:20180129103128p:plain:h400
3Dモデルは、Unity へインポートされています。

使用したアプリ

  • Maya
  • ibisPaint X
    • iPad Pro でテクスチャに色を塗るのに使用
    • jpegが読み込めて、かつ境界も設定できるため色の塗りつぶしが簡単にできます

ステッキの3Dモデルを作成

ジャックランタンをモチーフにしたキャラクターの 3D モデルを作った①で紹介したベンド機能を使って、シリンダーオブジェクトを曲げます。
f:id:korechi:20180127124616p:plain:h300
折り曲げやすいように、縦と横の分割数は調整してあります。

UVの編集

  1. 作業用窓を2つ用意し片方をパネル->パネル->UVエディタを選択してUVエディタ画面に
    f:id:korechi:20180127125006p:plain:h300
  2. イメージ->UVのスナップショットからテクスチャ画像を保存
    f:id:korechi:20180127125122p:plain:h300
  3. 保存した画像をiPadに送信し、ibisPaint Xで開く
    f:id:korechi:20180127125350p:plain:h300
  4. 色を塗り、Macに送信
    f:id:korechi:20180127125443p:plain:h300
  5. Mayaに戻り、ステッキにマテリアルを割り当て、カラーをファイルから選択にし先程の画像を選択
  6. 6キーを押して反映されているのを確認
    f:id:korechi:20180127125542p:plain:h300

キャンディの3Dモデルを作成

  1. シリンダーを用意して、縦をいくつか分割
  2. ベンド機能を使って折り曲げます f:id:korechi:20180128150216p:plain:h300
  3. 2回目以降折り曲げるには、オブジェクトを分割して折り曲げていきます f:id:korechi:20180128150421p:plain:h300
  4. 上記をひたすら繰り返してステッキの形を作成
    f:id:korechi:20180128224944p:plain:h300

UVの編集

しかし、作り方が悪かったのか、UVが複雑怪奇になってしまったため、色は単色にしました。。なんでこうなった・・
f:id:korechi:20180128225130p:plain:h400
次はもっと賢く作らなきゃ

Unity へインポート

ファイル->Unityへ送信で顔とステッキをfbxデータにして適当な Unity プロジェクトにインポートしてみました。
ただし、テクスチャ画像は fbx をインポートしただけでは反映されていなかったため別途テクスチャ画像のみ Unity にインポートし、ステッキに適当なマテリアルを割り当て画像を読み込ませる必要がありました。
f:id:korechi:20180129103128p:plain:h400
・・・結構いけてる!!!
あとは、Unityで動かすのみです!次回やりたいと思います!

改善したい点

Transformの原点の位置

キャンディは、1本のシリンダーを折り曲げ・伸ばしぐるぐる巻きました。
しかしそのせいか、Maya上でTransformの原点がキャンディの中に収まっていません。(というより、キャンディオブジェクトが変な場所に存在している)
そのため、移動するのも大変でしたし、スケールを変えようとすると、それぞれのパーツがばらばらになってしました。
これはUnityでの操作の時には問題にはならなかったのですが、気持ち悪かったです。
次3Dモデルを作る時は、Mayaで操作しやすいようにモデルを作成することも念頭に置いておこう・・・

UVが展開しやすいようにシンプルに3Dモデルを作成

上にも書きましたがキャンディのUV展開はカオスになってしまいました。
こうなると色を塗る(テクスチャ作成)が大変になってしまうので、もっとシンプルに効率よくモデルが作成できるよう今後注意します。(具体的にどうすれば良いかはまだ分からない)

学んだこと

  • ベンド機能はベンドの長さ・始点終点位置がとても大事
  • ベンドはオブジェクト毎に設定される(できる)
  • Mayaでテクスチャを反映させていても、Unity へ書き出す fbx データにテクスチャは含まれていない
  • ibisPaint X、Adobe Draw はとても便利

SpatialMappingがぶれぶれだった時の対処法

久しぶりに HoloLens 向けアプリを作成しビルドしたら SpatialMapping で表示しているメッシュがぶれぶれになり、RGBの線が見えるように。空間に配置していたオブジェクトもぶれぶれになっている現象が発生しました。
どうも処理落ち?してるっぽく、ムービーを撮影しながらアプリを起動した時の挙動と少し似ています。

発生環境

  • Unity 2017.3.0f3
  • Windows10 ver1709(OSビルド 16299.192)
  • HoloToolkit-Unity-2017.2.1.0

対処法

InputManagerプレハブの中のStabilizationPlaneModifierスクリプトのチェックを外す。
f:id:korechi:20180124220622p:plain:h400
ついでに InputManager の下にある使っていないMouseInputControlXboxControllerInputSourceも無効にしちゃいました。
その結果SpatialMappingも安定し、空間に配置したオブジェクトも一定位置にとどまるようになりました。
MRToolkitとUnityにIssuesとしてあがっています。いずれ対処されるでしょう。
github.com
issuetracker.unity3d.com

ジャックランタンをモチーフにしたキャラクターの 3D モデルを作った①

korechipostit.hatenablog.com
と、第3回に渡って Maya を勉強したのでさっそく実践してみたいと思います!
目指せ3Dモデラーエンジニア!

目的

  • 3Dモデルを作成する練習
    • 今後作るゲーム用素材を自前で用意したい
  • バーチャルYouTuberに使うアバターとして

環境

成果物

2Dイラスト

iPad Pro+Apple pencil を使って3D モデルの元となるコンセプト絵を描きました。製作時間は3時間ほど。
f:id:korechi:20180123093755p:plain:h300
陽気なイメージのキャラクターで、昔から大好きなジャックランタンをモチーフにしました。
Adobe Illustrator Drawは個人的にかなり使いやすかったです。
長押しで塗りつぶし機能が使いやすく、筆先の太さ調整もとても簡単なので、自分のような初めてお絵かきする人にも使いやすいアプリだなと感じました。
また、ズームイン・ズームアウトもしやすくてGoodです!しばらくお絵かきをする際にはこのアプリを使おうと思います。
ちなみにスケッチをするならAdobe Photoshop Sketchというアプリが無料であるのでいつか使ってみたいです。

3Dモデル

こちらは Maya を使って作りました。製作時間は5時間ほど。
f:id:korechi:20180123094841p:plain:h300
参考にしたサイトはこちらです。
maya.indyzone.jp
これを参考にしてかぼちゃ部を作成しました。
マスク・口元は頂点を気合で編集して作成しました。ここはもっと効率的な作り方があると思うので割愛。

学んだこと

上記にある Maya の公式ページで学んだこと

特殊な複製

編集->特殊な複製(オプション)でさまざまな複製ができる。例えば下のようなオブジェクトを複数個回転しながら複製することが可能となる。
f:id:korechi:20180123101000j:plain:h300 f:id:korechi:20180123101131j:plain:h300
f:id:korechi:20180123100917j:plain:h300

f:id:korechi:20180123101136j:plain:h300
y 軸(上から見て)を中心に45度回転しながら7個オブジェクトを複製すると、ぐるっと一周させることができる。

近接する頂点同士の結合

上の方法でオブジェクトを複製すると、境界部分のエッジ・頂点が重なってしまうという問題が残る。
アトリビュートエディタ->境界の表示をオンにし、境界幅を調整するとエッジが重なっている部分が太く表示される。
f:id:korechi:20180123101739j:plain:h300
メッシュの編集->マージのオプションしきい値を小さい数値に設定すると
f:id:korechi:20180123101847j:plain:h300

f:id:korechi:20180123101907j:plain:h300
うまく結合でき、境界線がなくなるはずです。

ベンド

折り曲げる機能。参考URL
f:id:korechi:20180123233159p:plain:h250
デフォーム->ノンリニア->ベンドを選択します。
すると折り曲げる線が表示されるので、その線を位置・回転させつつ、アトリビュートエディタにある曲率を変化させて対象のオブジェクトを折り曲げる。
f:id:korechi:20180123233452p:plain:h300
f:id:korechi:20180123233502p:plain:h300
この機能を使うことでキャラクターについている仮面や口元を曲げることができた。
f:id:korechi:20180123233540p:plain:h300

f:id:korechi:20180123233557p:plain:h300

今後の作業予定

  • ステッキ部の3Dモデルを作成
  • Unityへのインポート
  • Unityで撮影
  • 目と口のアニメーション(余力があれば)

絵心皆無のエンジニアの俺がMayaを勉強して3Dモデルを作ってみる【第3回】

前回の記事の続きです。
korechipostit.hatenablog.com

Macでの操作

Macにはスクロールマウスが存在しません。
Autodesk Maya オンライン ヘルプ
ここを参考にしたところ、Command+左クリック=スクロールマウス、となるようです。

11. 基本マテリアルとUVマッピング

球を作成するとlambert1というマテリアルが初めから設定されている。
f:id:korechi:20180105203112p:plain

マテリアル、シェーダー、テクスチャについて

  • マテリアル
    • どのようにモデル表面を描画するかを定義`
      • 使用するテクスチャ、そのタイリング設定や色調などへの参照をふくむ
  • シェーダー
    • ピクセルごとの描画色を計算するための数学的な計算とアルゴリズムが内包されたスクリプト
      • 光源入力とマテリアル設定をベース
    • オブジェクト表面の色を計算するのにテクスチャを使う
  • テクスチャ
    • ビットマップ画像
    • 反射率や粗さなどのマテリアル表面の様々な要素をテクスチャで置き換えることが可能

Lambert

光沢がないマテリアル。コンクリートやゴムなどマッドな質感に向いている

Blinn

ハイライトが設定できるマテリアル。金属の質感に向いている

Phong

シャープなハイライトが設定できるマテリアル。プラスチックや陶器に向いている

新しいマテリアルを設定

右クリック->新しいマテリアルの設定もしくは右クリック->お気に入りのマテリアルの割り当て

UVマッピング

UV=テクスチャの座標
ボールに世界地図を貼るに例えられる。3Dの球に、2Dの地図を貼り付けるような考え。 f:id:korechi:20180106093255p:plain

#### 平面マッピング プレーンを通ってメッシュ状にUVを投影する

円柱マッピング

メッシュの周囲にラップされた円柱シェイプに基づいてUVが生成

球面マッピング

メッシュの周囲にラップされた球シェイプに基づいてUVが生成

自動マッピング

周囲に配置された複数のプレーンから同時に投影し最適なUVの配置を探しポリゴンメッシュにUVを作成

手順

  1. プリミティブなボックスを作成
  2. メニュー->UV->UVメニュー
    • プリミティブなオブジェクトだと既にUV座標を持っている
  3. テクスチャ境界の表示を選択f:id:korechi:20180106094150p:plain 
    • ボックスにUVがどのように反映されているか見える
    • UVメニュー内で頂点を選択するとビューのどこの頂点に反映されるか確認できる
  4. アトリビュートエディタ->カラーの横の[f:id:korechi:20180106094606p:plain]を選択
  5. ファイルを選択
  6. イメージの名前の横にあるフォルダのアイコンからテクスチャファイルを選択
    • UV座標と一致している画像

12. 小物(剣)のUV展開

  1. 2ビュー表示
  2. ビューの中にあるパネル->パネル->UVエディタでUVエディタが開かれる
  3. オブジェクトを全選択し、メニュー->UV->自動で6面から投影・展開される
  4. シェル選択モードに変更し、ある程度ばらけさせる f:id:korechi:20180110001105p:plain
  5. エッジを縫合してまとめる
    f:id:korechi:20180110081344p:plain
  6. UVエディタのイメージ->UVのスナップショットを選択し、テクスチャを作成する
    • 今回は拡大・回転・移動を使ってU:1, V:1に合わせた
    • f:id:korechi:20180111124014p:plain
      • UVのスナップショットでUとVの値を変更すると複数枚にテクスチャを分割できる
    • 今回はjpegとしてテクスチャを保存
  7. 保存したテクスチャをPhotoshopなどを使って編集する
    • 自分はPhotoShopを持っていないため
  8. 編集したテクスチャをMayaに取り込みテクスチャをオブジェクトに反映させる
    • マテリアル->カラー->ファイルを選択し、テクスチャをロード
    • ペイントソフト等でテクスチャを反映しロードしたところなぜか反映されない。。なぜだ
      • 6キーを押すorシェーディング->ハードウェアテクスチャリングをクリックしないとテクスチャが表示されないらしいです!!これで1週間潰した。。

エッジの縫合

エッジ選択モードに変更し、shift+右クリックでエッジを移動して縫合を選択
- その後はG: 上の繰り返しである程度UVがまとまるまで作業を続ける

エッジを分離

エッジを選択し、エッジをカット

13. 頭部のUV展開

頭部のUV展開

  1. 頭部のバイザーを覗いた部分を選択し、UVエディタで確認。
    f:id:korechi:20180114220355p:plain
  2. メニュー->UV->円柱を選択すると下のようにUVが展開される
    f:id:korechi:20180114214708p:plain
  3. 切れ目が変な部分になっているためエッジの縫合を行い真ん中で分割されるように
    • UV->UVの縫合UV->UVのカットを使用
      f:id:korechi:20180114221720p:plain
    • 上の方はあまり綺麗ではないが切れ目は頭の後ろのラインになった。
  4. UV選択モードで全UVを選択し、修正->展開のオプションを選択
    • Unfold3Dにチェックが入っていることを確認して適用 f:id:korechi:20180114222513p:plain
      こんな感じ

バイザー部のUV展開

  1. まずは頭部を非表示にし、裏側のフェースを選択
  2. UV->平面のオプションを選択
    • 投影元をカメラに f:id:korechi:20180114224428p:plain
      裏側は出来たのでそれは端に避けておく
  3. UVシェル選択モードにして裏側以外を選択
  4. UV->平面のオプションを選択
    • 投影元をZ軸に f:id:korechi:20180114224730p:plain
      しかし、一部重なっているためそこを修正しなければいけない
  5. UV選択モードにして全UVを選択し、修正->展開
  6. それぞれ調整しつつまとめてUVのスナップショットを保存 f:id:korechi:20180114225221p:plain

オブジェクトの非表示

ctrl+H

  • 再表示はshift+H

最後に

これでキャラクターのモデルを作成し、テクスチャを作成する方法が分かりました。
基礎の基礎ですが、これらの知識を使って応用していきたいと思います。
Maya Learning Channelは14回以降はアニメーションの話になるのでここで一区切りとしたいと思います!

絵心皆無のエンジニアの俺がMayaを勉強して3Dモデルを作ってみる【第2回】

前回の記事の続きです。
korechipostit.hatenablog.com

6. ペアレントとグループ化

  • 階層構造を表示するためにはアウトライナーを表示する必要がある
    • 左メニューのf:id:korechi:20180103125634p:plain:w200これをクリックすると表示される
    • アウトライナーはシーン内のオブジェクトを一覧で表示したもの
      • Unity の Hirarchy っぽい
    • オブジェクトの階層構造を変更するには真ん中マウスをドラッグ
      • オブジェクトを一括選択し、pキー:最後に選択されたオブジェクトが親になるらしい(よくわからなかった)
      • shift+P:親子解除
  • グループ化
    • 親子関係じゃなくてまとめる
      • ctrl+G: グループ化f:id:korechi:20180103130644p:plain
      • スペース長押し→編集→グループ化解除

7. 小物(剣)のモデリング Part 1

  • 作成->ポリゴンプリミティブ->インタラクティブ作成にチェックを入れるとインタラクティブにオブジェクトが作成できる(めちゃめちゃ便利)
  • Mayaでは1=1cmのスケール
  • 右下にあるディスプレイ->レイヤ->選択項目からレイヤを作成でレイヤが作成できる
    • レイヤの中では、Visible, Template, Referenceの切り替えが可能
      • ただレイヤを作るだけだと現在見えているものがレイヤに適用されないため注意
      • Template: テンプレート化。ワークスペース内には表示されるが選択とスナップ先への指定ができなくなる
        • 今回は大まかな外枠の作成に使う
      • Reference: スナップ先にはできるが選択や修正はできない
  • 頂点の追加
    • スペース->メッシュツール->マルチカットにして頂点選択モード
    • Ctrl:エッジループ
    • 真ん中マウス: エッジの中点
    • shift+頂点のマージで頂点を一つに
  • ベベル
    • 新しいフェースに選択した各エッジを拡大し、ポリゴンメッシュのエッジを丸める
    • shift+右クリック長押し
    • 真ん中マウスを押すと割合が変化

頻繁に使った機能

  • 頂点スナップ(頂点を選択してV押しながら移動)
  • グリッドスナップ(頂点を選択してX押しながら移動)
  • G: 前回の命令を実行
  • spaceを一瞬押すと選択ビューが拡大表示される

8. 小物(剣)のモデリング Part 2

  • shift+右クリック:フェースの押し出し
  • チャネルボックス->入力->深度の分割数の数を変えると分割できる f:id:korechi:20180104101434p:plain:h300
    f:id:korechi:20180104101440p:plain:h300

  • エッジ選択モードにし、メッシュツール->ターゲットの連結

    • ただしマージ先がターゲットになっていたため設定からセンターに変更
  • ベベルエッジ
    • セグメント数は折り曲げる数(?)

完成物

f:id:korechi:20180104103539p:plain
剣が完成!これでHoloQuestの剣を自分で作れるようになった!笑
次はキャラクターのモデリング

9. キャラクタ(頭部)のモデリング

必要なもの

  • 描きたいキャラクターを前から見た画像
  • 描きたいキャラクターを横から見た画像

手順

  1. 作成->フリーイメージプレーン
  2. アトリビュートエディタ->イメージの名前のアイコンから画像を選択できるので、前から見た画像と横から見た画像を表示させる
    f:id:korechi:20180104195232p:plain
  3. 2枚のイメージプレーンをレイヤに登録してReferenceにして選択ができないようにする
  4. 球を作成し頭の大きさにする
  5. 球->入力->polySphere1->高さの分割数を変更してちょっと荒めにする
  6. 画面を4分割し、shift+Fで球を全ウインドウにフィット
  7. 頂点モードに切り替えて正面、横から見た画像と重ねて調整
    f:id:korechi:20180104200251p:plain
  8. エッジの押し出しをうまく使って首元を作成 f:id:korechi:20180104201830p:plain
  9. 顔の部分を少し凹ませる f:id:korechi:20180104203732p:plain

便利な機能

  • シンメトリ
    • ポリゴンモデルの片側のディテールを反対側に反映することができる
    • ツールボックスのシンメトリの軸をトポロジにし、軸にしたいエッジを選択するとその軸を対象としてエッジが選択可能になる

10. キャラクタ(バイザー部)のモデリング

手順

  1. カーブ->サーフェスから円を選択し大きさを調整
  2. 2点選択しデタッチすることで2つのオブジェクトに分割し後ろのを消す
  3. 右クリック長押し->CVでCV選択モードに切り替えてバイザーの上・下・真ん中3つを調整
    f:id:korechi:20180104210457p:plain
  4. 3つの円を下から選択し、メニュー->サーフェス->ロフトでカーブからなめらかなサーフェスが作成される
    f:id:korechi:20180104210753p:plain
  5. メニュー->修正->変換->NURBSをポリゴンにを選択してポリゴンモデルへ変換する
  6. UとVをうまいこと調整
  7. バイザーに厚みをつけるためフェースの押し出しで厚みを-1にして内側に引き伸ばす
  8. フェースの押し出しを使いまくって隙間を作成
  9. 右半分を作成したら左半分を一度消し、メニュー->メッシュ->ジオメトリのミラー

デタッチ

頂点を選択した場合、フェースによって共有されている頂点を複数の頂点に分離し結果としてオブジェクトが分割される。

  • space->カーブ->デタッチ

ノットの挿入

ノットが挿入される

  • space->カーブ->ノットの挿入

ポリゴンモデルとnurbsモデルの違い

構造が違う。現在(2017年)の主流は編集が楽なポリゴンモデル。

  • nurbs
    • カーブで形成されたモデル
    • 表面は滑らか
  • ポリゴン
    • 点と線で形成されたモデル
    • 表面は角ばっている

ヒストリの削除

今まで行った作業がチャネルボックスの入力に残っているので、編集->種類ごとに削除->ヒストリで削除できる

まとめ

ひとまず頭の部分が出来ました。完成物はこちら。
f:id:korechi:20180104215209p:plain
とても大変だ・・・

絵心皆無のエンジニアの俺がMayaを勉強して3Dモデルを作ってみる【第1回】

はじめに

最近3Dモデルを自分で作れたらなーと思う機会がひじょーーーに増えました。
HoloQuestで使うモンスターに3Dモデルが必要ですね。いつまでもスライムを使っていられません()
あと、最近流行っているバーチャルユーチューバーですね。すごくやってみたいんですが、3Dモデルがどうしても必要に。。
とは言え、AssetStoreからモデルを買ってもオリジナリティを出すのはなかなか難しいし、果たしてそれで良いのか感。
そこで!じゃあもう自分でやれるところまでやってみよう!と思い、今回3Dモデリングを1から勉強することにしました!
コードしか書いたことのない絵心皆無のエンジニアですが()、3Dモデルを1から勉強し始めてどこまで出来るようになるか、チャレンジしたいと思います!目指せバーチャル(イケメン)ユーチューバー!

モデリングソフト

  • Maya 2018
    • 初めは無料体験版を使う。期限が切れたらMayaLTを購入するかも

動作環境

勉強方法

よく分からないので、「Maya チュートリアル」と検索して出てきたMaya Learning Channelの動画を見て勉強します。
これ以降は進捗と、適宜自分用のメモを残すといった感じになります。
あくまで自分の勉強がメインなのでスクリーンショットとかはそんなに多く用意できないと思いますすみません。

1. Autodesk Maya のインタフェース概要

  • Fキーを使って「モデリング」「リギング」「アニメーション」・・・を切り替えできる

ふむふむとチュートリアルを進めていたら動画にはあるのに自分の画面にはツールボックスがない!
調べてもよくわからずいろいろ触っていたら、画面右下のf:id:korechi:20171228170937p:plainボタンを押したらプリファレンスが出てきて、インターフェース->UI要素->ツールボックスにチェックを入れたら無事ツールボックスが出てきた!
f:id:korechi:20171228171017p:plain:h250
こういうチュートリアルと画面が違うってパターンは心臓に悪いな。。
そしたらまた再生コントロール画面も無い。。同じようにツールボックスにてタイムスライダにチェックを入れたら出てきた!ぐぬぬ

2. ビューポートカメラの操作/ビューポートシェーディング

  • ビュー操作
    • 回転:Alt+左ドラッグ
      • Alt+Shiftで固定可
    • 並行移動:Alt+真ん中マウス
    • ズーム:Alt+右ドラッグ or スクロール
      • Alt+Ctrl+左ドラッグで指定区域にズーム
    • 画面フィット:オブジェクトを選択してF(例えば頂点のみ)
      • 全体をフィットさせるにはA
  • ビューを変えるにはパネル->正投影などから選択する
  • シェーディングのショートカット
    • 4: ワイヤーフレーム
    • 5: シェーディング
    • 6: テクスチャ付シェーディング f:id:korechi:20171228173638p:plainこれがそれに対応しているっぽい

3. ホットボックスとマーキングメニュー

Spaceを長押しするとホットボックスが出るらしいがなぜか出てこない・・・
そしたらサブディスプレイにMayaが置いてあるとホットボックスが表示されず、メインディスプレイにMayaが置いてあるとホットボックスが表示されていた・・・何だこの仕様。バグかな?気を取り直して

  • スペースキーを押すとホットボックスが表示され、さらに右ドラッグすると別のものも選択できる
    • 右ドラッグする開始位置によって4種類のショートカットホットボックスが表示される
      • 上:ワークスペースの画面分割
      • 右:インターフェースの表示非表示
      • 下:エディタへ切り替えるメニュー
      • 左:選択コンポーネントのマスクメニュー
      • センターのMaya部:カメラビュー(視点)切り替え
  • 作成項目からオブジェクトが作成できる
  • マーキングメニュー
    • オブジェクトを選択して右長押し
      • ctl+右長押しするとさらにメニューが切り替わる
      • shift+右長押しなどで押し出しとかもできる

4. 選択モードとマニピュレータ

  • f:id:korechi:20171228182331p:plain選択
    • 一括選択:左ドラッグ
    • 選択解除:ctrl押しながら選択
    • 追加選択:shift押して選択
    • 選択切り替え:shift+ドラッグ
  • f:id:korechi:20171228182358p:plain投げ縄選択
  • f:id:korechi:20171228182425p:plainペイント選択
    • ペイント範囲の調整の仕方は分からない・・・次必要になった時に改めて調べよう
  • f:id:korechi:20171228182905p:plainマニピュレータ
    • 移動:W
    • 回転:E
    • スケール:R
    • マニピュレータの大きさはテンキーの「+」「ー」で変更
    • 軸固定移動
      • 軸をドラッグor軸を選択して真ん中マウスをドラッグ
      • shift+真ん中マウスドラッグでも軸固定並行移動
  • ダブルクリックでループ選択

5. コンポーネント操作とスナップ機能

  • ポリゴンメッシュは頂点、エッジ、フェースで構成
    • 右長押しでモード切り替え
  • 頂点情報
  • 法線
    • 法線の向きで裏表が決まる
    • レンダリングする時にサーフェイスから光がどう反射するか計算
      • モデルをつくる時はすべて表が見えるように注意すべし
  • スナップ機能f:id:korechi:20171228184501p:plain
    • グリッドスナップ:最も近いグリッド(格子状)に沿って移動
      • X押しながら
    • ポイントスナップ:最も近いポリゴンの頂点に吸い付くように移動
      • V押しながら
    • カーブスナップ:カーブにそわせてスナップ
      • C押しながら
      • オブジェクトごとカーブにそわせることも可能

おわりに

Maya楽しいです!!
5回分、多分合計30分もない動画しか見ていませんが、分からないことだらけで調べながら進めてたら2時間以上かかりました。
Blenderはあまり自分にあっていなかったのか、3回チャレンジして全部1日で挫折しましたがMayaは続けられそう?かも。
ただ、分からないことがあって調べてもなかなか出てこない。僕の検索の仕方が悪いのもあると思いますが、参考ブログ的なのが少ないのかな。
モデラーさんはエンジニアみたいにブログにちょこちょこまとめることが多くはないのかも?
(MayaLTについて調べていたら、凹みTipsが出てきた時には笑いました)
分からないことがあったら自力で探すしかない。けどそれはそれで楽しい!
次回もちゃんと続きをやりたいと思います!
ではまた〜