ラベル blender の投稿を表示しています。 すべての投稿を表示
ラベル blender の投稿を表示しています。 すべての投稿を表示

2018年4月19日木曜日

LuxCoreRenderたのしい。

LuxRenderの次期メジャーアップデートとなるv2.x系にむけて現行のv1.x系で
平行してLuxCoreとして開発が進められていた新レンダリングエンジン。
そのLuxCoreがとうとう正式に新レンダラとして名前も新たに
LuxCoreRenderとしてβ3版が公開されました。

ここ数日遊んでたさいにはまったことやわかったことなどメモ。


・公式ページなど各種情報

    LuxCoreRender
        公式ページ https://luxcorerender.org
            ギャラリー    https://luxcorerender.org/gallery/
            ダウンロード https://luxcorerender.org/download/

        公式wiki  https://wiki.luxcorerender.org/LuxCoreRender_Wiki
        git              https://github.com/LuxCoreRender

    BlendLuxCore
        git              https://github.com/LuxCoreRender/BlendLuxCore
                           機能解説や、エクスポート可能なBlenderのフィーチャなどの説明あり
    

・インストール

    上記ダウンロードページからOSに合わせて対応したバージョンをダウンロード。
    LuxCoreはblender2.79b用のアドオン版と、単独アプリとして起動可能なスタンドアロン版がある。
    さらにそれぞれにOpenCL有効版と無効版があるので要注意。
    残念ながらmacOSはダウンロード可能なバイナリがないのでソースから自前ビルドするしかない。

    多くの場合blenderにレンダラアドオンとしてインストールして使用するケースが多いと思うので
 その場合は何も考えずに各OS向けのアドオン版をダウンロード。
    blenderのアドオン管理画面から直接インストールできるzipファイルがダウンロードされる。
    LuxRenderの場合と異なりそのzipファイルの中にblenderアドオンの*.pyと一緒に
    LuxCore本体の各種実行ファイルやライブラリも全部含まれているので楽ちん。
    
    zipファイルがダウンロード完了したら、ほかのアドオンをインストールするときと同様に
    user preferencesのAdd-ons、一番下にある"Install Add-on File..."ボタンをクリックして
    ダウンロードしてきたzipファイルを選択すればOK。
    問題なくインストールされれば、アドオン一覧のところに"Render:LuxCore"が表示されるので
    チェックボックスを有効にしてこれでインストール完了。
    あとはメニューバーのレンダラ一覧のリストから"LuxCore"を選択すれば準備完了。


・GPUレンダ

 OpenCL対応GPUでできる。
 インテルのiGPU、HD Graphics520とかでもレンダできるの良い。


・HDRI

 対応してた。
 こんなかんじ。
 LuxCoreと直接は関係ないけどHDRIHAVENさんありがてえありがてえ。


・ネットワークレンダリング

 "LuxCore Network Render"ボタンをクリックして表示される
 "PyLuxCore Tools Menu"でレンダサーバの起動やジョブ管理を行う。

 Ubuntu(というかおそらくLinux全般)で、上記のボタンをクリックしても
 "PyLuxCore Tools Menu"が表示されない場合はPySideがインストールされてるか
 要確認。
 手元のLinux環境、Ubuntu16.04で試したらPyLuxCore Tools Menuが全然表示
 されないので、調べてみたらそれが原因だった。
 で、
 $ sudo pip3 install PySide
 したら、"PySideが対応するpythonのバージョンは下記の通りで、
 今のこの環境には対応してないよー!"的なエラーがでてしまう。
 ので、
 $ sudo apt-get install python3-pyside
 したらインストール完了。

 ここで、あらためてblender起動して
 "LuxCore Network Render"ボタンをクリックしたら、
 "PyLuxCore Tools Menu"が表示されたのでOK。

 そもそもLuxCoreRenderのレンダサーバプロセスを起動するには
 実はわざわざblenderを起動する必要はなくて
 ~/.config/blender/2.79/scripts/addons/BlendLuxCore/binで
 $ python3 ./pyluxcoretools.zip
 してもいいらしい。
 そうするとさっきの"PyLuxCore Tools Menu"が表示される。

 NetNodeを選択して表示される"Rendering Node Configuration"の中で
 最後の"Custom LuxCore properties"にレンダリングノードを起動する際の
 設定オプションを記載できるみたい。
 おそらくその内容はLuxCoreのSDLで記述するっぽい。(未確認)

 ※LuxCore SDL
  LuxCoreで各種設定ファイル(*.cfg)やシーンファイル(*.scn)の記述等で
  用いられているscene description language(シーン記述言語)のリファレンス


 ネットワークレンダの手順としては

  ①レンダラをLuxCoreにしておいて、いつも通りシーンの作成をblenderでやる
  ②そのシーンをLuxCoreのバイナリ形式のシーンファイル(*.bcf)としてエクスポートしておく。
  ③どこかネットワーク上の別のマシンでLuxCoreのレンダリングノードを立ち上げておく
  ④手元のマシンでLuxCoreのレンダリングコンソールを開く
  ⑤レンダリングコンソールのジョブ管理画面で②でエクスポートしたbcfファイルをジョブに追加。
  ⑥ジョブに追加したbcfファイルのある場所にflmとpngで出力が保存される。
  ⑦停止条件を設定してなければ⑥の出力を確認しつついい感じになったとこで手動でジョブ終了。

 注意する点としてはネットワークレンダするさいに、レンダラをLuxCoreにしてると
 カメラタブに表示されるカメラのオプションで、トーンマッパーが選択できるけど、
 それがデフォルの"Linear"のままだと②のシーンファイルのエクスポートの際に
 "Use a non-automatic tonemapper to get tonemapped AOVs"って警告が出て
 そのあといくらジョブを追加してレンダを進めてもなにも出力が表示されない。
 なので、トーンマッパーは"Camera Settings"か"Reinhard"に変更しておくこと。

 トーンマッピング処理だからさいしょRenderタブになんかそんな感じのオプションが
 あるに違いない。とおもって、探してたけど全然見つからずはまった。

 トーンマッパーオプションはカメラオブジェクトを選択している時だけ表示される
 Cameraタブにあるので要注意。 


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2013年3月8日金曜日

