カテゴリー
東雲めぐ

東雲めぐちゃんに3Dモデルをプレゼントする方法

はじめに

東雲めぐちゃんの配信の特徴の一つとして、3Dオブジェクトをプレゼントできる、という点があります。

こんな感じで着用してくれたり……。

2020年9月20日の配信より

これを作るための方法をこの記事で解説していきたいと思います。

まずは公式より発表されている情報をこちらに掲載します。

■メッシュ数:1
■ポリゴン数:5000程度(N角形ポリゴンは表示できません。)
■マテリアル数:1~2
■テクスチャ
 ・形式:png(4096×4096pixel)
 ・カラーテクスチャ、影カラーテクスチャのみ。ノーマルやアルファは使用できません。
  ※テクスチャのファイル名
 ・カラーテクスチャ:任意
 ・影カラーテクスチャ:(カラーテクスチャ名)_Shadow1
  (例)
   T_Fork.png
   T_Fork_Shadow1.png
■フォルダ名をOBJ_〇〇にしてください。(〇〇は任意)
  (例)
   OBJ_Fork
■フォルダ内容
 ・objファイル
 ・mtlファイル
 ・テクスチャ

※モデルは実寸サイズで制作ください。

【Blenderをご使用している場合】
obj書き出しの際に『拡大縮小』の項目に100を入力してください。もしくは、モデル自体を100倍してください。
※センチメートルに変換されるため、等倍では小さく表示されます。

データはギガファイル便などで @meguart_otayori 宛てにお送りください。

東雲めぐ Official Websiteファンアート・募集

さて、この説明には必要な要項は含まれているのですが、実際にこれをもとに作業をしようとするとどうすればいいか、思われる方も多いかもしれません。そのため、この記事ではそれぞれを説明していきます。

尚、この記事を読むにあたって以下の事項に関して理解済みである、という前提とします。不明な点がある場合は、ビデオや資料等を見て、使い方を確認していただければと思います。(でないと、恐らく挫折します……。)

  • Blenderの基本的な使い方。(インストール、起動、ファイルの読み込み、ファイルの書き込み、エキスポーターの使い方など)
  • 基本的なモデリング方法。四角形の変形や簡単な面の接続などが理解できていれば問題ありません。実際に何かを作るのにはそれなりのスキルが必要になると思いますが。
  • UVテクスチャの基本的な使い方。UVエディタの使い方、メッシュの展開など。難しい使い方はしないので本当に基本的なことさえできれば大丈夫です。
  • 基本的なOSの操作、アプリケーションのインストールや、ZIPファイルの解凍などの操作も理解している前提とします。

用意するもの

次のものは必須です。全て無料で入手できます。

  • Blender (その他、Wavefront OBJ形式のものが出力できるものは使用できますが、この記事ではカバーしていません。)記事は2.9.1を使用していますが、配布物では日本語表示が不完全なため、こちらのBlender moファイルを使用しています。各インターフェースの位置は変わりませんので、この更新を行っていない場合でも同様の手順が使用可能です。
  • Krita(もしくは何らかの2D画像編集ソフト。Windowsに付属のものでも問題ありません。PNG画像を出力できる必要があります。こちらは特に使い方などはカバーしないため、好きなものをお使いください。)

これに加え、まきまきさんにより作成された、以下のツールを使うと、表示の確認や大きさの確認をすることができます。

Blenderは多数のプラットフォームに対応していますが、まきめぐあくせはWindowsに対応しておりますので、できれば、Windows上で作業した方がはかどると思います。他の環境で作業する場合においても、確認だけでも、まきめぐあくせが動作する環境でした方がいいかと思います。

早速制作に取り掛かる

しておくと便利な環境設定など

上記にあるように、めぐアクセサリーはいくつかの制約があり、これらを守る必要があります。そのため、特にポリゴン数の情報などはある程度意識しながらモデリング作業を行う必要があります。ですので、これらは常に表示しておくと便利です。(こちらは2.90で実装された機能です。)

これを有効にするには、「ビューポートオーバーレイメニュー」より、「統計」を有効にします。

統計情報の表示オプション

