2010年12月31日金曜日

やっと完成

前回からちょこちょこ調整や追加してやっと完成。



思った以上にリボンとか小物に時間を取られたのと、作り始めに色のあたりを
付けていたけれどマテリアルをいじっているうちにかなりずれていたようで
だいぶ違ってしまっていたので色見を調整したりで手間取られたり。

骨はまだ入れられていないけど2.56での変更がアニメーション関連で影響が
あるかもという話もあるようなのである意味2.56でやると考えれば丁度いい
タイミングなのかも。

骨はまだとはいえとりあえずぐるぐる回してみた。こんな感じ。



気づけばもう大晦日ですが、こんな具合に来年も続いていく感じで。

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

2010年12月12日日曜日

どうにかこうにか

すこしずつ進めてたモデリングがここまでたどり着いたー



というか始めたの夏かorz
こればっかりやってたわけじゃないとはいえもう少し計画的にすすめるべきw
今週末のうちに骨入れに行きたいところ。


あとは拍手お返事など

>はじめまして(^ ^)/
>私、Blenderを使い始めて1年ちょっと。時々お邪魔させてもらってました。
>とっても勉強になります!これからもお願いします。

どもです。
毎回適当な内容なので勉強になると言われると非常に申し訳ない感じがw
相変わらずぼちぼち続けていく予定なので今後もどうぞごひいきに。

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

2010年12月9日木曜日

freestyle統合版でグループごとのスタイル設定が可能に

freestyle統合版の公式ブログを見ていたら最新の更新で指定したグループ毎に
エッジのスタイル設定が可能になったようので試してみました。

以前オブジェクトごとに異なるスタイル設定を行うためのスタイルモジュールを
作成して同じようなことをやったばかりですが、今回の更新で実装された機能は
スタイルモジュールを作成する必要もなく、パラメータエディットモードで設定
するだけでOKなので非常に楽ちんです。

下の図のように"Selection by Group"にチェックを入れて"Group:"の部分に
対象とするblenderのオブジェクトのグループを指定するだけ。



この図の場合は"Inclusive"が有効になっているので、GrpAのグループに属する
オブジェクトが選択したスタイルでエッジが描画されるようになります。
"Exclusive"を有効にすればGrpAに属するオブジェクトだけ指定したスタイルの
描画対象から外されます。

実際に適当なシーンで使ってみるとこんな感じに使えます。



オブジェクトをコピーして、左と右をそれぞれA、Bのグループに割り当て。
ラインセットを二組作成して、ラインセット1はグループA、ラインセット2はグループBを
適用対象に。ラインセット1は固定線幅、ラインセット2は線の入り抜きと色を変更、
という感じ。顔の目・鼻のパーツはエッジが描画されないようにグループの指定を
していません。

前回の方法で上記と同様の結果を得ようとすると、スタイルモジュールを3つ作成する
必要があったのでとても便利になりました。開発者のみなさんに感謝。


あとは拍手お返事など

>Mitubaレンダラリリースノートの翻訳ありがとうございます

blender本体に比べて外部レンダラやツールの情報はまだまだ少ないのでお役に立てれば
幸い。Mitsubaも開発スピードが早そうなので今後もチェックしていきたいところです。


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

2010年11月27日土曜日

blender2.5のマニュピレータのショートカットキー編集

blenderの3D Viewでオブジェクトをマウスで操作するためのマニュピレータというものが
あります。これによりマウスだけで移動、回転、サイズ変更の3種類の操作が出来ます。
また、マニュピレータそのものの表示・非表示の切り替えも可能です。
下図の赤枠の左から表示切り替え、移動、回転、サイズ変更のボタンです。



で、これをいちいちボタンで切り替えるのが面倒なのでショートカットキーを設定します。
マニュピレータ表示・非表示の切り替えにはCtrl+Spaceがデフォルトで割り当てられていますが
OSXではスポットライト検索と重なっているため使えません。
というわけで、この表示の切り替えのショートカットも変更してこんな感じにしてみます。

・表示切替 : ESC+1
・移動 : ESC+2
・回転 : ESC+3
・サイズ変更 : ESC+4

キーボードの左上部分をUIのボタンの順に割り当てるイメージです。
実際の設定はメニューの"User Preference"->"Input"で行います。

まずは表示切替から。表示されるカテゴリから"3D View"->"3D View(Global)"で
"space_data.show_manipulator"を設定している部分を下記のように変更します。




次は移動、回転、サイズ変更の設定です。この3つはデフォルトではショートカットキーは
割り当てられていないため新規に項目を作成する必要があります。先ほどと同じカテゴリの
一番下にある"Add New"をクリックして項目を3つ作成して、以下のように編集します。



以上の設定が完了したら正しく動作するか3D Viewでテストして、問題なければCtrl+uなどで
デフォルト設定として保存しておくとよいでしょう。


参考ページは以下
・Blender Newbies
  Blender 2.5 Tip: How to Setup Keymaps to Change Transform Manipulator Modes


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

2010年11月24日水曜日

Mitsubaレンダラ 0.2.0がリリースされる

タイトルのとおりMitsubaの新バージョンがリリースされていました。
以前アナウンスがあったKD-Tree周りの改善だけでなくblender2.5向けの
プラグインが早速追加されるなど、いろいろ興味深いものになっています。

とりあえずリリースノートを訳してみました。



前バージョンよりだいぶ間があきましたがMitsubaの新バージョンをリリース
しました。リリースが遅れたのはレンダラについて非常に多くのアーキテクチャ
変更を行ったためです。それらの変更は実際にみなさんがMitsubaを利用する際に
目に見えるものではありません。
しかし、レンダリングの高速化というかたちで体感していただけると思います。

アーキテクチャ変更以外の今回の変更内容は以下のとおりです。


・COLLADAインポータの安定性の改善。
  大抵のシーンを正しく読み込めるようになりました。従来はインポータ読み込まれた
  シーンは何百ものメッシュデータファイルに分割されていましたが、今回から単一の
  圧縮ファイルへ変換するようになりました。

・blender2.5への統合のための試験的なプラグインの追加
  プラグインにはマテリアルデザイナの機能も含まれています。このプラグインは
  現在リリースされているblender2.55には含まれていない機能を利用しています。
  そのためプラグインの利用にはsvnの開発版を自分でビルドする必要があります。
  また今回のプラグイン作成にあたりDoug Hammond氏が開発したEFパッケージ
  から多くの恩恵をうけています。この場を借りて感謝を申し上げます。

・Jonas Pilo氏提供のテストシーンをマテリアルデザイナーのプレビュー時の
  サンプルオブジェクトとして利用させていただきました。
  どんな感じになっているかはこちらの動画で見ることができます。

・KDツリーを利用した高速化とツリー構築のためのコードを全面的に書き換え。
  この新しいコードではよりよいツリー構造を生成します。これにより処理時間は
  古いバージョンと比較して数分の一にまで改善されています。さらに処理可能な
  ポリゴン数も増え30M triangles以上のポリゴンが扱えるようになりました。
  旧バージョンでこのような多くのポリゴンを含んだシーンをレンダリングしようと
  した場合利用可能なメモリをあっというまに使い果たしてしまうケースがありました。
  (こちらの元記事で詳細を説明しています。)

・インスタンスのサポートが追加されました
・シェイプの限定的なアニメーション(剛体のみ)が可能になりました

・Edgar氏の献身的な貢献によりIntel C++コンパイラでMitsubaをコンパイルする
  ためのパッチが提供されました。こちらの公式ダウンロードページで配布している
  windows向けMistubaは32bit/64bitどちらもIntel C++コンパイラでビルドして
  います。Visual Studioでのバイナリより高速な処理が可能となっています。

・シーン記述に用いられるXMLの書式がよりわかりやすいものになりました。
  特にオブジェクトとプロパティを好きな順序で記述することが可能になりました。

・UVマッピングに関して調整のためのパラメータ(offset、scale)が追加されました