Cube買った的な。


コンパクトカーだと思った?残念!3Dプリンタでした!!的な。

とりあえず本体のみ購入。

本体には緑色のPLAフィラメント1カートリッジ、固定用グルー、ACアダプタ、
USBケーブル、USBメモリなど出力に必要な最低限のものがセットでついてくる。
で、その本体に+$150くらいで、3DCAD、好きなフィラメント3カートリッジを
セットにできる仕組み。

本体のみにするか、セットにするか迷ったけど、追加のフィラメント買うにしても、
最初に感じをためしてから選びたかったし、3DCADはblenderがあればSTL吐ける
からいいか的な感じ本体のみを購入。

で、注文から到着までは…

 2/4 白Cubeをオンラインで注文。すぐにオーダー確認のメールが来る。
 2/18 発送予定のはずだけど連絡なし
 2/22 おかしいと思って問い合わせたら白に注文が集中してて在庫切れとのこと。
    銀ならすぐに出荷できます、とのことなのでオーダー変更してもらう。
 2/25 銀Cube発送のメール来る。
 3/1 到着するも不在
 3/2 土曜の午前中に再配達してもらって受け取り完了。

という感じなので、順調に行けば注文から1週間くらいで納品されそうな予感。
問い合わせはメール書けばすぐに対応してくれたのでよさげ。

で、ものは届いたものの、玄関がぱんぱんだぜ的な。


茶色い段ボールの外箱は45 x 45 x 65cmくらい。
覚悟はしていたけどでかい。とりあえず開封してく。
この外箱開けるとこんな感じで内箱というか化粧箱的なものが。


これが36 x 38 x 47cmくらい。こいつをあけると・・・


本体が。
さっそく説明書に従って設定してサンプルデータを出力したのがこんな感じ。


よさげ。次はblenderで作ったデータを…



早すぎたんだ。腐ってやがる…的なsuzanneが出力される罠。
積層の方向とか、肉厚の取り方とか調整していきたい感。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2013年3月2日土曜日

Freestyleの薄い本的な。


そういえばCOMITIA103でサークル、スザンぬクラブにてblenderとFreestyleによる
イラスト&解説本的なものを頒布していたりした。


というのを当日はおろか、終了して一ヶ月近く経ってからブログに書いたりする残念感。
おもしろかったのでまたやりたい。
あとサークルブースまでお越しいただいた皆様ありがとうございました。

というかもう一ヶ月経っちゃったのか。そろそろ次のなにかをやって行きたい感。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2012年4月17日火曜日

LuxRender v1.0RC1がリリースされた模様。

いたLuxRenderですが久しぶりにv1.0として正式版のリリースが予定されているようです。

今回はそれに先駆けてv1.0RC版がリリースされた模様。
というわけで以下にリリースノートをざっくり訳してみました。


皆さん、ついにこの時がやってきました!LuxRenderの新しいRC版のリリースです。
LuxRenderがプロダクションレベルの制作に用いられるような品質に到達している、
いうことは頻繁に目にするようになった様々なアーティストによる使用事例から
明らかです。

今回のバージョンアップではその実績を強調するべく従来の0.xのナンバリングではなく
バージョンナンバーは1.0としました。まだ荒削りな部分はいくつか残っていますが、
今後数週間で可能な限り改善しベストなものにしたいと考えています。
よりよい正式版リリースのためにも皆さんからのフィードバックをお待ちしています。

今回配布のRC版にはSLG(Small Lux GPU)も含まれています。SLGは依然開発段階で
ありますがGPUによる驚くほど高速なレンダリングと十分な実用性を提供するものです。
今回のリリースは多くの皆さんの手によって可能となりました。そんなすべての皆様、
特にv0.8リリース以後に開発に参加してくれたメンバーに感謝の意を表したいと思います。


ダウンロードはこちらのページから可能です。
正式版リリースに向けてスプラッシュスクリーン募集のコンテストも予定されています。

以前のv0.8からの変更点は下記のとおりです。
(ご覧のように大量にあります。いくつか大幅に改善された機能もあります。今回の
"大幅な改善"は、まさに文字通りのものであり驚くべき量の作業の賜物です)