これが有効になると、左上にこのような表示が追加されます。

表示されている統計情報

オブジェクトを選択したり、また、エディットモードに入ると、選択中のものに関する情報が表示されるため、ポリゴン数を調整する場合などに役に立つと思います。

モデリングを開始

早速モデリングをはじめていくわけですが、めぐアクセサリーには単一のオブジェクト及びテクスチャという制約がつきます。ポリゴン数の制限もありますので、基本的にはポリゴン数を抑えつつ、オブジェクトを継ぎ合わせて作っていく方法がいいかと思います。

今回作成した、このモデルに関しては前者の方法を使用し、ミラーモディファイアーを使用する方法を使いました。

たくあんマンヘッドセット

すでに既存のモデルが存在するような場合など、高解像度のモデルからデシメートモディファイアーを適用する、という方法もあります。ただ、こちらは思ったようにいかない場合も多いので、その点は試行錯誤が必要になってくるかと思います。

モデリングの際は、N角形ポリゴンにならないように、3点、もしくは4点の面のみを使用してモデリングを行うことに注意してください。

尚、頂点カラーは使用できず、複数のマテリアルを指定することができません。ですので、単一のマテリアルで、UVテクスチャを適用する必要があります。このため、それぞれ別の色やテクスチャを指定したい面を整理する必要がありますので、頂点グループを定義していくのが便利になります。

頂点グループ

頂点グループはエディットモードで頂点を選択した上で、「割り当て」ボタンを押すことで定義することができます。

その横の、「選択」及び「選択解除」ボタンを押すことにより、頂点グループを選択したり、選択を解除することができます。

このようなテクスチャアトラス画像を作成し、それぞれの頂点グループに対してアサインしていく、という作業になってきます。基本的には該当する部分のメッシュを選択後、UVエディタ上でメッシュの展開を行い、それを任意のUVテクスチャ部分に割り当てていきます。ですので、特に画像としてのテクスチャがない部分においても単色テクスチャとして用意します。

作成したテクスチャアトラス

めぐアクセサリーにおいては、このテクスチャアトラスは4096×4096までのサイズが使用できます。

マテリアル情報のベースカラーとしてこのテクスチャ画像を指定します。

ベースカラーとして指定したテクスチャ

ちなみに、要項に書いてある影カラーテクスチャですが、以前はAOマップに対してテクスチャを割り当てることができたようなのですが、最近のBlenderではそれが行えなくなっています。(エキスポーターのコードを参照してみたところ、Noneが割り当てられており、仕様から外されているようです。)

ですので、どうしても影テクスチャを使用したい場合はカラーテクスチャに焼き付けたものを作成するしかなさそうです。

ノーマルの確認

作成したモデルのノーマル(法線)は正しい方向を向いている必要があります。基本的にはノーマルは外側に向いている必要があります。

これを表示するにはエディットモードで「ビューポートオーバーレイ」の以下のオプションを有効にします。

ノーマル表示オプション

これを有効にすると、以下のような表示になります。

正しい方向に法線が向いている例

それぞれの青い線はノーマルの向きを示します。これが間違えた方向に向いている場合には以下のようになります。(線が内側に向かって出ているのがわかるかと思います。)

間違えた方向に法線が向いている例

ノーマルが間違った方向に向かっている場合、その面が表示されなくなるため、正しい表示ができなくなります。(まきめぐあくせでの確認は後述しています。)

これを正しい方向に設定する場合はエディットモードで、ノーマルメニューより、「面の向きを外側に揃える」を使用するとノーマルは外側に向くようになります。(Shiftを押しながらNキーでも同じことが可能です。)

ノーマルを外側に設定する方法

一部分のみが間違った方向に向いている場合は、それを選択し、同メニューより「反転」を選択するとノーマルを反転することができます。

OBJファイルを出力

Blenderのエキスポート機能を使用して、Wavefrontファイルとして出力します。

エキスポートをするのには「エキスポート」メニューの「Wavefront」を選択します。

エキスポートメニュー

選択すると以下のようなオプションが出てきます。

Wavefront OBJ出力オプション

