MakeHumanのデータをFusion 360に取り込む
Fusion 360でのモデリングには、3D CAD的なMODELモードと、3D CG的なSCULPTモードがあるようです。しかし、私の技量では、SCULPTで人体モデルをゼロから作るのは困難です。
そこで、フィギュア風ロボットの外見を作るための補助として、MakeHumanとBlenderを使うことにします。
作業としては、
MakeHuman
MakeHumanは、人体の3Dモデルを作れるアプリです。
同種のアプリとしては、SmithMicro社のPoserが有名です。Poserが有料アプリなのに対して、MakeHumanはオープンソースで開発されている無料アプリという特徴があります。
機能的にはPoserの方が優れていますが、無料で使えるのは大きなメリットです。

MakeHumanは、Webサイト「http://www.makehuman.org」のDownlonadページからダウンロードします。
Webサイトは英語ですが、アプリは日本語表示も選択できます。日本語への切り替えは、Setting→General→LanguageでJapaneseを選択します。
MakeHumanには、OBJファイルやSTLファイルとしてExportする機能があり、Fusion 360には、SCULPTモードのINSERT→Insert Meshで、OBJファイルまたはSTLファイルをinsertする機能があります。
以下の画面は、MakeHumanからExportしたSTLファイルをFusion 360にSCULPTモードでinsertした状態です。データ形式はMeshになっています。

しかし、MakeHumanで出力したOBJファイルやSTLファイルには、 Fusion 360用のデータとして、次のような問題があります。
(2)Fusion 360にinsertしたMeshは、そのままではFusion 360上で移動や他の物体とのブーリアン演算はできますが、拡大縮小や変形はできないようです。Fusion 360では、Meshはサイズを含めて完成した状態でInsertするのが基本、ということなのでしょう。
しかし、ここではそれではちょっと困ります。SCULPTモードで編集できるT-Spline形式に変換するため、convert機能を使いたいのですが、データ中に含まれる三角形やn角形の割合が多すぎると、警告が出て変換できません。データは四角形ポリゴンで構成されていることが期待されているようです。そのため、データを四角形ポリゴンの形で用意する必要があります。
(3)MakeHumanから出力したOBJファイルやSTLファイルは、18000以上のポリゴンで構成されています。これを単純に四角形ポリゴンに変換しても、時間がかかりすぎて、convert中にFusion 360が無反応になってしまいました。データが多すぎるので、減らす必要があります。
そこでFusion 360に適したデータに変換するために、Blenderも使うことにしました。
Blender
Blenderは、オープンソースで開発されている3D CGアプリです。無料で使えます。
Blenderは、Webサイト「http://www.blender.org」からダウンロードできます。
Webサイトは英語ですが、アプリは日本語表示も選択できます。日本語への切り替えは、File→User Preferencesメニューを選んで、System→International Fontsにチェックを入れ、LanguageからJapanese(日本語)を選び、下側の3つのボタンをクリックして日本語表示にしたい要素を選びます。(もっとも、このアプリは慣れると英語表示の方が見やすい気がします)
Blenderでの変換手順
MakeHumanの出力データをFusion 360にinsertする際の問題を解決するために、MakeHumanからExportしたデータを、いったんBlenderに読み込んで、以下の処理を施した後でOBJファイルとして出力して利用することにします。
頭部を削除せずにFusion 360に取り込むこともできます。その場合、T-Splineにconvertすると、眼球などは別のBodyに変換されるようです。(全部で5個のBodyに変換されました)
しかし、さらにT-SplineをMODELデータにconvertしようとすると、「Edges or faces may be crossing.」というエラーが出て変換できません。
(2)ポリゴン数を削減するには、オブジェクトモードにして、モディファイアーでポリゴン数削減を追加し、比率スライダで面を減らして、適用します。今回は比較のために、約1500ポリゴン、約1000ポリゴン、約500ポリゴンに減らした3種類のモデルを用意してみました。
(3)四角形ポリゴンに変換するには、編集モードにして、すべてを選択し、メッシュ→面で、三角面を四角面に、を選択します。
ポリゴン数の削減と四角形ポリゴンへの変換は、どちらを先にするのがいいのかはよく分かりません。(同じかもしれません)
(4)修正したデータは、OBJ形式でExportします。BlenderはSTL形式もサポートしていますが、STL形式でExportすると三角形ポリゴンになってしまうようです。
Fusion 360への読み込み
Fusion 360では、変換したデータを、SCULPTモードのINSERT→Insert Meshで読み込みます。
SCULPTモードにするには、CREATEの右側にあるCreate Formアイコンをクリックします。
以下は、ポリゴン数を1500程度(最終的な面数は1193)まで減らしたモデルと、1000程度(834)、500程度(432)まで減らしたモデルを読み込んだ状態です。