・さらに改善されたSPPM(Stochastic Progressive Photon Mapping)レンダリング
・より改善されたHybrid Pathレンダリング
・新しいHybrid Bidirectionalレンダリング
・ネットワークレンダリング時の各レンダノードへの自動再接続に関する改善
・レンダリングの速度とメモリ使用量の改善
・GUIの修正
・点光源およびスポットライトにも面光源と同様のpowerとefficacyの設定が可能に
・ノーマルマップに対応
・アニメーションレンダに関する改善
・論文に記載されているモデルにより忠実な実装になるようにcarpaintマテリアルを改善
・ボリュームオブジェクトの見た目を定義するためにcolordepthテクスチャを利用可能に
・新しく導入されたlayeredマテリアルにより、複数マテリアルを自由にレイヤーとして
 重ねることができるようになりました
・新しいglossycoatingマテリアルを適用するとどんなマテリアルにも光沢を与えることができます
・新しいfresnelパラメータではRGBカラーやミックス、グラディエーションなど様々な要素を設定できます
・metal2マテリアルは以前のmetalマテリアルよりもより柔軟な表現が可能になりました
・カラースペースに関しての修正
・linearトーンマッパーが改善され現実のライティングのしくみにより近い挙動になりました
・loop subdivisionが有効になっているオブジェクトの処理が改善されました
・Bidirectionalインテグレータの光源に関するオプションについて、direct samplingが新しくなりました
・イメージバッファの扱いがより早くなりました
・新たに導入されたSQBVHアクセラレータにより従来のQBVHに較べ、よりよい結果が
 得られます。 (SQBVHは開発中の機能になります)
・いくつかのDLL導入に伴いビルド方法が変更されました。実行ファイルサイズが小さくなりました
・その他たくさんのバグ修正と全面的な改善


・ソースコードの入手について
ソースコードが必要な方は下記のHGリポジトリからv10RC1のタグが付いたファイルをダウンロードしてください。

SLGを含むLuxRaysやエクスポータのソースはこちら
・Luxblend (古い2.4系向けのエクスポータ): http://src.luxrender.net/luxblend/file/c16130cea655
・LuxBlend25 (現行の2.6系向けエクスポータ): http://src.luxrender.net/luxblend25/file/8c20fa83f33f


以上ここまで。
ノーマルマップが使えるようになったのは非常に助かります。
マテリアルも従来からのもの、新規追加のもの、どちらも使い勝手がよくなっているようで
いろいろ試してみたいところです。他にもGPGPU関連や各インテグレータの改善などなど
満載という感じ。

v1.0正式版リリースのタイミングに向けてこちらに新機能の解説ページも準備されています。
今月末あたりにはblenderも2.63がリリースとなりそうな状況なので、こちらも楽しみです。


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年9月11日日曜日

camera_distortion.pyなるものが。

ある日ツイッターで目に止まったこちらのブログのポスト、
記事のタイトルを見てみると


という非常に期待せざるを得ない感じだったのでさっそく訳してみました。
いつものように抄訳かつ適当に意訳だったりメモがわりの補足も含んでいるので
正確な内容を知りたい方はオリジナルの記事を参照してください。

で、以下から訳。



今回の記事は不均等な透視投影によりメッシュを変形させるエフェクトを実装した
BlenderのPythonスクリプトのコンセプトプルーフに関してです。

いわゆるセルアニメではキャラクターがシーンに存在するカメラや視聴者の視点に
近づいた際に、現実にはありえないような極端な変形を伴った絵として描かれることが
あります。例えば、キャラクターが腕を前につきだした時などです。そのときの腕の
大きさは画面に向かって手が伸びてくるような印象を与え、迫力を出すため、写実的な
表現として適切なサイズよりも大きく誇張して描かれることがあります。

今回のスクリプトの目的はこのような誇張のための変形をblenderで実現することです。
このスクリプトの基本的な考え方はカメラとオブジェクトの頂点間の距離に対して、
カメラの焦点距離を変化させてしまうという方法です。

焦点距離はblenderのカメラがもつパラメータの一つです。これは透視投影の際に画像の
アスペクト比を定義するのに用いられています。カメラとオブジェクトの距離を変えずに
焦点距離だけを大きくしたとすると、レンダ結果の画像に写るオブジェクトのサイズは
大きくなります。

今回のスクリプトはシーンに存在するメッシュオブジェクトに対して不均一な透視投影
処理を行うことでオブジェクトを変形させています。この不均一な透視投影のための
変換行列はカメラとメッシュオブジェクトの頂点間の距離から焦点距離を算出する関数と
して定義されています。カメラからオブジェクトの頂点までの距離はそれぞれの頂点ごとに
異なるため、算出される焦点距離も各頂点ごとに異なったものになります。

わかりやすく説明するため、焦点距離が50mmと80mmという二種類の値になったとします。
シーンの遠いエリアを焦点距離50mmのカメラで、その他の近いエリアを焦点距離80mmの
カメラでレンダリングして一枚の画像として出力すると、シーンは均一なパースにならず、
結果としてシーンに存在するオブジェクトは変形して描画されます。

実際にシーンをレンダリングする際には、先ほどの例のように焦点距離の値があまりに違い
すぎると焦点距離が切り替わる部分で出力される画像が滑らかにつながらず、ツギハギの
ような状態になってしまうことが予想されます。

そのためカメラと頂点間の距離から焦点距離を算出する際には下図のように滑らかで
連続した値が得られるように非線形補完を行っています。

[図1. カメラ-頂点間の距離と焦点距離の対応]

