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拍手