2017年9月29日(金曜日)。先日手に入れた「盛土のある線路」の3Dデータ(2017年9月20日ブログ『 ShareCG.comからダウンロードした鉄道線路の3Dモデリングデータ、"RailRoad segment" | KOKAのつぶやき 』 )を使って、その上にSL列車を載せたシーンを作っていましたが、だんだん欲が出て色々付け加えているうちに出来上がったシーンです。
≪ 盛大に白煙を上げて走る蒸気機関車 ≫
上の画像をクリックすると大サイズ(1920*1200)画像を表示
走っている蒸気機関車には煙が必須です。今回の白煙は"POV-Ray"のSDLで一から作り直しました。透明な球(楕円球)とその内部に含むmediaを複数組み合わせています。
秋らしく「紅葉・黄葉の森」、遠景には毎度定番の「山脈」、地面の草原風テクスチャだけでは単調なので「草むら」を加えました。この「草むら」が曲者で、重なり合うオブジェクト数が膨大になるので、一気にレンダリング時間が増大しました。1920*1200ピクセルの画像生成に掛かった時間が、17時間9分2秒。昨日の午前10時過ぎに演算を開始したのですが、終了したのが日が変わった今朝の3時過ぎでした。これは「草むら」に使ったオブジェクトの選択ミスです。埋め草的な使い方の「草むら」ですから、粗いポリゴンで作った草むら風なオブジェクトにそれらしい草むらの画像を貼り付けたもので済ませれば、処理時間は殆どかからなかったと思います。
このシーンでもWEBで入手したフリーの3Dモデリングデータを使っていますので、各データの出処を記しておきます。
上に記した10種類の樹木を、一定の範囲にランダムで尚且つ重複しないように自然な感じで配置するのに、次のような工夫をしています。
配置についてですが、"Halton Sequence"と呼ばれる方式を使っています。POV-Ray公式サイトに併設のnewsgroupでの発言にあった"Halton Sequence"を応用したコードを利用させてもらいました。そのnewsgroupで"Halton Sequence"に触れているスレッド『 POV-Ray: Newsgroups: povray.advanced-users: Random tree position, without duplicates? 』。
10種の樹木を何回も使うので、その度にscaleを使いランダムに大きさを変更、同時にy軸沿いにランダムな角度で回転させて見た目が少しでも異なるように工夫しています。
地面を覆う草原風なテクスチャは、Rune Skovbo Johansen さんの作られた"POV-Ray"用のincludeファイル"grasstex.inc"を利用させてもらいました。『Rune Skovbo Johansen さんのホームページ』。
背の高い細葉の草むらは、scottさんの作られたincludeファイル"scottGrass.inc"を利用しました。これも、POV-Rayのnewsgroupで公開されています。『 POV-Ray: Newsgroups: povray.binaries.scene-files: grass: Re: grass 』。
遠景の「山脈」は、これも私の3DCGでは定番の一つですが、pigment function でパターンを使ってheightfieldを生成しています。そのheightfieldで生成した地形のエッジが自然にwaterlevelに収まるようにコーディングされています。その工夫された元コードをPOV-Ray公式サイトのnewsgroupの次のスレッドから入手しました。『 POV-Ray: Newsgroups: povray.binaries.images: Mesh vs mesh2 』。
これらのデータやコードをフリーで公開された作者とサイトに感謝します。