グラフの横軸はカメラと頂点間の距離、縦軸は焦点距離です。それぞれの最大値、最小値、
途中の区間で指定している値はデフォーマのパラメータとしてユーザーが定義できます。


以下の画像は不均等透視投影による変形の効果を示すサンプルです。
左端と右端の画像は同じオブジェクトを焦点距離50mmと80mmに設定したカメラで
それぞれレンダリングしたものです。
中央の画像は今回のスクリプトを適用して変形した状態のものです。モデル足元など
カメラから遠い部分は焦点距離50mmでのレンダリング、頭などのカメラに近い部分は
焦点距離80mmでのレンダリングに似た結果になっています。

[図2. 変形のサンプル(左から焦点距離50mm、変形を適用、焦点距離80mm)]

最後に上のサンプルで使用したスクリプトのリストを示します。

使用にあたっての制限事項としては

a. このスクリプトで変形を適用できるのはメッシュオブジェクトに対してのみ
b. シーンにあるメッシュオブジェクトそのものを変形します
 (オリジナルのバックアップのためのコピーなどは作りません)。
 また、オブジェクトを実際に変形させているためアニメーションのレンダリングには
 向きません。
c. ミラーモディファイアを使用している場合は事前に適用してモディファイアスタックから
 削除しておく必要があります。

また透視投影の仕組みを利用しているため、カメラはパースペクティブカメラでないと
適切な結果が得られません。



と、こんなところでしょうか。
まさに前回ふれたPencil+のパース変形モディファイヤ的なスクリプトのようです。
訳の最後にあるように制限がいくつかあるものの非常によさげです。
なんというか、ありがたいというか申し訳ないというか。
ありがたく頂戴しつつ作成中のモデルでテストしてみる感じで。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年8月22日月曜日

目玉つくった

今作ってるモデルの目玉は現状ボールにテクスチャ貼っただけ。
それだとちょっとつまらないのでトゥーン用モデル向けの目玉を作ってみたり。
bloggerのテストも兼ねて動画あげてみた。


これをベースにもうすこしいろいろ仕込んでいきたいところ。

あとは拍手お返事など。

>モデルも線画もシェーディングも良い感じですね。
>Twitterのほうを見ていて疑問に思ったのですが
>perspective geometry modifierとはどういったモディファイアでしょうか?
>透視変換行列を掛けるみたいな機能でしょうか。

ありがとうございますー。
Pencil+のパース変形モディファイヤ的なことができたらなー、とかなり適当に
つぶやいていました。詳細な仕組みや原理などはよく理解していません…。
すみません。

blenderでもラティスなどでモデルを変形させたり、コンポジットノードのレンズ歪み
等で似たような効果が出せないかと試してはいるもののなかなかうまくいかず、
freestyle統合版のシェーダー、もしくはモディファイヤとして実装されたら
それはとってもうれしいなって…という感じです。



というわけで、いろいろとうまいこととっかかりがつかめれば行けそうな気もする
けれどうまくいかず…そんな具合にしばらく試行錯誤してみる感じで。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年8月18日木曜日

仮想化ソリューションさん続き


体ができてしばらく放置気味だったけど、頭に着手。こんな感じ。



レンダリングはblenderのFreestyle統合版。
最近コードベースが2.59になってよさげ。

眉忘れてたので追加。大事なメガネも忘れちゃいけない。



眉毛とメガネって印象変わるなーと実感する結果にw
髪をそろそろ真面目に作り始めないと終わりが見えない予感。

次のイメージキャラクター的なものも出てきてしまったので
ペースを上げていきたいところ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年7月31日日曜日

今のところこんな感じ

前回作り始めたの、とりあえずこんな状態に。
レンダはいつもと同じFreestyle統合版blender(ver. 2.58.1)



というわけで作り始めた某M$の仮想化ソリューションさん(仮称)ですが
作業時間は1日平均30分ほど。で、ここまで2週間くらい。

今までだとこれくらいまで出来上がるのは3週目以降な感じなのでかなり早い予感。
従来は頭部から作り始めていたのを、今回あえて体からつくるようにしたのが
よかったのかも。顔から作るとどうしてもいろいろテストレンダしては、
あまり意味なく悩んで手が止まったりしてしまうので。

あとblenderのToonとFreestyleのコツがなんとなくつかめてきたのか、
イメージする結果に寄せていく際に迷走することが少しは減った気も。

昔、Lightwaveとunrealのサンプルとして見たようなセルシェーディングは
blenderじゃ無理だろなーと思っていたけれど、標準でToonシェーダがついて
Freestyle統合版なんて素敵なものができたおかげで今やかなりいい感じに。

上の画像の時点ではまだ標準のToonとFreestyleのエッジだけでノードとかは
使ってないので詳細作りこみつつ、その辺も手を加えていく感じで。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年7月20日水曜日

なんかまたつくりはじめた

こんな感じ。



ツイッターのTLに流れてきたのを見て突発的に作り始めちゃったけど
今月中に終わらせたいところ。
多分Freestyle向けなのは相変わらずだけど、テストも兼ねてノードで
いろいろやってみたい感じで。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年5月18日水曜日

CUDA対応cyclesなblenderのビルドとちょっとしたベンチ

いろいろ迷いつつどうにかCUDAなCyclesをビルドできるようになったのでメモ。
ついでにCPUとGPUを比較するためのちょっとしたベンチも。