・Luminaire importance samplingがより柔軟な設定が可能になりました。
  旧バージョンでは光源のサンプリングをその光の強さに応じて行っていましたが、
  不適切な結果になるケースがありました。今回のリリースではサンプリングの
  重み付けをマニュアルで指定することができるようになりました。

・ヘアーのレンダリングに一部対応。
  今回のバージョンでは自己交差形状のレンダリングが可能になっただけで、髪の毛
  特有の散乱モデルはまだ実装されていません。一部対応というのはそのためです。

・PLYファイルの読み込みが可能になりました。
  Ares Lagae氏の貢献によりlibplyを利用して実現されました。

・レンダラから頂点カラーを参照することが可能になりました。
  散乱モデルの色情報の前に"texture"を記述することで利用可能です。

・irradianceキャッシュを使用した際のレンダサーバの競合によるロックを修正。
  旧バージョンでマルチコアのマシンでレンダした際のパフォーマンス低下の原因と
  なっていました。

・ファイルをロードした際に表示されるダイアログにコンソールがつきました。
  詳細な処理の状況が表示されるので重いシーンをロードする場合に便利です。

・内蔵の環境マップの照度についてimportanceサンプリングがサポートされました。
  旧バージョンではuniformサンプリングのみ利用可能でした。

・多くのマテリアルとテクスチャがGLSLで実装されました。
  これによりインタラクティブプレビューでの表示が可能になりました。

・プレビュー表示の高速化。
  ジオメトリの評価をGPUでの処理に最適化したため、わずかですがプレビューが
  早く表示されるようになりました。


以上に加えて多くのバグフィックスが行われました。
ドキュメントについては不完全な部分がありますが今後整備をすすめていく予定です。



とざっくりこんな感じ。

今回追加されたblender2.5向けのプラグインで利用しているEFパッケージというのは
luxblend25でおなじみのexporter frameworkのことなので、すでにLuxRenderを
blender2.5系で利用している方は問題なくmitsubaのプラグインも利用出来るのでは
ないかと思います。

そのへんも含めてこれから試してみる感じで。

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

blenderのアドオン、プラグインが増えている模様。

blender2.5系で関連する仕様やAPIが整備されるに従い、様々なアドオンが
リリースされています。また機能追加もblender本体のバイナリファイルでなく、
Pythonスクリプトで実装され標準アドオンとして新機能が追加されるという
パターンも多く見受けられます。

で、現在標準アドオンだけでもどれくらいあるのか気になったので調べてみると 
公式wikiに2.53時点の標準アドオンのまとめページを発見。数えるとその数28個。
これに加えて現在最新の2.55で追加された物もありますし、開発版で追加される物も
日々増えています。

さらにblender2.5系でLuxRenderを使用するためのluxblend25などのように
標準では同梱されていなアドオンやプラグインも多数存在しています。
アドオンやプラグインの情報のみを専門的にまとめたサイトが欲しいところですが
なかったので個人的なメモついでにブログを作ってみました。

こちら-> blenderのアドオンやらプラグインなど

すべてのアドオン情報を網羅する、というのはさすがに無理なのであくまでも
自分の目についたもの、気になった物を中心に記載していければ・・という感じで。
実際の使い方などを解説するのではなくちょっとしたブックマークがわりのもの
として更新していく予定です。

こちらのブログは今まで通り、自分がやったことの覚書や短めのチュートリアル、
各種解説などの内容で更新を続けていきますので今後ともご贔屓に。

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

2010年11月17日水曜日

オブジェクトごとのスタイルモジュールの割り当て

FreeStyleを使っていて不便だと思っていたのが指定したスタイルモジュールがシーンに
存在する全てのオブジェクトに適用されてしまうところ。blender標準のエッジも同様の
仕様なんだから仕方が無いというか、そういうものなんだろうと思っていました。

が、よく調べたらFreeStyleの公式ブログの進捗情報にヒントを発見

詳細は上記ブログを見てもらうとして、ポイントはビューマップに存在するエッジがどの
オブジェクトのものなのか?が参照できるようにになっていたという点。上記ポストには
これを利用してシーンに存在するオブジェクトの名前を指定して、そのオブジェクトの
ビューエッジを取得するObjectNamesUP1Dクラスがサンプルとして掲載されています。

こんな感じ。

class ObjectNamesUP1D(UnaryPredicate1D):
    def __init__(self, names):
        UnaryPredicate1D.__init__(self)
        self._names = names
    def getName(self):
        return "ObjectNamesUP1D"
    def __call__(self, viewEdge):
        return viewEdge.viewShape().getName() in self._names

これを利用して

upred = AndUP1D(QuantitativeInvisibilityUP1D(0),
                ObjectNamesUP1D(["Cube"]))
Operators.select(upred)

とするとカメラから見えて、かつCubeという名前のオブジェクトに含まれる、という
条件に当てはまるエッジが取得できるという仕組み。

早速これを利用したスタイルモジュールを作成して実際にレンダリングしてみました。
まずはこんなシーンを作る。



これを各オブジェクトに異なるスタイルモジュールを指定してレンダするとこんな感じ。



やったことは

最初にシーン全体に対して汎用な設定のモジュールでエッジを描画。
次にシーンのSuzanneには左上から順にm01からm12までの異なる名前をつけてあるので
  上段(m01〜m04):それぞれ色を変更したスタイルモジュールで上書き
  中段(m05〜m08):それぞれエッジ検出とタッチを変更したスタイルモジュールで上書き
  下段(m09〜m12):最初に指定した汎用設定の描画のまま上書き無し
という感じ。

ファイル構成としては最初はシーンで使うスタイルモジュールを1個にまとめられないかと
いろいろ試していました。が、スタイルモジュール中で一度作成したビューエッジのを
解放、もしくは上書きしてビューエッジを再作成する、というのがうまく出来ず・・・。
結局シーンで使用するスタイルの数だけスタイルモジュールを作成しています。

というわけで、上記シーンの下段4つは個別のスタイルを割り当てていないので使用した
スタイルモジュールの数は、m01〜m08用にそれぞれ設定を変えた8個+全体描画用の
汎用設定1個の合計9個を使用しています。

ついでに上記シーンのファイルをこちらにアップしてみたり。

個別設定のスタイルモジュールsmod_m01.pyからsmod_m08.pyの8個、全体設定用の
スタイルモジュールのsmod_main.py、シーンの.blendファイルが含まれています。
freestyle関連は設定済みなので、ファイルを開いてレンダすればスタイルモジュールを
適用した状態でレンダされるはずです。

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

2010年11月12日金曜日

osxとnvidiaな環境でLuxRenderをビルドしたり。

前回からのつづき。ようやくLuxRenderのビルドもできるようになりました。

いろいろてこずったんでメモ。
luxraysがすんなりいったのでluxも楽勝だと思ったらそうでもなかった。

参考にしたのはLuxRender公式wikiとフォーラムのこのあたり。
[Tutorial] Build on Mac OS X with Xcode
OSX-renewing buildprocess -out-of-the-box-compile-
LuxRays - Building on Mac OS X
手順は、必要なライブラリやツールを準備、ソースのダウンロード、ビルド設定
ファイルの編集、Xcodeのプロジェクトファイル出力、Xcodeでビルド、という感じ。
詳細は以下に。


1. ライブラリやツールの準備

必要なパッケージの明細は上記リンク先で確認するとして、ここでは嵌った点のみメモ。

ひとつはcmake。
portで導入するとバージョン2.8がインストールされるけど、いろいろ調べるとcmakeは
バージョン2.6が推奨らしい。またフォーラム等ではgui版を利用した手順の方が比較的
多く目についた感じ。

というわけでcmakeはこちらからGUI版のcmake2.6.4のdmgパッケージをダウンドード
して インストールするのがおすすめ。既にportで2.8をインストールしていてもport版は
 /opt/local/bin、dmg版は/usr/binにインストールされるので併存させても問題無さげ。
ちなみに一応2.8でも試してみたけどうまくいかなかった。cmakeのバージョン以外に
問題があった可能性は否定できないけど推奨環境にしておくのに越した事はない。