この時、「OBJオブジェクト」と「マテリアルグループ」が有効になっていることを確認してください。また、スケールを100倍にします。(こちらはモデルのサイズを大きくすることでも対応可能です。大きさに関しては次項のまきめぐあくせでの検証で確認できます。)

これは一通り設定の後、プリセットとして保存しておくと再利用が簡単にできるので便利です。

出力先を決定すると、OBJファイル及び、MTLファイルが生成されます。テクスチャファイルは同じ場所に配置してください。

まきめぐあくせを用いての確認

モデルが完成し、OBJファイルとして出力したら、それをまきめぐあくせで確認することができます。まきめぐあくせはまきまきさんが作成されたツールで、以前は試行錯誤も多くなる部分だった制作をかなり明確にすることのできる画期的なツールとなります。

このツールを使用することにより、モデルのサイズやテクスチャ付きのモデルを表示することができます。

OBJファイルをツールのウインドウにドラッグアンドドロップすると、以下のような表示をすることができます。(以下の例では左上のShow Meguオプションを有効にしています。)

まきめぐあくせを使用したモデル表示

このツールを用いて、モデルが正常に表示されているか、また大きさが適切であるかを検証できます。

統計情報の表示

また、Blenderの統計情報と同じように、左上にはモデルの数値情報が表示されています。こちらのツールでは、めぐアクセサリーのスペックに逸脱する部分がある場合は、赤文字表記になります。

逸脱がある場合の表示例

出力が以下の左半分のように真っ暗になっている場合は、ノーマルが反対になっています。修正が必要です。

モデルの一部のノーマルが間違っている例

提出の方法

OBJファイル、MTLファイル、テクスチャファイルを「OBJ_」で始まるフォルダに格納し、ZIPファイルとして圧縮し、ファイル転送のウェブサービスなどを使用して、Twitterで、@meguart_otayori に連絡するのが一番確実な方法となります。ダウンロードが正常に完了するとその旨を知らせてくれると思います。

このフォルダ名の「OBJ_」ですが、必ず大文字にしてください。これが正しくないと反映されないとのことです。

最後に

自分が作った3Dモデルを東雲めぐちゃんが着用したり、遊んでくれるのは非常に楽しい経験です。できるだけ多くの人に経験してもらいたいです。

もし提出ファイルなど、不明な点がありましたらTwitterで@hideki宛にご連絡いただくか、megu3d-support@hidekisaito.comまでお問合せください。モデリング手法などの基本的なお問合せに関してはご遠慮いただければと思います。

カテゴリー
ソフトウェア Blender

Blenderを使用したNDVI画像の処理

この記事はBlender Advent Calendar向けに作成しました。本稿は元々Analyzing NDVI Imagery Using Blenderとして投稿していたものに加筆修正を加えたものです。

Blenderの本領である3D作成とは違った趣向ですが、レンダリングノードがどのくらい汎用性があるか、ということに関して示すことができましたら嬉しいです。

先ずはNDVIに関して軽く解説。NDVIはNormalized Difference Vegetation Indexの略で、正規化植生指標という植物の量や活力を表す値です。具体的には赤の可視光と近赤外線を測定することにより得る値となります。

国土環境モニタリングのページにその計算方法などが掲載されています。

どのようにして撮影するのか

一般的なカメラの素子は赤外線を捉えることができますが内部にそれを遮断するフィルタが入っており、そのまま撮影しても必要な光成分はほとんど撮影されません。Public Labはそれを分光するためのフィルタを販売しており、それを使用し、カメラを改造するか、改造済みのカメラを入手することができます。このカメラでは赤外線成分を赤チャンネル、可視光線を青チャンネルに記録します。

基本的原理は同じなので、衛星などの元データなどのデータも流用可能かとは思いますが、データ構成により調整を行う必要があるかもしれません。

Blenderを使用しての処理

ここで使用する画像はInfragramカメラに付属のサンプル画像を使用します。このカメラで撮影すると、以下のような画像が撮影できます。

撮影画像

NDVI画像を抽出するのにはノードでNDVI変換を定義しました。

NDVI変換ノード

このノードグループからは以下のような出力が得られます。この画像をColor Rampなどと合成することにより擬似色画像を構成することができます。