・使用したOSとハードウェア構成

OS:Ubuntu10.04LTS 64bit
CPU:PhenomII X6 1055T
チップセット:785G
GPU:Quadro600

GPUはCUDA対応のものを。ここ2・3年のnvidiaのGPUであれば多分大丈夫。
以下は手元のUbuntuなPCで行った手順を記載していますが、おそらくOSXや、
WindowsのCygwinやMinGWでも同様の流れでできるかと。試してませんが・・。



・CUDA環境の準備

まずはCUDA対応のGPUドライバとSDK、ツールキット等の開発環境の準備。
nvidiaのホームページからダウンロードしてインストール。
ドライバはv270系、SDK・ツールキットはv4.0を選択。

今回使用したのは下記のバージョン。
ドライバ:270.40
SDKとツールキット:ver4.0.13

以上のものがインストールできたら、自分のGPUが対応するCUDAのシェーダーモデルの
バージョンを調べておくとあとで少しばかり楽ができる。
CUDA SDKのサンプルに含まれているdeviceQueryやdeviceQueryDrvを実行して
確認してもOK。



・ビルドの手順

事前にインストールしておくライブラリやビルドの手順はblender.orgの公式Wikiを参考にしていけば
基本的にOK。ただし、Ubuntu10.04ではデフォルトでインストールされるboostのバージョンが
1.40と古いためエラーが出てビルドが通らず・・・それに気づくまでかなり嵌りました。

というわけでより新しいバージョンをソースからビルドしてもいいのですが、ppaでboost1.42が
提供されているのでそれを利用させていただく感じで。

$ sudo add-apt-repository ppa:lucid-bleed/ppa
$ sudo apt-get update


としてaptリポジトリに追加したら、aptitudeでいつものようにインストールすればOK。

あとはOpenImageIOとcyclesなblenderのソースをそれぞれダウンロードしてビルド。
この辺は先ほどの公式wikiに記載のとおり。

CUDA対応でビルドする場合のcmakeのオプションは手元の環境だとこんな感じ。

$ cmake ../blender
-DCMAKE_BUILD_TYPE=Release
-DCYCLES_OIIO=../oiio/dist/linux64
-DCMAKE_EXE_LINKER_FLAGS=-lGLEW
-DCMAKE_EXE_LINKER_FLAGS_RELEASE=-lGLEW
-DWITH_CYCLES_CUDA=ON
-DCUDA_INCLUDES=/usr/local/cuda/include
-DCUDA_LIBRARIES=/usr/local/cuda/lib64


CPUなどのスペックによってはcubinのビルドに時間がかかるので、始めに調べておいた
自分のGPUが対応しているシェーダーモデルのバージョンだけビルドしてもOK。

でcmakeが終わったら、あとはmake、make installすれば完成。



・実行

無事にビルドがエラー無く済んだら
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../oiio/dist/linux64/lib
という感じにライブラリのパスを設定して
$ ./bin/blender
で起動。

いつものblenderが起動したらレンダラを"Blender Render"から"Cycles"に変更して、
プロパティウィンドウの"Render"タブに以下のようなレンダリングデバイスを選択する項目が
表示されているか確認




上の図のようにCPUとGPUが選べるようになっていればCUDAに対応したCyclesが
正しくビルドされてblenderから利用できる状態になっている。

ちなみに何か問題があってうまく行ってないと下の図のような感じ。




ここまで無事に完了したら先程のライブラリパスの設定を
~/.bashrcに書いたり、起動用のシェルスクリプトを作成しておくとよさげ。



・CPUとGPUでベンチ

で、せっかくビルドが完成したのでGPUでのレンダがどれだけ早いかちょっとテスト。
下図のデフォルトのシーンをパス256、解像度1280x720に設定してCPUとGPUでレンダ



その結果、およそCPUで2分だったものがGPUで1分30秒という具合に。
解像度やシーンを替えてレンダしてみましたが、やはり平均で25%ほどGPUの方が早い感じです。

ところで、今回使用したGPUのQuadro600のGPUコアはGF108相当。
GeforceでいえばGT430相当のローエンドなスペックです。
それでもドライバの最適化等によりOpenGLアプリでディスプレイデバイスとしての
利用であればGeforceのハイエンドモデル以上(Nvidiaの発表によればGTX580以上)の
フレームレートが出るというのが面白いところ。

しかし、CUDAやOpenCLなどGPGPU用途での演算能力としてはコアが持っているシェーダー数と
動作クロックに準じたものとなり、コアが同等なGeforceローエンド相当の性能しかでません。
ひとつ上のQuadro2000でもコアはGF106相当なのでミドルレンジのGeforce GTS450程度です。

そんなGPUでもこれだけの差が付くのであれば、安価に購入できるミドルレンジのGeforceを
GPGPU用に追加するというのもよさそうです。GTS450の2倍のシェーダーを備えるGTX560Tiでも
20k円なのでCyclesだけでなくLuxRender等でのレンダも考えるとコストパフォーマンスの点で
かなり魅力的です。


Cycles自体もまだ開発の初期なので、これから効率が改善されていく可能性も十分にあります。
また現状インテグレータはパストレーサーのみですが、それ以外のアルゴリズムを実装する
予定もあるそうなのでそれによってもレンダリングの高速化が期待できるかと思います。