上の画像は、読み込んだままのMeshです。面数1500でも、この状態のままではフィギュア風ロボットの外装として使うにはディテールが失われすぎています。(こういう外見というのも悪くはないですが)
T-Spline形式への変換
次に、Mesh形式からT-Spline形式に変換します。
MODIFYのConvertを選択します。これはかなり時間がかかる処理です。処理中はCPU使用率がすごいことになりますが、根気よく待ちます。
変換が終了すると、BodiesにMesh形式とT-Spline形式のデータが両方登録されますが、Mesh形式のデータは削除してもかまいません。(なぜかReadOnlyだと言われて削除できないことがありますが、原因はよく分かりません)
以下は、ポリゴン数1500程度(最終的な面数は1193)、1000程度(834)、500程度(432)のモデルを、Tスプライン形状に変換した状態です。



SCULPTモードでは、T-Spline形式で形状を作っていくので、普通のポリゴンを使うよりも少ない面数で表現できることが分かります。
拡大してみます。1500だと、指の形状までよく残っています。できればこの状態で使いたいところです。500でも全体の形状は残っています。



エッジを消してみるとディテールの違いが分かりやすくなります。



500だと、指に水かきがついたような形状に劣化しています。また体のメリハリも失われています。しかし、全体の形状を見たいならこれで充分とも言えます。
とりあえず1500のモデルを使い、処理速度などが耐え難ければ、1000や500のモデルに変更することにしました。
SCULPTモードで、必要な編集を行ないます。(今回は、特に何も編集していません)
ここでは体全体を1つのデータとして扱っていますが、この状態では大きすぎてまともな編集が不可能なので、後でパーツごとに分解して編集することになるでしょう。
T-Splineを使ったモデルは、変換だけでなく、読み込みにも非常に時間がかかります。高速なマシンが欲しくなりますが、そうなると、やはりMacではなく、選択肢が多いWindows機ということになるかもしれません。(ここで使っているアプリは、すべてWindows版も存在します)
Fusion 360がクラウドサービスであることにも注意が必要です。人体モデルのような大規模なデータを扱うと、数百MBのデータがネット上を流れる可能性があります。高速な回線も必要です。
MODEL形式への変換
T-Spline形式のままだと、MODELモードで作っている関節との扱いに問題があるので、MODELモードの形式に変換します。
といっても、SCULPTモードからMODELモードに切り替えると、自動的に形式が変換されます。
変換された後はSCULPTモードでの編集はできなくなるようです。
ちなみに、3Dモデルの形状が女性の裸体なのは、このときイメージしていたのが寺沢武一氏の「コブラ」に登場する「アーマロイド・レディ」だったからなのですが、どのような外見にするかはまだ未定です。
そこで、フィギュア風ロボットの外見を作るための補助として、MakeHumanとBlenderを使うことにします。
作業としては、
- MakeHumanで、人体モデルを作成。
- MakeHumanから、OBJ形式やSTL形式で出力。
- Blenderに読み込み、不要なデータを削除し、面を四角形にするなど、データを整頓。
- Blenderから、OBJ形式で出力。
- Fusion 360のSCULPTモードで、OBJファイルをMeshとしてInsert。
- InsertしたMeshを、T-Spline形式に変換。
- T-Spline形式からMODELモードの形状に変換。
MakeHuman
MakeHumanは、人体の3Dモデルを作れるアプリです。
同種のアプリとしては、SmithMicro社のPoserが有名です。Poserが有料アプリなのに対して、MakeHumanはオープンソースで開発されている無料アプリという特徴があります。
機能的にはPoserの方が優れていますが、無料で使えるのは大きなメリットです。