NDVI出力画像

以下はColor Rampを当てはめた例です。活性度に応じて白や緑に表示されています。

NDVI擬似色画像

Public Labでは撮影した画像を処理するサービスがありますが、Blenderで処理することにより同様の画像をローカルに処理することができます。

Infragram.org的 その1

Infragram的 その2

Blenderではノードを設定し、組み合わせることで、目的に応じた映像を出力することができます。

ノード設定

例えば以下は白黒の可視光線画像にNDVI画像を合成した画像です。

活性を示したオーバレイ画像

この画像では植物が活発と思われる部分がはっきりとハイライトされるため、存在する植物などを表示することができます。

以下、使用したBLENDファイルです。

infragram-2014082702.blend.zip

BlenderでNDVI処理する利点

  1. 柔軟性のある加工を施すことができる。
  2. Packすることにより、共同作業者などと単一のファイルをやりとりすることができる。
  3. NDVI動画画像も静止画と同じぐらい簡単に加工可能。(タイムラプス映像や気球映像などの加工も容易)ただし動画を使用した場合現状Packされないことにご留意下さい。
  4. 非破壊的に処理を加えることができるため、処理の切り替えができるほか、またどのようにして最終画像に至ったかということがファイルに含まれるため、いわば自己ドキュメンティングなファイルを配布することができる。

応用

同様のプロセスを使用して、その他の分野の加工でも、光成分に関する加工を行うことができます。カラーランプは色を一定の色のスケールに割り当てることができるため、例えば犬から見た景色、などもシミュレートしてみることが可能です。

犬が見る街

明日はnecoganeさんのテクスチャ作成方法(自己流)について、ということです。

カテゴリー
アニメ ソフトウェア Blender

色とアニメとそのグラフ……

Blenderの画像・映像ビューワーには各種分析機能が備わってて色の確認ができるようになっているのですが、ちょっと遊んでみました。

yuyushiki

右に表示されているのがそのグラフ群。上からヒストグラム、波形、ベクトルスコープ。

あまり詳しくはないのでわかりやすい解説はできませんが、ヒストグラムは画像中に含まれる色成分(この表示の場合はRGB)の量を示したものです。デジカメの液晶でも表示できたりするあれと同じものです。「ゆゆ式」のこのプロモ画像の場合はピークが尖っているので特定の色に集中した絵作りになっているということになります。

nyaruko

「ニャル子さん」の場合は白い部分が多いのでそれもヒストグラムに現れてます。

上から二番目の波形というのは(表示されているものは)YCbCrの表示。左(マゼンダ)から輝度で、画像の明るさのグラフです。その横が色差信号を示していて、真ん中(黄色)が青色成分から輝度を引いて、一定の定数を掛けたもの、一番右(青)が赤色成分から輝度を引いて一定の定数を掛けたものです。ちなみに縦が明るさ、横が画像の横方向のラインを示します。(Blenderではその他では輝度、RGBなどの波形を表示することも可能。)

muromi

「むろみさん」の画像の場合、更に広い範囲に色が広がっているのがヒストグラムから分かります。

ikamusume

同じ海をテーマにしたアニメの「イカ娘」だとこんな感じ。「むろみさん」が広い範囲の色を均一的に使っているのに対して、一定の色が強く出ているのが「イカ娘」

一番下に出ているのがベクトルスコープ。少し薄いですが12時の位置の四角い印が時計回りにマゼンダ、青、サイアン、緑、黄色、赤を示しています。ちなみになぜこのような円の配置になっているかというとこれが前述の色差信号をCrの部分を縦軸、Cbの部分を横軸にしているからです。

中心に行くほど色がない状態に近く、外側に行くほど色が強くなってきます。四角い印はカラーバーで調整する時に使用するもので、それぞれの色がここに合うようにします。

colorbar

ちなみに上のプロモ画像の場合、色の強さなどが放送に配慮したものではないため、多分そのままでは放送できないと思われます。(ベクトルスコープの円から大きく逸脱している部分があるので……。)

muromi-scr

そのため、本編だと結構押さえ気味になっているようです。