ただ、Cyclesのプロジェクトの予定としては今後1〜2年の間に既存のblender内蔵レンダラを
置き換えられるものにするのが目標とのことなので、しばらく気長に追いかけてくのがよさそうです。



---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年5月17日火曜日

Face Bone Toolを使ってみた

前回製作中だったやつ一応完成。レンダリングはいつもどおりblender2.57系Freestyle統合版。



最初は男性素体つくろうかなっていうのと、モーション練習用になんかキャラクタデータ欲しいなと思い
作り始めたもの。ただ作ってくうちにのっぺらぼうはつまらないので顔つくって、せっかくだから髪も・・
という具合になっていってこんな感じに。

今までは口を作るのが苦手でテクスチャで済ませていたけれど今回とりあえずモデリングできた。
時間もこれくらいなら以前に比べるとそれほどかけずにできるようになってきたのもよさげ。


で、せっかくなので顔の表情をつけてみたくなったのでFace Bone Toolを試してみたり。
2.56で動作するらしいけど、2.57ではどうだろう?と思いつつ試してみたらたまにエラーが出たりする。
けれどめげずにしばらくいじってたらこんな感じにボーンとウェイトのセットアップが自動で完了してた。



とりあえずちょっと表情をいじってみた。



おもしろい。これがボタン数回押すだけでセットアップ完了するなんてありがたすぎます。
ちゃんと位置やサイズの調整をすれば適切な場所にボーンが追加できそうなので調べていく感じで。


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年5月12日木曜日

4月に作ったものとか5月に作る(予定の)ものなど

最近作ってたくろいこはぎりぎり4月中に完成してこんな感じ。



CG-SNSに投稿したのは眼鏡とゴルフクラブ装備のほむら(弱)バージョンだけど
改めて見るとこっちもなかなか。どちらも捨てがたい。


GW中はblenderが2.57に移行したのに伴いFreestyle統合版も2.57系になったので、
まとめサイトのチュートリアルの方もそちらに準拠するかたちで更新。
Python Scripting Modeについての簡単な解説も追加。


で、そのあとに作り始めたのは今こんな感じ。



パキっとしたいかにもトゥーンシェーダーってのはまだ作ってなかった気がするので
そんな感じで。あと男キャラの素体も作ったことなかったのでそんな感じで。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年4月18日月曜日

LuxRender v0.8RC3がリリースされた模様。

フォーラムでv08RC3のリリースノートがでてました。めでたい。

v0.8RC2からの変更点は・・・

・GPU支援によるパストレーサー関連のバグフィックス多数
・カメラレスポンスがプリセットに内蔵されました。別途CRFファイルを用意する必要はもうありません。
・IPv6ベースのネットワークをサポート
・マイクロディスプレイスメントの処理速度が向上しました
・IESファイルを使用したエリアライトに関するの問題を修正しました
・ファイル名の扱いに関する処理を改善しました。(パスの区切り文字、\と/に関する問題です。)
・STL形式のメッシュデータの読み込みに対応しました。
・GUIに"advanced"タブを追加。レンダラの設定に関する詳細な情報はこのタブに表示されます。
・blender互換、およびPBRTテクスチャを使用する場合、マッピング座標としてローカル座標、
 UV座標、ノーマル座標を利用出来るようになりました。
・エリアライトのテクスチャにimagemapもしくはbilerpを指定していた場合に光の強度が
 おかしくなっていた問題を修正しました。
・GUIにレンダリングの停止ボタンが追加されました。
 これによりレンダリングを一時停止することも、完全な停止もできるようになりました。
・LuxRenderのネイティブ形式のファイルにデータの埋め込みができるようになりました。
・EXR出力を選択した際にRGBに対してアルファチャンネルの乗算を行わない状態での出力も
 選択できるようになりました。(アルファチャンネルの乗算が行われる動作が一般的です。)
・トーンマッピングとポストエフェクトの設定をファイルへセーブ/ロードできるようになりました。
・多数の修正と改善を行いました。

といった感じ。
公式wikiにもv0.8の新機能についてのまとめがあるので、そちらも参考にするとよさげ。


予定としてはv0.8のRCは今回で最後となるようです。順調に行けば次がfinalということでしょう。
また、先日blender2.57がリリースされたことに合わせて、luxblend25の動作の安定化をblender2.57を
対象としてすすめていくそうです。

RC3がリリースされたばかりで次の話をするのは気が早過ぎるかもしれませんが、v0.8finalの
スプラッシュスクリーンのコンテストが現在行われており、その締切りが5月12日になっています。
おそらくv0.8finalは5月中旬あたりにリリースされるのではないか?という感じです。

しばらくはblender2.57とLuxRender v0.8の組み合わせが安定かつ標準的な環境になりそうです。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年3月28日月曜日

バランス調整中

前回の続き。くろいこ今のところこんな感じ。



頭身のバランスはそれっぽくなってきた感が。
細かいところの作り込みはまだまだなので横からみると今いち。



前回の赤い子よりもポリゴン多め、できるだけモデリングでつくり込むことを目標につづく感じで。


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年3月21日月曜日

つぎを作り始めたり。

とりあえず今こんな感じ。



前回のあかいこを作ったおかげで少しは作業が早くなった感が。
今回も放置してモチベーション下がらないようにすすめたいところ。