MakeHumanは、Webサイト「http://www.makehuman.org」のDownlonadページからダウンロードします。
Webサイトは英語ですが、アプリは日本語表示も選択できます。日本語への切り替えは、Setting→General→LanguageでJapaneseを選択します。
MakeHumanには、OBJファイルやSTLファイルとしてExportする機能があり、Fusion 360には、SCULPTモードのINSERT→Insert Meshで、OBJファイルまたはSTLファイルをinsertする機能があります。
以下の画面は、MakeHumanからExportしたSTLファイルをFusion 360にSCULPTモードでinsertした状態です。データ形式はMeshになっています。

しかし、MakeHumanで出力したOBJファイルやSTLファイルには、 Fusion 360用のデータとして、次のような問題があります。
- (1)不要な構造がある。
- (2)三角形ポリゴンで構成されている。
- (3)ポリンゴ数が多すぎる。
(2)Fusion 360にinsertしたMeshは、そのままではFusion 360上で移動や他の物体とのブーリアン演算はできますが、拡大縮小や変形はできないようです。Fusion 360では、Meshはサイズを含めて完成した状態でInsertするのが基本、ということなのでしょう。
しかし、ここではそれではちょっと困ります。SCULPTモードで編集できるT-Spline形式に変換するため、convert機能を使いたいのですが、データ中に含まれる三角形やn角形の割合が多すぎると、警告が出て変換できません。データは四角形ポリゴンで構成されていることが期待されているようです。そのため、データを四角形ポリゴンの形で用意する必要があります。
(3)MakeHumanから出力したOBJファイルやSTLファイルは、18000以上のポリゴンで構成されています。これを単純に四角形ポリゴンに変換しても、時間がかかりすぎて、convert中にFusion 360が無反応になってしまいました。データが多すぎるので、減らす必要があります。
そこでFusion 360に適したデータに変換するために、Blenderも使うことにしました。
Blender
Blenderは、オープンソースで開発されている3D CGアプリです。無料で使えます。
Blenderは、Webサイト「http://www.blender.org」からダウンロードできます。

