投稿

Rigify!(Blender 2.79)

Rigifyってなんか便利そうだけどよくわかんないよね…とイナフミンさんと話しながらいじっていたらいろいろわかってきたのでログっておく。 本記事はdskjalさんの記事( http://dskjal.com/blender/introduction-to-rigify-279.html )を参照しつつ各属性の仕様等を探ってまとめたものです。記事から直接引用している文には一応@Refを文末につけてます。 基本的な考え方 Metarig リグ生成のためのいろいろなプロパティを設定しておくアーマチュア。 これをベースに"Generate Rig"でrigが生成される。 Metarigという、リグのないアーマチュアの各ボーンに"Rigify Type"というプロパティを設定すると、"Generate Rig"で生成されるアーマチュアに対応するリグがつく。 Rigify Typeの性質を理解すれば、デフォルトで入っているMetarigをベースにしなくても、自分でゼロからMetarigを作成できる。 アーマチュアプロパティ Generate Rig Metarigからリグを生成する。 詳細オプション overwrite 既存のリグを上書きする new 新しくリグを作る ボーンプロパティ ・MetaRigの各ボーンで、ポーズモードで属性をつける。 ・属性は根っこにつける ・オリジナルのコンストレイントが反映される。が、オリジナルボーンは直接いじれないので、IKならちゃんとターゲットをつけるとかしておく必要がある。ターゲットにはsuper_copyなどをつけておく。 各属性 basic.copy_chain super_copyに似ている。 子も個別に動かせる。 basic.super_copy 親のトランスフォームを継承する。 補助ボーンとか、これをつけておかないと生成に反映されない。 子ボーンは動かせない。 Control コントロール用ボーンを生成する。@Ref Widget カスタムシェイプを生成する。@Ref Deform ...

炸裂・崩壊表現

イメージ
大変いい感じだったのでメモ。 オブジェクトを選択して、メニューの オブジェクト→クイックエフェクト→クイック爆発で簡単に爆発効果がつけらる。 クイック爆発コマンドは具体的には、マテリアルの透過(なんでやるのかは謎)、パーティクル設定、Explodeモディファイアの設定をサクッとやってくれる。 クイック爆発をつけたあとにそのままアニメーションさせてみると、重力でただただ落下していく。 これを多少いじることでおもしろエフェクトができる。 崩壊表現 パーティクルの終了を長めにとっておくと、数で指定したパーティクル分になるまで開始フレームから終了フレームまでにわたってぽろぽろ生成される。 のを利用して、Explodeモディファイアの「発生前」「生存」「消滅」にチェックを入れておくと、パーティクルが発生して落ちていくごとに表面が剥がれ落ちていくという効果を作ることができる。 「生存」のチェックを外すとじわじわ消えていく感じになってこれもおもしろい。 パーティクルの速度とか回転の値を適当に調節しておくと、はがれおちた破片がいろんな方向を向いてよい。 衝撃表現 基本は崩壊表現と同じだが、こちらは静止状態にしておいて、コリジョンをアニメで突っ込ませる。 パーティクルの速度を全てゼロにしておく。 フィールドの重みの、重力をゼロにしておく。 で、コリジョンをつけたオブジェクトをアニメーションで つっこませる! メッシュの下ごしらえ そのままやってもいいんだけど、メッシュを多少いじっておくと破片の形がよくなる。 ツールパネル→「細分化」 メッシュ→面→「扇状に分離」、「三角面を四角面に」 でこんな感じになる。

Call of Blender #1 「右クリック」

イメージ

漫画用アドオン群公開しました

Git Hub: fujiwara_toolbox なんとわたくしの自家製アドオン、全部公開です。 漫画とかNPRモデリングの機能満載の大変マッシヴなアドオンになってます。 ぶっちゃけ複数マシンでのアドオンの同期とかがめんどくさくてgithubを使い始めたので、俺が使っているそのままのものです。 そのままのものなので、パスとかがマシン依存のままになってたりする部分があるんですが、そのへんはおいおい修正していきます。 これは俺が何年もかけて作り上げているアドオンそのものなので、便利に思った方は支援してくださると嬉しいです。 → enty 仕事で使う人なんかは、支援してね♡ ドキュメントとかもおいおい書いていくつもりです。ではよろしく。

imageは利用前にsave()しろ!pythonコマンドからのベイクの仕方

imageの仕様的な ワンボタンでベイクとセットアップができる便利機能を作ってたんだけど、その際にimageの変な(?)仕様でつまづいた。 はじめこんな調子(ざっくり)のコードをかいたわけだけど、 img = bpy.data.images.new(filename,size,size,True) bpy.ops.object.bake_image() img.filepath = savepath img.save() これがまともに動かない!真っ黒な画像が出力されてしまう。 で、すったもんだほんとにいろいろ試して調べた結果、以下のようにすべきだとわかった img = bpy.data.images.new(filename,size,size,True) img.filepath = savepath img.save() bpy.ops.object.bake_image() img.save() bake前に一回保存!!! すると、まともに出力できる。どうもnew()したあとは初期化が済んでないんだかなんだか、まともにつかえない。一回save()するとまともに動くようになる。 今回は外部ファイルに保存するのが前提だったのでinternalでやる方法は調べてない。多分pack()すればいいんじゃないか?わかんないけど。 豆知識 imageにはimage.is_dirtyというフラグがあり、いろいろ操作して保存されていない状態だとTrueになる。まとめて保存とか書くときはこれを使うと便利。 pythonコマンドからのベイクの仕方 で、それだけで終わってもなんなのでpythonコマンドからのベイクの仕方について。 これもつまづきポイントがある。 APIリファレンスを見てみると、ベイクには bpy.ops.object.bake bpy.ops.object.bake_image の2つがある。 bake()にはなんか引数がいっぱいついており、bake_image()には引数が全くない。 なるほどスクリプトからはbake()を使えばいいんだな、と思う。 これが間違っている…。 bake()をするには、UI上で編集モードに入り、UV画像エディタで画像を選択...

Hight(Bump) mapとNormal mapのバンプの違い

イメージ
左がHight map。右がNormal map。 テクスチャ設定で「ノーマル」にチェックを入れると、バンプ(浮き彫りみたいなこと)の設定ができる。んだけど、その時に指定するテクスチャの性質によって結果が全然ちげーじゃん!ていうのを発見した。 ・Hight map というのは単に陰影で浮き彫りの深さを描いたモノクロ画像である。。 こんなの。Normal mapより情報が単純なのでファイルサイズが軽い。 ・Normal map 法線=面の向きをRGB値で描いたカラー画像。 こんなの。大体Height mapの4倍とかそれ以上のファイルサイズになったりする。 で、これらのマップはSubstance Designerから出力したんだけどNormal mapの方が深さ情報が全然反映されてないのである!Normal mapいいとこなしじゃないか! ということで質感表現とかでマップ使う時はとりあえずHeight mapにしといた方が良さそう。

漫画用マテリアルノード

イメージ
今まではかなりフラットなシェーディングにしてたんだけど、ライティングによる感情表現を可能にすべき、とかようやくSubstance Designerに手を出したりだとか、そういったことで新しく漫画ノードを考えた。 とりあえず左から解説。 ・メインのマテリアル メッシュに割り当ててるマテリアル。「陰影なし」にチェック←大事 これで色を指定する。テクスチャとかもこいつに設定してオッケー。 ・陰影用マテリアル ディフューズを真っ白にするのだけポイント。 こいつを使って陰影をつける。メインマテリアルからノーマルを繋いであるので、メインマテリアル上でテクスチャとかで設定したノーマルを表現することができる。 ・RGBカーブ ミソ。漫画的シェーディングで重要なのは、ベタ・中間調・ハイライトの3つで構成されているということ。 のでこのような3パート構成に。 ベタ領域はきゅっとつぶして、しかし中間調までのグラデが潰れると光表現で不便なことがあるのでちょっとなめらかに。中間調は大体フラットになるように。ハイライトもわりときゅっとつぶしめだけど、ふんわりハイライトが必要なことがあるのでやはりあんまり潰さない感じで。 ・オーバーレイ 色的なキモ。影用マテリアルの出力にメインマテリアルのフラットな色をオーバーレイすることで中間調が任意の色味に変わってくれる。 この構造にしておけば色指定をメインマテリアル上で行うことができるので、いちいちノードを開き直す必要がなくて便利。 こんなかんじになる。 わかりやすいように色つけたけどカラーも結構いけそう。影色はいじったほうがいいけど…。 本当は視差マッピングとかをマテリアルノードでやろうとうんうんうなりまくってたんだけど、結局まともな資料にたどり着けなくて諦めて、しかしその試行錯誤のおかげでノードの理解が進んでこれができたのでよかった。