あとは拍手お返事とか。

>CGにアップされているほう、エッジがきれいに出てますね。グッジョブです。
CGの画像はFreestyle統合版を使ってエッジを描画しています。
ポリゴン投稿を考えていたものの、エッジをだすための反転ポリゴンはデータの方に準備して
なかったので・・・。データもポリゴン数が少なくあまりエッジを出すのに向いてないかなーと
思っていたので、Freestyleのおかげでどうにかなった感じです。


>詳細な紹介記事ありがとうございます。
プロジェクトの公式ブログで開発進捗に合わせた有益な情報が公開されており、こちらこそとても
助かっています。今回もオプションが追加された事はUIを見て気づきましたが、オプションの意味や
内容の理解、プロジェクトの状況などを知ることができてよかったです。


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年3月19日土曜日

Freestyle統合版のレンダリング高速化について

Freestyle統合版が更新されて、ビューマップの構築に関して大規模な改善がおこなわれ
レンダリングが大幅に高速になった模様。

公式ブログにこれに関する記事があったので冒頭をざっくり訳してみました。

以下から。


ビューマップの構築はFreestyleのレンダリングプロセスで最も時間がかかる工程です。
実例として規模が大きなシーンになると考えられないほど処理が遅くなってしまいます。
開発の人手やリソースが十分ではないため、全てのToDoの項目が完了し、頓挫していた
トランクへのマージが完了した後で、この問題の解決にとりかかろうとしていました。

しかし昨年12月に我々Freestyle統合に関わる開発者たちのもとにAlexander Beels氏に
よって大規模なコードが提供されました。彼が提供してくれたのは、まさに先ほど述べた
ビューマップ構築の最適化を実現したコードでした。彼はビューマップ構築のプロセスに
おけるパフォーマンスのボトルネックを特定し、内部のデータ処理を注意深く再設計して
最適化を施していました。

12月の最初のバージョンを足がかりに、プロジェクト開発チームと協力してAlexander氏に
よるパッチに対してコードレビューとテストがくり返し行われました。彼は複数の異なる
最適化の方法の模索と実装に多大な貢献をしてくれました。3ヶ月の間ひたすらテストと実装を
行い、それは非常に効率のよいビューマップ構築のコードとして結果が実ることになりました。

このコードはFreestyle統合版ブランチのリビジョン35525として採用されています。
以下にいくつかテストシーンでのレンダ結果を載せていますが、この最適化コードにより
驚くべきパフォーマンスの改善が行われていることがおわかりいただけるかと思います。

Alexander氏のすばらしい成果にこころからの感謝を!


ここまで。

という感じ。
元記事には上記の概要に続いて技術的な面からの解説やオプションの説明、テスト結果などが
記載されています。ここでは実際に使用する上で知っておくとよさそうな内容を中心にメモ。


今回のパフォーマンスの向上はFreestyleによるレンダリング処理の中でビューマップ構築に
関する部分に対して行われた最適化による結果。具体的には、ビューマップ構築のなかでも
『シルエットエッジの検出』と『エッジの視認性の計算』の部分で改善が行われたとのこと。

で、これらの改善、特に『エッジの視認性の計算』のアルゴリズムに関わるオプションとして、
Freestyleの設定に"Raycasting Algorith"というオプションが新しく追加されました。



このオプションでエッジの視認性計算に関わるアルゴリズムを以下の7つから選択可能に。

・Normal Ray Casting
・Fast Ray Casting
・Very Fast Ray Casting
・Culled Traditional Visibility Detection
・Unculled Traditional Visibility Detection
・Culled Cumulative Visibility Detection
・Unculled Cumulative Visibility Detection

最初の3つはオリジナル(おそらく統合以前のスタンドアロン版)のFreestyleで利用可能だった
ものと同様のアルゴリズムとのこと。"Normal …"がデフォルト、"Fast …"と"Very Fast …"は
正確さと引き換えにエッジの視認性の計算においてより高速な処理を実現するものです。

それ以下の4つが今回の最適化で導入された新しいオプション。
おすすめは"culled cumulative …"か"unculled cumulative …"で、将来的にはこの2つが
メインのオプションとして残る予定らしい。

じゃあ、"… Traditional …"って何なのか?とか、"Culled …"と"Unculled …"の違いは?と
気になったので調べてみたら以下のような感じ。


・"Traditional"と"Cumulative"の違い

今回エッジの視認性計算のアルゴリズムに関して手が加えられたことで、改善されエッジの
視認性に関してより安定した値を算出するようになった新しいオプションが"Cumulative"。
ただし、当然これは従来のものとは別のアルゴリズムなので、同様のシーンをレンダしても
従来と結果が異なる可能性がある。そのため最適化を行いつつ従来のアルゴリズムと同様の
結果がでるようにエミュレーションしたものが"Traditional"。


・"Culled"と"Unculled"の違い

culledとunculledの違いはカメラに写る領域に対してcullingを行うか否か、という点。
culledはカメラの視角外の領域(つまりレンダリングする必要のないエリア)を処理に含めずに
エッジの視認性の計算を行う。これにより処理速度は向上するけれど、除外されたエリアとの
関連性によってはレンダ結果においてエッジの連続性に影響がでる可能性があるとのこと。
unculledはシーンに存在するデータすべてを対象としてエッジの視認性の計算を行うもの。
なので、直接はカメラに映らないけどエッジの連続性に影響を与えるようなオブジェクトが
シーンに存在する場合などにはこちらの方がよさげ。