もう一つはQt。
こちらもportでインストールしたものだとOSX SDKのフレームワークのインストール先に
Qt関連のフレームワークセットが作成されず、Xcodeでビルドする際に面倒なことに。
なのでQtもdmgで配布されてるインストーラ付きパッケージを利用するほうがよさげ。
こちらからQt SDK for Mac(LGPL版)をダウンロードしてインストールすればOK。

最後にLuxRenderの最新の開発版をビルドする場合にはLuxRaysライブラリが必要に
なるので、そちらを先にビルドしておく。その辺は以前すませているのでここでは省略。


2. ソースのダウンロード

mercurialを使ってcloneする。
$ hg clone http://src.luxrender.net/lux
$ hg clone http://src.luxrender.net/luxrays
$ hg clone http://src.luxrender.net/macos
src.luxrender.netからclone出来ない場合はbitbucket.org/luxrenderを試すと良さげ。


3. ビルド設定ファイルの編集

cmakeの設定ファイルであるCMakeLists.txtを自分の環境に合わせて編集。
途中いろいろいじったけど、結果的にはOpenCL関連の修正だけでよかったみたい。
85行目あたりにあるOPENCL_INCLUDE_DIRSとOPENCL_LIBRARYの部分を前回の
LuxRaysの時と同様に修正しておく。


4. Xcodeのプロジェクトファイル出力

最初にインストールしたcmakeのGUI版を起動する。
"Browse Source"のボタンをクリックしてcloneしてきたluxのフォルダを指定。
"Browse Build"のボタンをクリックしてこちらも同じフォルダを指定。
次に下にある"Configure"ボタンをクリックすると出力ファイルの形式を尋ねられるので
ファイル形式は"Xcode"、オプションは"Specify options for cross-compiling"を指定。



で、"Continue"をクリックして次に行くとプロジェクト詳細設定のダイアログが表示される
ので下図のように設定。OSやSDKのバージョン、CPU種別は各自の環境に合わせ要変更。



で、"Done"をクリックすると最初のウィンドウに戻って設定が始まる。プログレスバーが
進んで完了してもリストのアイテムがいくつか赤いままに残っている場合は、"Configure"
ボタンをクリック。再度設定が行われると赤いのが消えるはず。設定が問題なく済めば
"Generate"ボタンが有効になるので、それをクリックしてXcodeのプロジェクトファイルを
出力させる。luxのソースフォルダにlux.xcodeprojというファイルが作成されていればOK。


5. Xcodeでビルド

まずは先ほど出力したプロジェクトファイルをXcodeでひらく。
メニューの"プロジェクト"→"プロジェクト設定の編集"でビルド対象のアーキテクチャや
最適化オプションを自分の環境に合わせて指定。あとはメニューの"ビルド"→"ビルド"して
完了するのを待つ。問題なく完了すればソースフォルダのRelease以下にLuxRenderを
はじめとするビルドされたファイルがあるので起動してみる。



こんな感じのウインドウが表示されればOK。

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

2010年11月8日月曜日

nVidia GPU環境でのslgとLuxRenderビルド

さらに続いてはSmallLuxGPU(というかLuxRays)とLuxRender。

Ubuntuのデスクトップでslgをビルドするための環境を構築したときの経験をもとに
今度はnVidiaのサポートからOpenCL SDK的なものをダウンロードしてくるんだろうなーと
探してみる。

が、OpenCL SDKのダウンロードリンクらしきものが発見できず。

とりあえずOSX用のCUDA Driver、CUDA Toolkit、CUDA SDK入手してインストールすると
/Developer/GPU Computingのフォルダが作成され、OpenCL関連のファイルも含まれている模様。

が、いろいろ試してみてもうまくビルドが成功しない・・。

再度グーグル先生に聞いたらLuxRenderの公式wikiにosxでのビルドについて詳しく書いてあった。

気になってたOpenCL SDKについても説明されていて、Khronos Groupが提供しているcl.hppを
利用してビルドすればOKとのことらしい。ただし、自分の環境ではwiki通りにやっても1カ所
うまくいかないところがあった。cmakeするともらってきたcl.hppが見つからないため正しく
インクルードされず、ビルドエラーがいくつか発生する。

なのでinclude/luxrays/luxrays.hの34行目
#include <OpenCL/cl.hpp>
#include <cl.hpp>に変更すると今度はエラーなし。

であとはいつものようにmakeしてビルドが完了するのを待つだけ。無事にビルドできたら

$ ./bin/slg

としてデモモードで起動してみる。ちゃんと起動すればいつものウインドウが表示される。



こんな感じ。LuxRenderはまさに今ビルドしているところなのでとりあえずここまで。

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

MacPorts導入とblenderビルド

というわけでまずはMacPorts導入から。

MacPorts自体の入手先とかも含めていろいろ忘れてたのでまずはここを読んで復習。
MacWiki-MacPorts

MacPortsをインストールしたらblenderをビルドするために必要なものを確認。
Building Blender 2.5 for Mac

portで明示的にインストールしたのは下記のもの。
実際は依存関係解消に必要な他のパッケージも自動的に追加されてるけど面倒なので省略。

mercurial
cmake
boost
freeimage
qt4-mac @4.7.0 (aqua)
glew
doxygen

boostは+python26とかオプションをつけておかないとboost_pythonが無いって
いろんなところから怒られる。

あとよく考えたら+universalをつけておいたほうが良かったのかもしれない。
で、ビルド時に基本-m64なり-march=core2とかして、だめなら-m32で妥協する作戦の方が
良さげな予感も一瞬したけど気にしない。

ここまでできたらblenderがビルドできるか先にテスト。
まずはソースもらってくる。
$ svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/blender
$ svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/darwin-9.x.universal

で、ここをみるとffmpegがシステムにインストールされている必要があるとのことなので
あらかじめインストールしておく。ついでにsconsもいれておく。

$ sudo port install ffmpeg
$ sudo port install scons

無事にblenderはビルドできたので次はSmallLuxGPUとLuxRender。

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

新Air購入を検討していたと思ったらMBP13インチを買っていた

