2017/02/22(水) [n年前の日記]
#1 [cg_tools][k3d] K-3Dをもう少し試用
オープンソースの3DCGソフト、K-3Dをもうちょっと試用。環境は Windows10 x64。
とりあえず、チュートリアル動画にあったカップの作り方を自分も試してみたり。こんな感じに。
一応説明しておくと…。
_SDS って何なのかちと分からんけど、もしかすると SubDivision Surface の略なのかもしれないし全然違うのかもしれない。ググってたら Subdivision and Damage Stability という文字列も見かけたけど、自分は英語赤点なので意味が分からないです。
とりあえず、チュートリアル動画にあったカップの作り方を自分も試してみたり。こんな感じに。
一応説明しておくと…。
- ExtrudeFaces ... いわゆる「押し出し」。面を押し出してくれる。プロパティの Distance で押し出す長さを指定。Inset で、内側に押し出したりできる。
- DissolveFaces ... 選択した複数の面を一つにしてくれる。繋がってない面は別々に一つにしてくれる模様。
- BridgeFaces ... 選択した複数の面を繋いだような面を生成してくれる。
- MakeSDS ... 選択中のモデルデータを SDS surfaces に変換してくれる。blender で言うところの細分割曲面と似たようなものだと思う。
_SDS って何なのかちと分からんけど、もしかすると SubDivision Surface の略なのかもしれないし全然違うのかもしれない。ググってたら Subdivision and Damage Stability という文字列も見かけたけど、自分は英語赤点なので意味が分からないです。
◎ 少しハマった点。 :
面をブリッジ(BridgeFaces)するあたりでちょっとハマった。プレビューレンダリングすると、ブリッジで生成した面だけが他と違う見た目になってしまって。
原因はマテリアル設定。BridgeFacesで生成された面はマテリアル指定に何も割り当てられてない状態になるので、プロパティの Suface Material で「Material」あたりを選んで指定しておかないといけない。
原因はマテリアル設定。BridgeFacesで生成された面はマテリアル指定に何も割り当てられてない状態になるので、プロパティの Suface Material で「Material」あたりを選んで指定しておかないといけない。
◎ 影が落ちない。 :
K-3D は、
_RenderMan
なる何かの規格に対応してるのが売りの3DCGソフトらしいのだけど、同梱されてるレンダラーが影を出してくれないレンダラーっぽくて。本来は何を使って最終レンダリングをするのか、そのあたりちょっと謎。
RenderManってよく分からんのだけど、ググってみたら以下のような話が。
_アメリカでCG屋をやってみる: レンダラを選んでみる その1
RenderManってよく分からんのだけど、ググってみたら以下のような話が。
_アメリカでCG屋をやってみる: レンダラを選んでみる その1
結論から申し上げますと、アメリカの映像業界ではRenderManは使われなくなりつつある、というのがお答えになります。2013年頃のお話。
◎ Portable版があった。 :
昨日は K-3D のインストーラ版をインストールしてしまったけど。その後ググってたら、Portable版があることに気が付いた。
_K-3D Portable | PortableApps.com - Portable software for USB, portable and cloud drives
環境を汚さないので、こっちを使ったほうがいいのかもしれない。インストーラ版はアンインストールして、Portable版を使うことにした。
_K-3D Portable | PortableApps.com - Portable software for USB, portable and cloud drives
環境を汚さないので、こっちを使ったほうがいいのかもしれない。インストーラ版はアンインストールして、Portable版を使うことにした。
◎ Pixieなるレンダラーをインストールしてみた。 :
K-3Dは、RenderMan互換のPixieというレンダラーも使える、と書いてあるように見えたので試しにPixieもインストールしてみたり。ちなみに、Windows用の最新バイナリは 2009/06/12頃に公開されたものなので、どうやらコレも開発停止っぽい。
_Pixie download | SourceForge.net
Pixie-2.2.6-Setup.exe をDLして実行するとインストールされる。環境変数 PIXIEHOME を設定、かつ、環境変数 PATH に、%PIXIEHOME%\bin を追加する模様。
K-3D上の RenderMan Engine のプロパティで、Render Engine を Pixie にしてみたけど。スポットライト等が反映されないな…。K-3D にバンドルされてる、BundledAqsis なるものを選んでおいたほうが無難、ということなのだろうか。
さておき。これもやっぱり床に影が落ちない。レンダラーを変えれば云々と言うわけではナサゲ。
_Pixie download | SourceForge.net
Pixie-2.2.6-Setup.exe をDLして実行するとインストールされる。環境変数 PIXIEHOME を設定、かつ、環境変数 PATH に、%PIXIEHOME%\bin を追加する模様。
K-3D上の RenderMan Engine のプロパティで、Render Engine を Pixie にしてみたけど。スポットライト等が反映されないな…。K-3D にバンドルされてる、BundledAqsis なるものを選んでおいたほうが無難、ということなのだろうか。
さておき。これもやっぱり床に影が落ちない。レンダラーを変えれば云々と言うわけではナサゲ。
◎ 影を落とすための設定がよく分からない。 :
_BasicsOfRenderman - K-3D
や
_Shadow Map Tutorial - K-3D
を眺めると、「影を落とすためには RenderManShadowMap を追加しないとダメだよ」みたいなことが書いてあるように見える。が、RenderManShadowMap とやらを作成するところまではともかく、その後の設定方法が分からず。RenderManShadowMapのカメラに何を設定するんだ…?
◎ LuxRenderでレンダリング。 :
ググっていたら、
_K-3D + LuxRenderでレンダリングした事例
を見かけて。LuxRenderは、RenderMan互換ではないけど数多あるレンダラーの一つ。blenderと組み合わせて使えたりするレンダラー。コレを使えば影も落ちるのだろうかと気になってきたので試してみようと。
_LuxRender - home
自分の環境では、以前 blender + LuxRender のテストをした際に、Standalone版をインストール済みのはず…。環境変数 PATH の中に、LuxRenderをインストールしてある場所が含まれてるかどうかを確認。例えばDOS窓上で「luxrender」と打ち込んでGUIが表示されたらPATHは通ってる。PATHが通っていれば、K-3D からも呼び出せるはず。
以下のような感じで操作してみたら、LuxRender でプレビュー表示ができた。ちなみに、K-3D 0.8.0.1 + LuxRender 1.6.0 No OpenCL 64bit + Windows10 x64 の組み合わせ。
手順としては以下。
LuxRender を使うと、RenderMan互換レンダラーでレンダリングした時と違って、特に何もしなくてもちゃんと影が落ちる。素晴らしい。
しかし、問題発生。LuxRender がレンダリング結果を画像として保存する際、「何だよこのファイルパスは! 保存できねえよ!」とエラーを出す…。どうやらファイルパスのパス区切り文字が消滅して、トンデモなファイルパスで保存しようとしてエラーが出ているらしい。
blender上からLuxRenderを使った際には、こんな問題は出ないので…。これは勝手な邪推だけど、K-3D が LuxRender に妙なファイルパスを渡しているのではないかしらん。例えば、「\\」をパス区切り文字として渡さなきゃいけないのに「\」しか渡してないとか、*NIXの流儀で「/」をそのまま渡しておかしなことになってるとか、Windows特有の対策をしてなくて、という可能性はどうだろう。まあ、実験段階のプラグインという扱いらしいから、「Windowsには対応してねえよ」「Linux使えよ」てなノリで片づけるのもアリなんだろう…。
というか結局 LuxRender を使ってレンダリングしてしまうなら、そもそも blender から LuxRender を呼び出してレンダリングしたほうがいいのではないかと思わないでもなかったり。あえてわざわざ K-3D から呼び出して使わなければいけない理由は、ちょっと見当たらないよなと…。
_LuxRender - home
自分の環境では、以前 blender + LuxRender のテストをした際に、Standalone版をインストール済みのはず…。環境変数 PATH の中に、LuxRenderをインストールしてある場所が含まれてるかどうかを確認。例えばDOS窓上で「luxrender」と打ち込んでGUIが表示されたらPATHは通ってる。PATHが通っていれば、K-3D からも呼び出せるはず。
以下のような感じで操作してみたら、LuxRender でプレビュー表示ができた。ちなみに、K-3D 0.8.0.1 + LuxRender 1.6.0 No OpenCL 64bit + Windows10 x64 の組み合わせ。
手順としては以下。
- LuxRender でレンダリングするには光源が必要なので、Create → LuxRender → LuxRenderSkyLight と LuxRenderSunLight を作成。
- LuxRenderSunLight の Direction で光の向きなのか光源の位置なのか分からんけどそのへんを設定。
- モデルをいくつか生成して。
- Render → Set Preview Engine で、Create LuxRender Engine を選択。
- Visible Nodes と Enabled Lights の横の Edit ボタンをクリックして、レンダリングに反映させたいものにチェックを入れる。
- Preview すれば、LuxRender のGUI画面が表示されて、レンダリングが進む。
LuxRender を使うと、RenderMan互換レンダラーでレンダリングした時と違って、特に何もしなくてもちゃんと影が落ちる。素晴らしい。
しかし、問題発生。LuxRender がレンダリング結果を画像として保存する際、「何だよこのファイルパスは! 保存できねえよ!」とエラーを出す…。どうやらファイルパスのパス区切り文字が消滅して、トンデモなファイルパスで保存しようとしてエラーが出ているらしい。
blender上からLuxRenderを使った際には、こんな問題は出ないので…。これは勝手な邪推だけど、K-3D が LuxRender に妙なファイルパスを渡しているのではないかしらん。例えば、「\\」をパス区切り文字として渡さなきゃいけないのに「\」しか渡してないとか、*NIXの流儀で「/」をそのまま渡しておかしなことになってるとか、Windows特有の対策をしてなくて、という可能性はどうだろう。まあ、実験段階のプラグインという扱いらしいから、「Windowsには対応してねえよ」「Linux使えよ」てなノリで片づけるのもアリなんだろう…。
というか結局 LuxRender を使ってレンダリングしてしまうなら、そもそも blender から LuxRender を呼び出してレンダリングしたほうがいいのではないかと思わないでもなかったり。あえてわざわざ K-3D から呼び出して使わなければいけない理由は、ちょっと見当たらないよなと…。
[ ツッコむ ]
以上です。