2017年9月11日(月曜日)。昨日CadNav.comからダウンロードしたオートバイの3Dモデリングデータ"Honda NR750 Motorcycle"を、"PoseRay"と"metasequoia"で加工・データ変換し、"POV-Ray"でレンダリングしました。
ダウンロードページのキャプチャ画像。
ダウンロードファイルの名前は"cadnav-1F6041K451.rar"、そのファイルサイズは8.06MB。アンパックして出来た3Dデータのフォーマットは案内の通り3dsとmaxとobjの3種類でした。私のアプリ環境で使えるのは3dsとobjです。
"PoseRay"でまず3dsフォーマットデータを読み込みました。これは、読み込み時のエラーは無かったのですが、何故か各部のパーツを止めるネジ頭に相当する複数部分の位置がずれています。そのずれたネジ頭部分を移動させて修正しようとするのですが、試行錯誤しても収まりの良い位置を見つけることが出来ませんでした。
そこで、3dsデータは諦めて、次にobjフォーマットデータを読み込んでみました。
その最初のプレビュー画面。
こちらも読み込み時のエラーはありませんでした。見た目にも、パーツの位置ずれなどもありません。しかし、良く見ると"NR"や"HONDA"などのロゴ・マークなどのマッピングがどこにも見えません。
materialのマッピングを見ると適切なファイル名が指定されています。ところがそのマッピングに当たるUV情報が全て欠落していました。
マッピングのある各materiaに対して、個々に"PoseRay"のUVマッピング機能を使ってUVマップを再適用しました。
これは件数も少ないので順調に進んだのですが、1件だけ燃料タンクの左半分に相当するパーツへのマッピングが上手く行きません。何故か位置がずれるのです。
そのgroupだけを取り出してみたら、こうなっていました。
青丸を付けt部分に、余分な欠片データが付いていて、これがあるためにマッピングが横に広く伸ばされてしまっていたのです。
この部分を"metasequoia"の編集機能を使って別に切り分けることで、問題は解決しました。
マッピングを終え、表示位置・表示サイズを調整した"PoseRay"の最終プレビュー画面。
これを"PoseRay"から"POV-Ray"へエクスポートし、"POV-Ray v3.7"でレンダリングしました。
その画像。
上の画像をクリックすると大サイズ(1600*1200)画像を表示
このエクスポートされた"POV-Ray"シーンファイルを元に、"POV-Ray"での1unitが1mになるようにscale合わせを行いました。
scale合わせの比率を作成する時の基準になる値には、このバイクの全長を利用しました。モデリングデータの全長は8502.458unit、この車種の全長(WEBで調べまし)は2.085m。
scale合わせした画像。
ここでのグリッドは0.5unit=0.5mです。
scale合わせ後の"POV-Ray"シーンファイルをincludeファイル化して、プライベートな"POV-Ray"オブジェクトライブラリに保存しました。これで、この"Honda NR750 Motorcycle"を"POV-Ray"の部品として、何時でもシーンに組み込む事が出来るようになりました。
JUGEMテーマ:コンピュータ