Webサイトは英語ですが、アプリは日本語表示も選択できます。日本語への切り替えは、File→User Preferencesメニューを選んで、System→International Fontsにチェックを入れ、LanguageからJapanese(日本語)を選び、下側の3つのボタンをクリックして日本語表示にしたい要素を選びます。(もっとも、このアプリは慣れると英語表示の方が見やすい気がします)
Blenderでの変換手順
MakeHumanの出力データをFusion 360にinsertする際の問題を解決するために、MakeHumanからExportしたデータを、いったんBlenderに読み込んで、以下の処理を施した後でOBJファイルとして出力して利用することにします。
- (1)頭部など、不要なデータの削除。
- (2)ポリゴン数の削減。
- (3)四角形ポリゴンに変換。
- (4)OBJファイルとして出力。
頭部を削除せずにFusion 360に取り込むこともできます。その場合、T-Splineにconvertすると、眼球などは別のBodyに変換されるようです。(全部で5個のBodyに変換されました)
しかし、さらにT-SplineをMODELデータにconvertしようとすると、「Edges or faces may be crossing.」というエラーが出て変換できません。
(2)ポリゴン数を削減するには、オブジェクトモードにして、モディファイアーでポリゴン数削減を追加し、比率スライダで面を減らして、適用します。今回は比較のために、約1500ポリゴン、約1000ポリゴン、約500ポリゴンに減らした3種類のモデルを用意してみました。
(3)四角形ポリゴンに変換するには、編集モードにして、すべてを選択し、メッシュ→面で、三角面を四角面に、を選択します。
ポリゴン数の削減と四角形ポリゴンへの変換は、どちらを先にするのがいいのかはよく分かりません。(同じかもしれません)
(4)修正したデータは、OBJ形式でExportします。BlenderはSTL形式もサポートしていますが、STL形式でExportすると三角形ポリゴンになってしまうようです。
Fusion 360への読み込み
Fusion 360では、変換したデータを、SCULPTモードのINSERT→Insert Meshで読み込みます。
SCULPTモードにするには、CREATEの右側にあるCreate Formアイコンをクリックします。
以下は、ポリゴン数を1500程度(最終的な面数は1193)まで減らしたモデルと、1000程度(834)、500程度(432)まで減らしたモデルを読み込んだ状態です。



上の画像は、読み込んだままのMeshです。面数1500でも、この状態のままではフィギュア風ロボットの外装として使うにはディテールが失われすぎています。(こういう外見というのも悪くはないですが)
T-Spline形式への変換
次に、Mesh形式からT-Spline形式に変換します。
MODIFYのConvertを選択します。これはかなり時間がかかる処理です。処理中はCPU使用率がすごいことになりますが、根気よく待ちます。
変換が終了すると、BodiesにMesh形式とT-Spline形式のデータが両方登録されますが、Mesh形式のデータは削除してもかまいません。(なぜかReadOnlyだと言われて削除できないことがありますが、原因はよく分かりません)
以下は、ポリゴン数1500程度(最終的な面数は1193)、1000程度(834)、500程度(432)のモデルを、Tスプライン形状に変換した状態です。



SCULPTモードでは、T-Spline形式で形状を作っていくので、普通のポリゴンを使うよりも少ない面数で表現できることが分かります。
拡大してみます。1500だと、指の形状までよく残っています。できればこの状態で使いたいところです。500でも全体の形状は残っています。



エッジを消してみるとディテールの違いが分かりやすくなります。



500だと、指に水かきがついたような形状に劣化しています。また体のメリハリも失われています。しかし、全体の形状を見たいならこれで充分とも言えます。
とりあえず1500のモデルを使い、処理速度などが耐え難ければ、1000や500のモデルに変更することにしました。
SCULPTモードで、必要な編集を行ないます。(今回は、特に何も編集していません)
ここでは体全体を1つのデータとして扱っていますが、この状態では大きすぎてまともな編集が不可能なので、後でパーツごとに分解して編集することになるでしょう。
T-Splineを使ったモデルは、変換だけでなく、読み込みにも非常に時間がかかります。高速なマシンが欲しくなりますが、そうなると、やはりMacではなく、選択肢が多いWindows機ということになるかもしれません。(ここで使っているアプリは、すべてWindows版も存在します)
Fusion 360がクラウドサービスであることにも注意が必要です。人体モデルのような大規模なデータを扱うと、数百MBのデータがネット上を流れる可能性があります。高速な回線も必要です。
MODEL形式への変換
T-Spline形式のままだと、MODELモードで作っている関節との扱いに問題があるので、MODELモードの形式に変換します。
といっても、SCULPTモードからMODELモードに切り替えると、自動的に形式が変換されます。
変換された後はSCULPTモードでの編集はできなくなるようです。
ちなみに、3Dモデルの形状が女性の裸体なのは、このときイメージしていたのが寺沢武一氏の「コブラ」に登場する「アーマロイド・レディ」だったからなのですが、どのような外見にするかはまだ未定です。
コメント