・・何を言ってるのかわから(ry

というわけで、新マシン投入に伴う作業環境の移行・再構築関連でいろいろメモ。
基本的にメインはノートで作業。本番の重いレンダリングはデスクトップという体制に。


Ubuntuなデスクトップを自作して以降、ほぼそちらがblender専用マシンとなっていたわけです。
が、アニメーションやLuxRender、SmallLuxGPUなどで長時間レンダリングをすることが増えて
レンダとそれ以外の作業用でマシンを分けたいなーと感じることが多くなったり。

また、これまでMacBookで動作を少しでも軽くするため表示モードの切り替えやレイヤー分けを
駆使しつつモデリングしていましたが、デスクトップのGLSLでテクスチャ表示したまま作業できる
環境を体験しまうと不便さは否めない感じ。さらに今のMacBookは初Macとしてここ4年以上に渡り
メイン環境としてよくがんばってくれましたが、さすがにあちこちガタが出始めている感もあり
・・・といった状況。

というわけで、今年に入ってからずーっと検討していたMacBookの買い替えを実行。
初めは新Airを考えていましたが、そこまで可搬性は必要ないのとユーザーによるストレージ、
メモリ増設の可否、有線LANの有無を考慮して最終的に後継はMacBook Pro 13インチに決定。

MBPは旧MBと同様チップセット内蔵GPUとはいえ性能の差は歴然。テクスチャ表示しながらでも
さくさくです。ついでにCPUも64bit対応になったのでビルド環境も含めてまっさらな状況から
構築しなおしてみました。

長いのでわけました。
MacPorts導入とblenderビルド
nVidia GPU環境でのslgとLuxRenderビルド

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

2010年10月28日木曜日

blender2.55とLuxRenderとかSLG

いつものように手元のsvn版を更新して起動してみると何かがおかしい。
何か雰囲気が・・と思ったらスプラッシュスクリーンが変わって2.55.0の文字が!



一応自前ビルドした2.55.0(r32749M)で確認したところluxblend25、render_smallluxgpu
どちらも使えたので、今までどおりLuxRenderやSmallLuxGPUでのレンダも大丈夫かと。
めでたい。

ひとつ前の2.54のときもsvnのスプラッシュが変更されてから、公式に配布が開始されるまで
それほど時間はかかっていなかったはずなので今週末辺りには配布がはじまるのでは・・。

また2.54での話ですが、2.4と2.5系のデータ互換性に関してモデリングとボーン入れまではOK、
一部コンストレインが非互換というのを最近教えてもらったので、2.4をLuxRenderの動作確認
とモデリングデータ変換用のバックアップ、2.5をメイン環境でしばらく併用していきたい感じ。


最後に拍手お返事とか。


>私の環境ではluxBlendを使ってもまったくテクスチャが
>反映されないんですが、どうすればいいんでしょうか・・?


・・・luxblendってことはblender2.49bですよね・・・。


『まったくテクスチャが反映されない』という状況はちょっと記憶に無いですね。
テクスチャの『位置が反映されない』ならばマッピング関連の設定かと思うのですが・・・。
お役に立てずすみません。

どんな状況でもここではなく、より多くの人が集まるほかのCG関連の掲示板やフォーラムで
質問する方がよいと思います。同じ問題を経験して既に解決済みの方もいるかもしれませんし。

LuxRenderの公式フォーラムにもユーザーサポートのカテゴリーがあるので、そちらを利用しても
よいかと思います。設定や使用法の問題でなくバグである可能性まで考慮すると、一度は公式な
情報を確認しておいた方がいいかもしれません。

フォーラムの閲覧はアカウントが無くても可能ですが、アカウントを作成して質問を書き込んで
しまうのが一番早いと思います。アカウント作成はメールアドレスだけあればいいので簡単です。

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

luxとSLGのテクスチャとエミッタを調べてみた

blenderでテクスチャを貼ったデータをSmallLuxGPUやLuxRenderでレンダしてみたら
テクスチャが正しく表示されないことがあるのでいろいろテストしてみたり。

テストの結果からすると
・SLGではオブジェクトのエミッタがオンの場合テクスチャが無視されて表示されない
・SLG、lux共にテクスチャにアルファ付きのpngを使用すると透過情報が正しく反映されない
という状況っぽい。


やったテストはこんな感じ。
まずはテクスチャ用の画像を作成してアルファ付きのpngファイルとして保存。



でblender2.54でテクスチャを貼ったオブジェクトを作成して、テクスチャのuse alphaとemitの
ON/OFFを切り替えてレンダするとこうなる。



左からemit:OFF,alpha:OFF/emit:OFF,alpha:ON/emit:ON,alpha:OFF/emit:ON,alpha:ON。
blenderでレンダした場合はこんな感じにほぼ意図したとおりの結果に。


次に上記のシーンをrender_smallluxgpuを使用してSmallLuxGPUでレンダしたのが下の画像。
emitとalphの組み合わせはblenderのレンダ結果と同じ順。



最初の2つのemitを設定していない場合を見ると、alphaの状態にかかわらずpngの透過情報が反映されている。さらにテクスチャで無くオブジェクト自体がアルファ抜きされて肉が抜けている。
後ろ2つのemit有効の場合ではどちらもテクスチャが表示されていない。

という状況なのでSLGでテクスチャに使う画像は透過情報を持たないフォーマットの方が混乱が
少なくてよさそう。ただエミッタ設定とテクスチャが併用できないのはどうしようもないかなぁ・・・。


最後にLuxRenderでレンダするとこんな感じ。エクスポータはluxblend25、luxはv0.7.1開発版。
luxではテクスチャのもつアルファ情報の使用を切り替えるオプションがないので
アルファ無し、有り2種類のテクスチャ作成してレンダ。なので順番としては、左から
emit:OFF,alpha:無/emit:OFF,alpha:有/emit:ON,alpha:無/emit:ON,alpha:有。



テクスチャにアルファ有りのpngを使用した時の結果がおかしいのはSLGと同様。
ただしluxの場合はエミッタを設定していてもテクスチャは表示される模様。
面の周囲の黒い縁取りが表示されてないのはuv座標のオフセットがずれたのかも。
おそらくエクスポート時の設定で調整できるはず。


というわけで、普通に使うならおとなしくLuxRenderを使用するのが良さげ。
SmallLuxGPUは開発者向けのテスト兼デモプログラムという扱いなのであまり突っ込んでも
意味がないので、OpenCL対応という点では次のLuxRender v0.8に期待したいところ。

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

2010年10月27日水曜日

オブジェクトを作ってはSmallLuxGPUでレンダする日々

SLGの使い勝手がなんとなくわかって楽しくなってきたので
適当にそれっぽいオブジェクトを作るとレンダして遊んでしまうw



ボーン入れて調整終わったら動かしたいなー

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

2010年10月21日木曜日

sphinx-buildのやり方が変わっていたっぽい

Freestyle統合版の開発進捗にあわせてbpyとFreestyleのモジュールのリファレンスを
たまに更新しているんですが、久しぶりに試したらやり方が少し変わっていたようなのでメモ。

まずはソースコードからblenderをビルドする。
ビルドしたら出来上がった、blenderのバイナリをソースツリーのルートにコピー。

で、そこで

$ ./blender --background --python ./doc/python_api/sphinx_doc_gen.py
$ sphinx-build -b latex ./doc/python_api/sphinx-in ./doc/python_api/sphinx-out-pdf
$ cd ./doc/python_api/sphinx-out-pdf/
$ make

で、完成。いつものごとくこちらにもアップしてみたり。

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

2010年10月19日火曜日

slgでアニメーションレンダリングの続き

昨日の続きで設定詰めつつもうちょっと長い動画をSmallLuxGPUでレンダしてみた。
Radeon 5750とPhenom II X4 910eでレンダ時間は1フレームあたり2分ほど。




ガラスの透明感が素敵。

レンダ時間も今回の感じだともうちょい短くできそう。
各種設定や最適なスレッド数とかの条件出しをさらに進めていきたい感じ。

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

2010年10月18日月曜日

LuxRender v0.7.1がリリースされた模様

というわけでLuxRender v0.7.1がリリースされました。めでたい。
名前のとおりv0.7系のメンテナンスリリースという扱いですが、新しくvelvetマテリアルが
追加されていたり、点光源にIESファイルを指定した際の挙動が改善されたり、良さげです。

とりあえずリリースノートを適当にかるく訳してみたり。


やあ、みんな!

v0.7リリースの時にも話していたけど、みんなのリクエストに答えて修正版をリリースしたよ。
頑張っていい感じのリリースになったと思う。ただ、v0.7.1もv0.7と同様に特定の条件を備えた
シーンでファイアフライノイズが出てしまうことがあるようだ。今回のリリースではこの問題を修正
できなかったけど、次のv0.8を見た感じではこの問題は発生していないみたいだ。
v0.8の開発はまだ続くけど、この件に関しては注意深くチェックしていくよ!
また、もし今回のリリースに他のバグがあったらさらにv0.7系のメンテナンスリリースを行う予定。

また今回blender2.5向けのエクスポータは同梱されていないことに注意して欲しい。
blender2.5自体が開発中で仕様が安定していない。そのため、もしエクスポータを同梱しても
おそらく数日でblender側の仕様が変更されてしまい使い物にならなくなってしまうだろう。
なのでblender2.5向けのエクスポータはフォーラムのLuxBlendのカテゴリをチェックして
最新版をその都度ダウンロードして試してみてほしい。

最後にMacOSユーザーのみんなに良いニュース!
Qtのバグ修正のおかげでダイアログが表示されているときにレンダリングが一時停止してしまう
問題が解決されたんだ。

今回のリリースに無事にたどり着いたことは皆さんに感謝したい。
そして順調にいけば次のアナウンスはv0.8についてのものになるはずです!

今回のリリースのダウンロードは以下のリンクから。
準備が出来次第ダウンロードページの方もv0.7.1にリンク変更しておくよ!


とこんな感じ。
各OS向けのリンク貼るの面倒なので公式ページに行ってください。
すでに公式のダウンロードページの方もv0.7.1になっているようです。

今回のリリースに関してv0.7からの変更は以下のとおり

・新しいアイコンセット(patro氏提供)
・メッシュオブジェクトのアクセラレータをGridからQBVHに変更
・FLM形式で保存する際のデフォルトの拡張子を変更
・flmファイルをネットワーク経由でレンダノードに送信する前にローカルのHDDへ
  強制的に書き出すためのオプションをluxconsoleに追加
・ポイントライトに関する多くのバグフィックス。IESデータを利用した際の動作が大幅に改善。
・スポットライトに関するバグフィックス
・フォトンマップの改善
・GUIでのOpenGLの利用を廃止。(--noopenglオプションを指定する必要がなくなりました。)
・velvetマテリアルの追加
・mattranslucentマテリアルにenergy conservationを有効にするためのオプションを追加
・glossyマテリアルにベルベットに似た質感を出すためのオプションを追加
・ボリュームグリッドのクラッシュすることがあったのを修正
・loopsubdivのUV補間に関してのバグを修正


新しいvelvetマテリアルは以前開発版で試してみましたが、応用が効きいろいろ使えそうです。
残念ながら今回luxblend25は同梱されていませんが、確かにblender2.5とLuxRenderの
開発状況を考えると仕方なさげ。luxblend25の導入に関してはこちらのまとめサイトに記載して
いますので興味のある方はご参考までに。
 
LuxRenderの0.7系に関しては今後もv0.7系ベースのメンテナンスリリースを行う可能性に
ついて言及していることを考えると、OpenCL対応を中心に大きなコード変更があると思われる
v0.8と合わせてv0.7系もしばらく併存させる予定なのかもしれません。
blenderが2.4系が安定版として利用されるのと平行して2.5系が開発版として存在しているのと
同じような感じで。

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

slgでアニメーションをレンダリングする

slgで止め絵一枚のレンダリングはいいけどアニメーションのレンダリングの仕方や設定が
よく分からなかったのでちょっと調べてみたり。

参考にしたのは公式wikiのこちらのページ

で、いろいろ試してとりあえずレンダ出来るようになったっぽい。
SmallLuxGPUの設定はこんな感じ。



blenderのoutputの設定はこんな感じ。



出力ファイル形式をmpeg等に指定しておけば直接動画を出力させることも可能な模様。
で、カメラ動かしただけの適当な動画をテストでレンダリングしてみたり。

いまいちまだ分からないというか、ちゃんと設定どおりの動作をしているのか微妙な感じが
否めないけどSLG自体が絶賛開発中なのでその辺の不安定さはしかたがないところ。
とりあえずアニメーションのレンダリングもできる、ということが分かったので少しずつ
パラメータを詰めたりしていく感じで。

あと拍手お返事。
>IESデータ探していたので助かりました!
>なかなかこんなに丁寧に案内してくれるサイトさんもないので、感謝ですw 

以前のこのへんの記事でしょうか?
LuxRenderだけでなくyafarayでもIESファイルが使えるようになったとか、今後なる?とか
らしいので、IESのライブラリを準備しておくと便利でよさげですよね。

LuxRenderではIESファイルを元にしたライトの設定だけでなく、外部の様々な形式の
数値ファイルを読み込んでマテリアルとして利用することもできたりします。
詳しく知りたい方はsopraとかnkとかで検索してみてください。

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

2010年10月16日土曜日

luxblendでお手軽ディスプレースメントマッピング

luxblendにはblenderで作成したマテリアルをLuxRenderのマテリアルに変換する
機能があります。

が、v0.5など以前の古いバージョンに付属のluxblendでは変換がうまく行われず、変換後の
マテリアルの質感やテクスチャのマッピングが残念な感じになってしまうことがたびたびありました。
そのため変換を使わずluxblendのマテリアルエディタでゼロからマテリアルを作成することが
多かったのですが久しぶりに変換機能を使ってみたらかなり良さげに改善されている模様。


というわけでテストついでにディスプレースメントマッピングを題材に手順をまとめてみました。


まずはblenderでデータ作成。UV Sphereを追加してSubSurfモディファイヤを適用。
さらにマテリアルのDisplaceにプロシージャルテクスチャのCloudsを設定。
で、blenderでレンダするとこんな感じ。




luxblendの"Convert all Blender materials"を実行するとこんな感じにLuxRenderの
マテリアルに変換される。




で、とりあえずこれをluxでレンダするとこんな感じ。



テクスチャは貼られているけどdisplacementには適用されていない。
ただ、テクスチャのマッピングは問題ないのでこれをそのままluxblendのdispmapの
テクスチャにコピーすればOK。



"Displacement Map"を有効にして上図のように設定。といってもコピー&ペーストしただけ。
でこの状態でluxで再びレンダするとこんな感じ。



今度はちゃんとDisplacementが適用されてでこぼこに。
変位の状態をよりblenderのマテリアルに近づけたければ、sublevelsの分割レベルやdispmapの適用量、Offsetの値を調整するとよさげ。


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

2010年10月9日土曜日

slgでレンダリングしてみる

作成中のシーンをSLGでレンダしてみたり。



blender2.49bとLuxRenderで作り始めちゃったけどSLGの方がレンダは早いなぁ。
機能や表現できる内容に差があるのでフェアな比較にはならないけど3~4倍くらい早い感じ。
パラメータの設定内容や効き具合、レンダの収束状況みたいなところがまだつかめてないので
その辺が分かってくればもう少し早く済むかも。

今はblenderは2.4系と2.5系、レンダラもLuxRenderとSLGで色々組み合わせが悩ましい。
このシーンも思ってたより重くなりそうなんでblender2.5+SLGに切り替えた方がいいかなぁ・・・


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

2010年9月28日火曜日

結局0.7.1も出る模様。

LuxRenderのリポジトリのログを見ていたら、Splash for 0.7.1なんて一文が。
やっぱり0.8前に0.7.1がでるのかな。

さっそくソースコード更新してビルド、と思ったらなぜかビルドに失敗。
boostは1.43が要求されるようになってた。
しかたがないのでboost1.43を準備していろいろやってみるけどうまくいかない。

Ubuntu10.04は標準ではboost1.40なので以前のバージョンのLuxRenderを
ビルドするときにもちょっと苦労した記憶があったので調べてみたら、自分で
手順をこんな感じにまとめてたorz。

まとめの1.42を1.43に読み替えて作業したら無事にビルド完了。めでたし。
Luxraysもboost1.43になったようなので参考までに。


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

2010年9月23日木曜日

blender2.54とFreeStyleのリファレンス更新

久しぶりにbpyとFreeStyleのスタイルモジュールのリファレンスを更新。
といっても例のごとくsphinxに吐いてもらっただけですが。
気づけば2.54になってから初めて更新したかも。

というわけで、PDFをこちらにアップ。

早くbpyの仕様がフィックスするといいなぁ。

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

2010年9月21日火曜日

mitsuba-rendererを試してみた

LuxRenderのフォーラムで少し話題になっていたMitsuba-rendererを試してみました。
開発者のブログを見るとおそらく今年の8月ごろから開発が始まった新しいプロジェクトの
ようですが今後が非常に楽しみなものになっています。


公式サイトを見てみるとphysically based rendererとあるのでLuxRenderやindigoのような
物理モデルに基づくレンダラのようです。

ざっと目についた特徴をあげていくと

・オープンソース(GPL ver.3)
・マルチプラットフォーム対応
   下記OS向けにはバイナリも用意されています。
    OSX Leopard & Snow Leopard
    Ubuntu Lucid Lynx
    Windows Vista&7
・ネットワークレンダ対応
・OpenGLによる高速・高品位なプレビュー
   LightWaveのGafferとかG2みたいな感じ。
・豊富なインテグレータとサンプラー
   Stochastic Progressive Photon Mapperも使えるそうな
・objおよびCOLLADA形式のファイルが読み込み可能
   前回のblender2.5のCOLLADAサポートに関する記事はこのためだったりしますw

上記のバイナリ版を利用してもいいのですが、開発がスタートしたばかりのようなので頻繁に
更新がありそうです。というわけでせっかくのオープンソースなので自前でビルドしてみました。

手順はこんな感じ。

1.ソースコードの入手

 mercurialが使える環境なら
$ hg clone https://www.mitsuba-renderer.org/hg/mitsuba/
で完了。そうでないなら上記URLをブラウザで開いてダウンロード。


2.ビルドの準備

sconsでビルドできるので用意されたテンプレートを元に設定ファイルを準備すればOK。
といっても
$ cd mitsuba
$ cp config/config-linux.py ./config.py
これで大概の場合は問題ないはず。いろいろ最適化したい場合はconfig.pyを編集のこと。

手元のUbuntu 10.04ではsconsの依存チェックでlibxxf86vm-devやlibxerces-c-dev、
リンク時にlibglewmx-devが無いといわれてエラーになったのでそれらがインストールされて
いない場合は事前にパッケージを追加しておきます。

さらにCOLLADA形式のインポートを有効にするには事前に必要なパッケージをインストール
しておく必要があるのでそれも追加しておきます。

 $ dpkg --install tools/linux/collada-dom2.2_2.2-1_amd64.deb tools/linux/
collada-dom-dev_2.2-1_amd64.deb

手元の環境では上記2つのパッケージのインストール時にlibcrecpp0が無いとエラーになり
正常にインストールできないので、それも追加してます。


3.ビルドと実行

$ scons
すればビルドが始まり、問題なければソースファイルのルートにCUI版のmitsuba、GUI版の
mtsguiとその他いろいろが出来上がってるはずです。

で実行に必要なパスや環境変数の設定のためソースファイルに同梱されている設定スクリプトの
setpath.shを実行しておきます。

が、試したところソースツリーの構造とスクリプトの内容に食い違いがあるようで起動できません。
仕方がないので下の3つのファイルをmitsubaやmtsguiと同じ場所にコピーしておきます。

  src/libcore/libmitsuba-core.so
  src/libhw/libmitsuba-hw.so
  src/librender/libmitsuba-render.so

ここまでくれば起動するはずです。
ちなみにGUI版のmtsguiを起動するとこんな感じ。



で、COLLADA形式でエクスポートしたblenderのシーンを読み込ませてレンダするとこんな感じ。



レンダが早いわりにノイズが少ないというのはとてもポイントが高いです。
ただし、マテリアルの詳細を設定するにはテキストエディタでシーンファイルを編集する必要が
あったり、blenderでテクスチャ貼っても反映されなかったりと開発途上という雰囲気はあります。
blenderと利用可能な外部レンダラの選択肢が増えるだけでも、ありがたく思いなさいよねっ!!
という感じでしょうか。

開発が始まってやっと1ヶ月くらい(のはず)で、このレベルなので今後も注目していきたいところ。

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

2010年9月16日木曜日

blender2.54でCOLLADAサポートの有効化

COLLADAのサポートを有効にしたビルドを作ろうとしてもいつもエラーになるので
ずっと諦めていたんですが、よく調べたらuser-config.pyで
WITH_BF_COLLADA=True
にするだけじゃダメで、自分でOpenCOLLADAというライブラリをインストールしておく
必要があったらしいorz。

OpenCOLLADAのプロジェクトページはhttp://code.google.com/p/opencollada

で、ソースは
$ svn checkout http://opencollada.googlecode.com/svn/trunk/ opencollada-svn
で入手可能。

ビルドの途中でrubyを使用するみたいなので、あらかじめrubyが入ってるか確認しておくとよさげ。
あとuser-config.pyよく見たらpcreも必要そうだったのでlibpcre3-devのパッケージも追加。
で、ビルドはソースコードのルートディレクトリでsconsにお任せ。
$ cd opencollada-svn
$ scons XMLPARSER=expatnative
一通りビルドが終わるとinstalled-opencolladaというディレクトリの中にCOLLADA関連の
ライブラリが出来上がる。ビルドが成功していても上記のフォルダに移動されていないものが
あったのでその辺は適宜探して、全部まとめて/usr/local/libにコピーしておく。

あとはuser-config.pyを編集するだけ。
160行目くらいにある項目を下記のようにそれぞれ変更していく
WITH_BF_COLLADA=True
BF_COLLADA = '/home/username/src/opencollada-svn'
BF_OPENCOLLADA = '/usr/local/'
BF_OPENCOLLADA_INC = '/home/username/src/opencollada-svn'
/home/username/src/opencollada-svnとか/usr/local/は各自の環境に合わせて設定。

でここまでできたらあとは
$ scons
でいつも通りビルド。

入手したopencolladaのバージョンによってはライブラリのファイルの名称とuser-config.pyに
記載されている名称が若干異なっていて、ビルド中に見つからなかったというエラーが出るかも
しれませんが、その辺はuser-config.pyを修正するなり、リンクを作成するなりして対応。
正しくビルドが完了すれば、メニューのExportにCOLLADA(.dae)という項目が現れるはずです。



アドオンではないのでいちいち有効にする必要もなし。

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

2010年9月12日日曜日

あっという間にver.0.8βの予感。

LuxRenderの開発版の変更履歴をながめていたら
CMakeLists.txtに記載のバージョンを0.8に変更
とか
0.8(dev)向けにスプラッシュスクリーンを変更
といったログを発見。

これはver.0.8の予感・・・。

よく見るとバージョンは0.8(dev)となっているので、いつもの様にβ1が公開されて
β3くらいまで進んでver.0.8finalという感じでしょうか・・。
ver.0.7xがあるとか無いとかいう話があったような・・と思いつつ調べてみると
開発版ブランチをうまく分けるためにバージョンを変更
という記述があったので調べてみるとdefaultブランチが0.8系、v07xブランチが0.7xと
いうようになっている様子。

GPGPUというかOpenCL対応などの変更を積極的に取り入れていくのはver. 0.8系、
従来路線のままの安定版はver.0.7xという風になるんだろか。
ちょうど今のblenderが開発版が2.5系、従来の安定版が2.49bなのと同じ感じで・・。

こんな感じの状況から予想してみると、とりあえずv0.8に関しては今月中か、遅くとも
来月頭あたりにはβ1がリリース、その後3~4週間ごとにβ版が更新され、順調に行けば
年末あたりにはv0.8finalに到達という感じでしょうか。

となると冬休みにはビデオカードを買い換えてv0.8finalでGPUフル回転でレンダして、
あちこちに素敵な画像をアップする人が続出する予感、というか期待。
ググると以前に比べてLuxRenderを使い始めた人やブログで取り上げる人が何となく
増えてきた感があるので、いろいろと今後が楽しみです。


で、v0.8でのOpenCL対応と同じくらい気になるのがblender2.5系への対応。

最近のluxblend25開発版ではGPUレンダリングに関するこんなオプションが選べるように
なったかと思いきや、また削除されたりという感じなので夢が広がりすぎてたまりません。

以前こちらにまとめたように現在のluxblend25開発版をblender2.5の開発版とあわせて
利用することでそこそこレンダリングができたりしますが、ここ最近の開発状況を見ていると
LuxRenderのv0.8β1に合わせてluxblend25β1的なものもリリースとか、何かアナウンスが
あったらいいなーと期待していたり。

なにはともあれblenderもそうですがLuxRenderもちょっと離れていると開発の進捗状況や
機能の追加に追いつけず、知らないことがあっという間に増えてしまうのが恐ろしくもあり、
うれしくもあり・・・。開発者の皆さんにはホントに感謝です。

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

2010年9月8日水曜日

Freestyleも本気を出していいころ

気づけばFreestyle統合版blender2.5もエッジ設定のGUIが機能するようになっていたり。

これまではエッジ描画のスタイルをいじろうとするとスタイルモジュールをエディタなどで
編集する必要がありました。スタイルモジュールの中身はPythonのソースコードなので
わかる人には自由度が高くていいけど、わからん人にはちょっとばかりハードルが高い
という状況でした。
今回それらを設定するためのGUIが実装されたので、Python?という人でもいろいろ
いじれるようになるわけでとても良さげな感じです。

またスタイルモジュールを書ける人でも条件出しや試行錯誤がやりやすくなりそうです。
シーンのビューマップに存在する稜線から、Freestyleによる描画対象にする要素をGUIで
条件を設定して選択することができるのが特に便利そう。
設定の内容は下のGUIを見れば何となく想像がつくかと思います。



ただEdge Typesのチェックボックスにずらっとならんだ稜線の種別は一度実際にレンダ
しないと感覚がわかりづらそうだったので一通り試してみました。
というわけでこんな感じのシーンを作成。



右端の立方体は各面を4分割してマテリアルをタイル状に分けています。
で、とりあえずエッジ無しでレンダ



ここからはFreestyleによるエッジを設定してレンダ。
まずはSilhouetteから



次はBorder



つづいてCrease



Ridge



Valley



Suggestive Contour



Material Boundary



Contour



External Countour




と、こんな感じ。

以上の設定はFreestyleで描画をする稜線の選択に関してだけです。
選択した稜線をどのようなスタイルの線で描画するのかという設定は別にあります。
描線のスタイル設定に関しては公式ブログに詳しい説明があるのでそちらをどうぞ。


従来のblenderのエッジ描画機能は廃止される方向で検討されています。
今後エッジ描画はノードもしくはFreestyleを利用することになるはずなので、いままでは
使っていなかったという方も今回のGUI実装をきっかけに試してみてはいかがでしょうか?

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

blender2.5のアドオン使ってみた

blender2.5を使いはじめてかなり経ちますが、基本的に2.4系と同じ感覚のまま
使用していたのでこれまでアドオンの機能はほとんど有効にしていませんでした。

luxblend25の設定がひとまず落ち着いたので他のアドオンも試してみたのでメモ。
正直なところ早く使っておけばよかったという感じですorz。

いきなりアドオンを全部有効にしても分けがわからなくなりそうだったので、メニューの
User PreferencesのAdd-Onsの項目でなんとなく目についたMaterial Utilsと
Dynamic Spacebar Menuの二つを有効にしてみました。


まずはMaterial Utilsはこんな感じ。



3Dビュー内でQキーを押すとポップアップメニューが表示されマテリアルの割り当てや
削除、任意のマテリアルが設定されているオブジェクトの選択などができるようになります。

さらにこのアドオンはエディットモードに入っていても有効だったりします。



プロパティウインドウのマテリアルタブと3Dビューを行ったり来たりする必要がなくなるので
オブジェクトの面ごとにマテリアルを設定する作業などの効率がアップしそうです。


つぎはDynamic SpaceBar Menu。

2.5系の標準設定では3Dビューでスペースバーを押すと下図のように検索ウインドウが
表示されコマンドやショートカットなどを検索することが可能になっています。



これはこれで便利なのですが、2.4系で慣れていた機能ごとに分類されたコマンド一覧の
メニューを使いたいという人も多いかと思います。Dynamic SpaceBar Menuを有効にすると
2.4系のようなメニューが検索ウインドウの代わりに表示されるようになります。



こんな感じに見慣れた雰囲気のメニューが戻ってきます。

ちょっと調べてみると公式wikiに2.5系のアドオンに関してまとめたページがありました。
利用可能なアドオンについてさらに詳しく知りたい方はそちらを参考に。

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

2010年9月6日月曜日

luxblend25はぜんぜん落ち着いて無かったの巻

前回記事を書いたblender2.5系でLuxRenderを使用する方法ですが、タイミングの悪いことに
記事を書き終えた直後にいろいろとluxblend25とefに仕様変更があり、まとめに記載した
インストール方法が通用しなくなってしまいました。

こちらの環境もluxblend25とefを更新したらエクスポートできなくなったり、LuxRenderが
起動しなくなったりとかなり苦戦しました。いろいろと試行錯誤しつつ、正しく動作する
インストール方法にたどりつけたのでまとめの方も更新しました。
これもしばらくすると変更されてしまうかも知れませんが開発中なので仕方がないところです。


逆に仕様変更があったということは開発状況が進捗しているわけで、ここしばらくの間にも
LuxRender関連でいろいろ機能の追加があったようです。


大きなところではLuxRender本体へのLuxRaysの取り込みが始まったようです。

まだ積極的にGPUを使用するようにはなっていないようですが、この変更によってソースから
LuxRenderをビルドする際にLuxRaysとOpenCLのライブラリが要求されるようになりました。
従来と異なり、CMakeLists.txtに各自の環境に合わせOpenCL SDKのインストールパスを
自分で記述する必要があるので注意が必要です。

またLuxRaysライブラリもバイナリを入手するにはフォーラムへのアカウント登録をして
関連スレッドからダウンロードしてくるか、もしくは自分でビルドして準備する必要があるので
これから自前でLuxRenderのビルドに挑戦する場合はちょっとばかり手間がかかりそうです。


その他の機能追加としては、lux本体に新しくvelvetマテリアルが追加されました。



マテリアルの名前のとおりベルベットやスエード、ラシャのような感じ。
これからの季節だとサンタクロースのコスチュームとかに使えそう。
もしくは過ぎ行く夏を惜しむべくスク水のマテリアルのベースとかにも使えそうです。


拍手コメントのお返事とか

>まとめありがとうございます。
>これから2.5使ってみようと思ってるので、参考にさせていただきますね。

まとめの修正が間に合わなかったかも知れませんが気長に試してみてください。
一応今後も開発状況にあわせてまとめの方も更新していく予定ですので・・。
2.5系で本気出す人たちが増えるとともにLuxRenderユーザーも増えるといいなー

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

2010年9月1日水曜日

blender2.5でLuxRenderを使うためのチュートリアル

2.4系と比べればまだまだですが、blender2.5系も徐々に落ち着いてきた感のある今日この頃。

LuxRenderをblenderで利用するためのエクスポータの導入法や設定もなんとなく安定した
手順が見えてきたので、そのあたりをチュートリアルとしてまとめてみました。
基本的にはここで書いてきたものの総集編+αですが、スクリーンショットや参考画像を追加
したこともあり、ここの記事の時系列を追いかけて読むよりはわかりやすいものになったかと。
インストールと設定編
レンダリング編
その他解説編
という感じに3部構成になっています。

ちなみに以前書いた2.4系向けはチュートリアルの目次から辿れるようになってます。
2.4系でLuxRenderを使ってみたいというかたはそちらをどうぞ。

やっとこのチュートリアルが一段落したので普段のモデリングを再開したいところ。

ただ次期βが出る前にSmallLuxGPUも一回まとめを作っておきたい雰囲気…
SmallLuxGPUのチュートリアルでこんなのがあればなー、とか、ここがよくわからない的な
ところがあったらネタとして参考にさせていただきますので拍手コメントにお願いします。

自分もわからんところが多いので対応できるかどうかはわかりませんがw

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

2010年8月28日土曜日

光源波長の色見本まとめ

LuxRenderではライトのテクスチャにlampspectrumを指定すると、光源の波長を
プリセットから選択して設定することができます。

こんな感じにずらっとプリセットがあります。


様々な光源の波長が用意されているのですが、メニューの名前だけではいまいち
光の感じや色みが分からないのでサンプルのシーンをレンダしてまとめてみました。
画像が多くページも長くなったのでこちらに掲載しています。

上記リンクの方は自分のメモ代わりのちょっとしたコメントや解説を記載していますが、
とりあえずサンプルのレンダ画像が一覧で見たいという場合もありそうなので
レンダ画像のサムネイルを一覧にまとめたものも作ってみました。

光源の波長をlampspectrum、光の分布をIESファイルで設定すると、リアルかつ
バリエーションに富んだランプが簡単にセッティングできるようになるのでお勧めです。

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

2010年8月6日金曜日

blender2.53でLuxRender v0.7を使う方法

以前blender2.5系でLuxRenderを使用する方法について記事を書きましたが、それから
数ヶ月が過ぎblenderも2.53へとバージョンが上がりいろいろと変更がありました。
2.5系でLuxRenderを使用するためのエクスポータの導入に関しても変更があったので
新にblender2.53でLuxRenderを使う方法をまとめてみました。

今回使用したのはblender2.53開発版(rev.31082)とLuxRender v0.7final、エクスポータ
関連はluxblender25、ExporterFrameworkともに現時点で最新の開発版をダウンロード
して使用しました。OSはUbuntu10.04を使用していますが、他のOSでも手順はほぼ同様
のはずです。

というわけで実際の手順を説明していきます。

1. blender2.53を準備する

まずはblender2.53の入手です。
自前でビルドするなり、http://www.graphicall.org/builds/からダウンロードしてきます。
リビジョンはこちらで使用したrev.31082か、よりあたらしいビルドであれば問題ないかと。
もちろん既に条件をみたすビルドを使用しているのであれば、それを使用して構いません。

公式配布の2.53は使用していないので何ともいえませんが、もしかしたら大丈夫かも。


2. luxblend25のダウンロードとインストール

blenderからLuxRenderにシーンを書き出すためのエクスポータがluxblend25です。
http://src.luxrender.net/luxblend25からダウンロードしてきます。
ブラウザで上記URLを開くとページの上の方に"bz2 | zip | gz"と書かれているので都合の
いい圧縮形式を選択してダウンロードします。

ダウンロードしたファイルを展開した中にある./src/luxrenderのフォルダをまるごとblenderの
スクリプトファイルのインストール先にコピーします。スクリプトのインストールパスを変更して
いなければblender本体の実行ファイルがある場所の2.53/scripts/ioにコピーすればOKです。


3. ExporterFrameworkのダウンロードとインストール

luxblend25の動作には別途配布されているExporterFrameworkが必要です。
ExporterFrameworkはhttp://github.com/doughammond/exporterframeworkで配布されています。
同じくブラウザでページを開き、ページ右上の"Download Source"をクリックすると
圧縮形式をたずねるウインドウが表示されるのでzipかtar、都合のいい方を選びます。
ダウンロードしたファイルを展開すると中に2つのフォルダと1つのファイルが含まれています。
その中で必要になるのはefフォルダだけです。そのフォルダを先ほどのluxblend25と同様に2.53/scripts/ioにコピーすればOK。

このExporterFrameworkの配布元が前回の記事の時から変更になっており、以前の配布元のhttp://ef.beulahelectronics.co.uk/hg/efでは最終更新が2010年5月ですが、今回使用した
新たな配布元サイトでは2010年8月に更新されています。
旧配布元の古いファイルではblender 2.53(rev.31082)ではluxblend25が正しく動作しませんでした。
また公式ドキュメントを確認したところ、luxblend25の導入についてのページには旧配布元の
URLが記載されていたので注意が必要です。まぁそのうち更新されるとは思いますが…。


4. 確認とテスト

以上の作業の結果、スクリプトのインストール先のio以下にefとluxrenderの二つのフォルダが
コピーされていれば準備はOKです。blenderでの設定や使用方法については下記の記事で
紹介していますのでそちらを参考に。

blender2.5でもLuxRenderが利用可能に。
luxblend25でポータルを使う。が、その前にGUIが表示されず。



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

2010年8月2日月曜日

Ubuntu10.04でAMDのグラフィックドライバ更新してみた

ドライバのダウンロードはAMDのサポートページから。

Linuxでのドライバインストールについては上のページからもリンクされてるこちら
とても詳しい。Ubuntuの場合は各バージョンごとにインストールの説明がされており、
10.04はこちらのページにまとめられている。
十分な説明と具体的な作業やコマンドが記載されているのでとても助かる。
上記ページを見れば済むのでここでは詳細は書かないけれど
手順としては
  1.OS標準のドライバや不用になるパッケージの削除
  2.AMDのサポートページからダウンロードしたファイルからdepパッケージの作成
  3.depパッケージのインストールとxorg.confの初期化
  4.再起動
という具合で無事にドライバ更新完了。


ただ、更新後にOpenGLを利用するプログラムをビルドをすると-lGLがみつからないと
いわれてビルドに失敗するように・・・これは困った。blenderやLuxRenderもOpenGLを
使っているのでこの問題が発生。

念のため/usr/libを確認するとlibGL.so.1.2があり、libGL.so.1はそのリンクになっている。
libGLあるよなぁと思いつついろいろ調べてみるとこんなページを発見。
スレッドのタイトル"Make error: /usr/bin/ld: cannot find -lGL"って、まさにその状況。

で見ていくと下の方に
/usr/libでこれやってみ
$ sudo ln -s libGL.so.1 libGL.so
とのアドバイスが。

libGL.soが無いとダメなのか?と思いつつ試すと見事にビルドが通るようになりました。
めでたい。


しかし今度はLuxRenderで、起動してレンダリングは進んでいる様に見えるものの
レンダ結果が表示されるべき領域が真っ白のままという状況が発生。
端末からluxrenderを起動してみると"Unrecognised OpenGL version"とのメッセージが。
試しにwx版のluxrenderwxを使ってみると問題なく結果が表示され、レンダの進捗に
合わせて表示もちゃんと更新されていく。

調べてみるとQtのバグレポートのページにこんな報告が。

どうやらQt4.6はOpenGLのバージョンは3.xでないと対応していない模様。
次のQt4.7βでは既にOpenGL4.0対応のコードがマージされたようなので4.7待ちか・・。

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

こんなのつくってますという感じの体で

LuxRenderとかSmallLuxGPUとかで遊んでばっかで何も作っていないように見えて
実際何も作っていない、というほどの状況というわけでもない気がしなくもない。
完成するか分からんけどいまはこんな感じ。



twitterからの転載だけだとあんまりなんでこんなことをやってみた。 というかやってます。



作業前もしくは作業後にスクリーンショットを残しておき、あとからそれらを見ると
自分の作業のペースや進捗状況、スランプというかダレてる時期みたいなのが
客観的に把握できて、作業効率の改善につなげられるのではないか?という実験。

上の画像はそんなスクリーンショットをとりあえずImageMagickでまとめただけ。
すでにペースが落ち始めている気がする、とかいう噂があるような無いようなw



拍手お返事とか

>SmallLuxGPUでのパワーを期待してGeForce460を買ってみたんですがGPUスレッド数を上げると
>CPUスレッド側のパワーが落ちてトータルが頭打ちになっちゃう現象に困っていました
>帯域不足ですかね…?その辺の3DベンチだとハイパワーなんですがSLGでは9600GTと 460GTXが
>同じ程度か負ける程のスコアでしたよ

こちらの記事をみるとGF100からの派生アーキテクチャということもありよさげですよね。GF104。

帯域の影響なのか、影響があるとしてもどこの帯域がネックになっているのか等の詳細はなんとも
いえませんが、GPUアーキテクチャとアプリケーションのコードに対しての最適なGPUスレッド数と
いうのは存在するような気がします。といってもOpenCL始めたばかりでよく分かってないですがw。

たしかに最近のGPUについて3DMarkをはじめとするグラフィック評価用のベンチマークの結果と、
GPGPU用途での性能やベンチマーク結果が完全にイコールとならないような印象はあります。
そういった状況は当然といえば当然なんでしょうけど、OpenCLなどを利用したアプリケーションの
最適化や性能の評価手法などを考えると興味深いところです。

SLGはβ段階の開発版ということもありハードウェアの性能を引き出せていない可能性もあるかと。
またNvidia、ATIともにOpenCLのサポートはまだ始まったばかりといってもいい状況なので今後の
ドライバやOpenCL関連ライブラリの最適化がすすめば状況は変わってくるかもしれません。


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