2022年4月15日に3D モデルをSketchfabで公開した記事を書きました。もともとこの3Dモデルは、フリーのSfMソフトRegard3Dで作成した点群データを、3Dデータ編集ソフトMeshLabでメッシュデータとしたものを、Blenderで加工し、.ply形式でエクスポートし、Sketchfabにアップしたものです。
MeshLabで作成した.ply形式のメッシュデータをSketchfabにアップするとなぜか色が消えてグレーの3Dモデルとなりました。Blenderに読み込んでもグレーのままです。そこでBlenderを使ってオブジェクトに着色しました。この記事は、その際の手順を忘れないようにメモしたものです。なお、この作業は、ほぼ、この記事に沿って行いました。
1. 作業の流れ
(1) Blenderへの読み込み
(2) 位置、回転とスケールの調整
(3) 着色
(4) Sketchfabへアップロード
2.Blenderへの読み込み
記事「SfM事始め」の5.(1)に記載したとおり、ファイル>インポート によりMeshLabで作成したメッシュデータを読みこめばよい。
3.位置、回転とスケールの調整
Blender(3.01)に読み込んだままの状態では、とんでもない位置に、とんでもない傾きで、とんでもないスケールで表示される可能性がある。
(1) 位置
オブジェクトの中心が原点付近に来るように、オブジェクトを選択したあと 「右クリック>原点を設定>ジオメトリを原点に移動」とする。
(2) 回転
Blender画面の左側の縦に並んだアイコンから「回転」を選択する。次に、オブジェクトが見やすい位置に来るように赤、緑、青の回転軸を動かす。回転が決まったら、「オブジェクトモード」になっていることを確認し、「オブジェクト>適用>回転」とする。そのあと、左側のアイコンを「ボックス選択」に戻す。
(3) スケール
Blender画面の右側に並んだアイコンから「オブジェクトプロパティ」を選択すると図のような画面が現れる。ここで、スケールを例えば1/4にしたい場合はX,Y,Zの項にそれぞれ0.25を入力する。
3.着色
次に右上4つの円状のアイコンの右側のプルダウンメニューを開き、「頂点」を選択する(下図を参照)。するとオブジェクトが着色される。
次に、以下の①~⑤を行う(下図参照)。
① Blender画面の右側に並んだアイコンから「マテリアルプロパティ」を選択する。現れた画面で、「新規」ボタンをクリックする。
② 現われた画面で、サーフェスの項がプリンシプルBSDFとなっている。次に、ベースカラーの項の黄色の◯をクリックし現れた画面で属性を選択する。
③ 現れた画面の名前の項に「Col」と入力する。
④ 縦に並んだアイコンから、「オブジェクトデータプロパティ」を選択し、現れた画面で「頂点カラー」の項に③で入力した「Col」が登録されていることを確認する。これで、オブジェクトに着色された色がベースカラーとなる。
⑤ 次に、ファイル>エクスポートにより、着色されたオブジェクトを.ply形式で保存する。また、.blend形式のプロジェクトファイルも保存しておくと良い。
4.Sketchfabへアップロード
3⑤でエクスポートした.plyファイルをSketchfabにアップロードし、オブジェクトが着色されていることを確認し、よければ公開する。なお、この.plyファイルをBlenderでインポートすると着色はされておらず相変わらずグレーで表示される。.blend形式のプロジェクトファイルでは着色されている。この辺りがよくわからない。