以上のTraditionalとCumulative、CulledとUnculledの組み合わせで新しいオプションは4通り。
で、ざっと見た感じCumulativeの方が良さそうで、場合によりCulledとUnculledを使い分ける
感じかなーとなるので、おすすめは先ほどの2つということらしい。


最後に、従来と比較してどれくらい高速なのかという部分。

いままで単純なシーン、オブジェクトだとFreestyleによるエッジ描画の有無であまり違いは
無いけれど、シーンが複雑になるにつれ急激にエッジ描画の部分に時間がかかってくる感が
ありました。

今回の最適化の結果としてその辺が改善されたのか、複雑で規模の大きなシーンほど従来と
比較して、処理時間の削減率が高いという数字がでているようです。シーンが大きく複雑に
なるに従って、今までの十分の一、百分の一という感じ。

詳しくは元記事の下の方に記載されている表を参照のこと。



---------------------------------------------------------------

コメントなどありましたらこちらへ->web拍手

2011年3月15日火曜日

赤いひと完成。

前回のFreestyle統合版blenderでつくり始めたのが完成。

赤い子こんな感じ。









レンダしたのはCGに投稿してみた。

ほんとはポリゴン投稿にしようかと思ったけど、ちらつきがなくせなかったので
プリレンダで投稿。初めてだったので対策とかよくわからなかった・・・。
データの仕様とかももう少し調べてから始めればよかったかも。
そのうち別の作ったらリベンジしたい感じ。

とはいうものの、ポリゴン投稿でぐりぐりして見れるようにテクスチャベイクしたり
データ整理とかして準備したので、せっかくだからこちらに上げてみたり。
DLパスは taiyaki です。今週いっぱいくらい置いとく予定。


今回は一ヶ月かからなかったので今後もこれくらいのペースで作っていきたいところ。
佐倉杏子の次は美樹さやかを作るべきだろか・・

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年2月25日金曜日

Freestyle統合版でつくり始めた

ふと気づいたらこんなの作っていたり。



契約とかしませんから・・・。したのスザンヌまで邪悪な存在に見えてしまう罠。

思いつきで作ったとはいえ、これだけだと残念な感じが否めず。
せっかくだからついでに誰かつくろうと思ったものの、誰を作るか悩んだ末に
まずは赤い人からつくり始めてみた。

今のところこんな感じ。


細かいとこは後でもう少しつくり込む予定だけどフリルめんどくさそう。
これまでのに比べてそれなりに作業は早くなっているような。
とはいってもこの後放置してしまう可能性も無くはないので
まぁそんな感じで。


あと拍手のお返事など。


>Lux8、出たんですねー Render の Engine を hybrid
>Integrator を path ・AdvancedをONにして
>DirectLightをoneにしたらGPUレンダリングできましたー
>しかしbender2.4には入れられたけど2.5系は相変わらずまだっぽいですかね?
>いまいち2.4、2.5系でレンダリングが変わったっぽいのが分かり辛いです

開発版のluxやslgではかなり前からレンダリングのGPU支援は利用できていたので
目新しさはあまり無いのですが、v0.8finalに向けた今回のRCにOpenCL対応が
取り込まれたというのはバグフィックスなどの点で非常に意義あることだと思います。

RC2に向けて2.5系への対応も含めて他にもいろいろ動きがあるようで楽しみです。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年2月5日土曜日

Freestyleのチュートリアル書いたり。

ここでたびたびblenderのFreestyle統合版についての記事を書いてたけど
インストールからレンダリングまでの一連の流れを説明したチュートリアル
っぽいものはまだやってなかったはず。

なのでサイトの方にblender2.5系のFreestyle統合版のチュートリアルを
書いてみた。

Freestyle -> チュートリアル

あとustreamのアカウントとってみた。
日付が変わるころに作業配信をしてたりするかも。よろしければどうぞ。

tmn_blndr on USTREAM

そんな感じ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2011年1月31日月曜日

blenderクラッシュしても泣かない

前回の続きをやっていたらblenderが落ちたので気分転換にこんなの作って
しばらく遊んでいた今日この頃。



こっちはこっちでもう少し体を作りこんだらスカルプトの練習用に使いたい感じ。

あと、blenderが落ちても慌てず騒がず、『泣く前にFile→Recover Auto Save...
すればかなりの確率で復旧できるっぽいのがわかったのでよさげ。

そんなことやってるうちに気づけばblender勉強会だったりしたり。
気になっていたRigifyの使い方やPython&addon、Unity関連などなど
興味深く、ためになる内容。

勉強会後に参加した懇親会ではツイッターでフォローさせていただいている
方の数名とお会いすることができたりと、非常に有意義な一日でした。
楽しかったー。


勉強会の様子はUstreamで配信された映像が録画されアーカイブとして
視聴
することができるようになっています。
また当日使用された資料やファイル等も主催である日本ブレンダーユーザーグループ
勉強会用教材リンクからダウンロードすることが可能です。

当日参加できなかった方、勉強会のことを今知った方などはそれらを参照して
みてはいかがでしょうか?


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手