ソラマメブログ

2008年03月05日

BlenderTips:尖ったオブジェクトの作成

さて、Blenderスカルプターに向けた小ネタ特集の第2回です^^


今回は、角や刃先といった、いわゆる「エッジ」を強調したオブジェクトを作るにはどうしたらいいかを考えてみます。
初期の頃は「エッジをきかせるのは難しい」と言われてましたが、工夫すればある程度は出せるというのが今の感想です。

Blenderに関して言うと、これはスカルプテクスチャの成り立ちを知る重要なトピックでもあります。
言葉で説明するのは難しいんですが、一口に言うと「Blenderの面がSLでの頂点になる」

はい、わかりにくいですね^^;
では、実際にどうなっているかを見ていきながら、最後にはエッジのきいたスカルプをゲットしましょう。


今回は手裏剣を作ってみましょう。

まずはオブジェクトを追加して、エディットモードで頂点を動かしたり消したり足したりして・・・



はい、できあがり。頂点数は32かけ32で作っています。


エッジ周辺はこんな感じ。



これを64かけ64のテクスチャ(SLが推奨する最小のスカルプテクスチャサイズ:これより小さいと表示が崩れる?)に書き出しました。
頂点数よりもおおいピクセル数です。Blenderではこのような場合、補完をかけてスムージングしています。


SLではこのピクセルのRGB値を3次元に展開して頂点の位置を決めています。
しかし、そもそもこのピクセルに反映される位置情報は、Blenderでは面の位置情報をもとにしているのです!

Blenderで面の中心の位置を確認するには、エディットモードで面選択モードを選びます。




面の中心を示す四角をつないでみると・・・



このなまくらがーーー!;;


実際にスカルププレヴュワーSLVで確認してみると・・・(このときは32かけ32のテクスチャを使用)



やっぱりなまくらがーーー!><


これを防ぐためには、SLでエッジを構成する頂点のために、Blenderでエッジ近くに面を作らないといけません。
そこで、手裏剣をこのような面構成に作ってみます。



エッジに隣接する形で面が配置されているのがわかるでしょうか?


これをスカルプテクスチャに書き出し、
ベータグリッドにアップして比較してみました。



左が最初の手裏剣、右がエッジ強調版です。
明らかに、右のほうがきちんとエッジが出ているのがわかると思います。
少しエッジがよれていたりもしますが、これはロスレスを使えば改善するでしょう。
左も64かけ64で書き出す際のスムージングによって、上でプレヴューしたものよりはましですが、しょんぼりクオリティですね。



駆け足でしたが、以上エッジ強調について書いてみました^^
あ、あとエッジに隣接した面の追加には、ナイフツールCtrl+Rを使うと便利ですよ~。  
Posted by Nori at 15:55Comments(2)TrackBack(0)Blender

2008年03月05日

BlenderTips:鏡面コピー

お友達から問い合わせのあったBlender関連の質問について、書き留めていくことにしました。
Blenderスカルプターのお役に立てると嬉しいです^^


第一回目は鏡面コピーです。
頂点を直接編集する場合も、Sculptモードでこねる場合も、左右を同じように作業するのは大変です。
Blenderにはさまざまな編集効果を備えたModifiresという機能があり、この中のMirror機能を使えば、
片側だけを作っておいて、もう片側に反転させた形を簡単に作れます。


まずはメッシュの頂点を編集して、片側だけの形状を作ります。



これは猫ですと強弁してみる。


次にパネルからEditingパネルを選択



灰色になってるボタンです。


ボタン群の中にModifiresタブを探してください。



これです。


Add Modifierを押してリストからMirrorを選びます。



表示が細かいですが、いろいろな編集機能をここから選びます。今回はもちろんMirror。


すると、ねこの左半分が出現します。



中心がちょっとおかしいですが、この処理は後ほどいたしましょう。


Mirror機能のメニューです。



気をつけていただきたいのは、XYZの座標選択ボタン。
Mirror機能は、オブジェクトの中心を対称面とし、オブジェクトのローカル座標にしたがってXYZそれぞれの方向に対称形を作ります。
どの軸に反転するかを間違うと前後で反転しちゃったりするので、おかしな結果になったら確認をしてみてください。

また、メッシュの中心線がオブジェクトの中心からずれていたり、反転面から傾いていたりするとうまく対称形が作れません。
こちらの場合はメッシュを修正する以外にありません。


今回は、メッシュの中心線が乱れていた場合の対処法をご紹介します。

上で中心のあたりがごちゃっとしていたのは、オブジェクトの中心を反転側にはみ出した頂点があるためです。
逆に反転面に届いていない場合は、反転形との間に隙間ができてしまいます。


これに対処するには、オブジェクトの中心にメッシュの中心線を揃えることが必要です。
まずはエディットモードからオブジェクトモードに移行し、Shift+Sでスナップメニューを呼び出します。
Cursor -> Selectionでオブジェクトの中心にカーソルを移動します。




さらに、編集操作の基準点をカーソルにするためPivotメニューから3D Cursorを選択。
 


これで回転や拡大縮小がカーソルを中心に行われます。


このようにしてから、再びエディットモードに移行し、メッシュの中心線を選択、反転方向へ0まで縮小することで、
オブジェクトの中心にメッシュの中心線を揃えます。

今回の例ですと、ローカル座標とグローバル座標が同じなのでGrobal X方向で縮小をかけます。
Sキーを押してからXを1回押すとGrobalX、2回押すとLocalX方向で編集できます。
ローカルとグローバルが違う場合もあるので、その場合は必ずLocalX方向で縮小をかけてください。



0まで思い切っていっちゃいましょう。


さあ、これで反転面もうまく処理され、きれいな形になりました。

Modifiresには、実際に適用するまではいつでも取り消せるというすばらしい機能があります。
逆に言えば最後の仕上げでは常に適用する必要があるということを忘れないようにしてください。
Modifiresの適用はオブジェクトモードでのみ行えるということも、付け足しておきます。



Applyを押したらできあがり~


中心線の問題などの前処理については、古いですが以下の記事が参考になります。
実際の鏡面コピーは今のModifires機能の方が優れていると思います。

窓の杜 ゼロからはじめる3D CG道場 第7回
http://www.forest.impress.co.jp/article/2001/05/18/dojo7.html  
Posted by Nori at 04:59Comments(2)TrackBack(0)Blender

2007年11月15日

ブレンダーでテクスチャ作成!

最近お友達から問い合わせをもらったので、ブレンダーでのスカルププリム用のテクスチャ(スカルプト自体ではなく、その表面に貼る通常のテクスチャです)作成方法を書いてみようと思いました。

以前の記事で「光沢の焼きこみ」とか言ってたのも、今回ご紹介する方法を前提にしております。
http://tsunetsune.slmame.com/e33402.html

スカルププリムは複雑な形状が作れますが、テクスチャを思い通りに作るのが大変です。
3Dソフトをうまく利用すれば、細かい模様こそ無理めですが、大まかな質感が比較的簡単に得られると思います。

いろいろできたりできなかったりしますが、まずはブレンダーで設定した材質の色をテクスチャに焼き付ける(「塗る」みたいな意味で捉えておいてください)ことが可能です。
これは基本ですね。これだけなら3Dソフトを使うまでもありません。

重要なのは光源とオブジェクトの関係から生じる「影」。これを焼き付けることができる点です。
これをうまく焼き付けることができれば、かなりリアルな質感を得ることも可能です。


[準備編]
まずはスカルプテクスチャを書き出せるまでに作業を済ませた―つまり、UV展開済みのメッシュオブジェクトを用意してください。

スカルプテクスチャの書き出しに使用しているものがあるはずですので、ここは問題はないと思います。




次にスカルプテクスチャ出力用のマテリアルを外して、書き出したいマテリアルを設定します。
ここでは、みかんの茎、みかん、もちの面にそれぞれ異なる色を割り当てています。




そして今度は光源の設定。全周囲からオブジェクトを照らす擬似的な環境光を目指します。
まずは7キーでX-Y平面を表示して、光源を1個追加(種類は後で変えられるので何でもいいです)。
続いて、meshオブジェクトのicosphereを追加(設定はデフォルトでOK)。

icosphereを親、光源を子として親子関連付けを行います。
そしてObjectパネルのAnim settingsボタン群からDupliVertsとRotをアクティブにすると、
このようにすべての頂点に光源がコピーされます。光源が増えたので、光源の強さは適宜修正してください。




先ほどのままでは光源が外を向いていますので、icosphereの面の向きを内側に向けます。
EditモードにしてEditパネルのFlipNormalsというボタンを1回押して、Editモードを抜けると光源が内側を向いているはずです。




ここまできたらあとはレンダリングです。オブジェクトを光源の真ん中に置き、新しいUVテクスチャを作成します。




スカルプテクスチャの出力でもお世話になったBakeタブ。
スカルプのときはTexturesボタンをアクティブにしていましたが、今度はFull Renderボタンを使います。
さあ、あとはBakeを押せば、かがみもちの表面テクスチャが完成です^^




以上で基本的な流れはおさえていると思います。
あとはマテリアルの設定、光源の設定で好みのレンダリング結果を探してみてください。
応用として、以下の機能を使うことが出来ます。カッコ内わたしの認識している効果です。

 ・Brender内のマテリアルに対するテクスチャの設定(色や陰影の深みを追加)
 ・VertexPaintメニューのセルフ・アンビエントオクルージョン(陰影の強調)
 ・レンダリング結果のVertexPaintへの適用(反射光の取得:冒頭に挙げた過去記事でも紹介)  
続きを読む
Posted by Nori at 23:06Comments(3)TrackBack(1)Blender

2007年07月11日

how to make sculpted prims 作り方

sculpted primの敷居は相変わらず高いという認識が一般のようで・・・

最近SL内の知人にお伝えしたやり方を、書いてみようと思いました。

使用する3DソフトはBlender。

とりあえず、英語で公開されてるチュートリアル2種

1.http://amandalevitsky.googlepages.com/sculptedprims
  書き出しまで行くのに確実な方法で、自分で設定する必要はほとんどありません。
  球やシリンダーの形状を、頂点編集モード(edit mode)や彫刻モード(sculpt mode)で
  好みに変更しましょう。
  書き出しまでの工程も同じページでサポートされてるので、特に問題ないかと思います。


2.http://www.bentha.net/sculpted2/Blender-to-sculpted.html
  先に出来上がってる形状を書き出す方法について書いています。
  プリミティブからの変形を好まない方やカーブとかを使う方はこっちがよいでしょう。
  わたしも最近はこちらの方法を使っています。やり方は少し複雑になりますが。


わたし流チュートリアル

わたしがやってるやり方をダラダラと書いていきます。

このスカルプ理屈としては、オブジェクトのそれぞれの面が持ってる位置情報をRGBの3次元に落とし込むことで、
スカルプテッドプリムの頂点位置を定義するというもののようです。

Blenderでこれをするためには、おおまかに以下のものが必要になります。


1.スカルププリムにしたい形状そのものである「メッシュオブジェクト」

2.面の位置情報をテクスチャに落とし込むための「焼付け用マテリアル」設定


まずめんどうなマテリアルの設定をしないといけないです。
毎回この設定をやるのはめんどう極まりないので、テンプレ的な.blendファイルの作成をお勧めします。

以下やり方です。


1.焼付け用マテリアルの準備

1つめのサイトに設定の仕方が載ってますが、いちから設定してたらやっぱり面倒ですね。
サンプルファイル(.blend形式)が提供されてるので、ダウンロードしてしまいましょう。

一から作る方は、そのままダウンロードしたファイルをテンプレとして、形状の作成もしていくとよいと思います。

形状だけを別の.blendファイル内である程度作ってる方は、ファイルメニューのAppendからマテリアルの読み込みます。

  1.ファイルメニュー->Append or Linkを選択し、
  2.ダウンロードしたサンプルファイルを指定、
  3.読み込むデータの種類の選択では「Material」を選択
  4.「Material.001」という名前があるはずですのでこれを選択し、Lordします。


2.名前をつけて保存

テンプレ用に名前をつけて保存します。これでオッケー。


さて、実際に形状を作ってみましょう。
ここではサンプルファイルをそのまま使っていくという前提で進めます。

注意すべき点は2つ

1.三角形を使わない
2.方眼紙状に切り開ける構造にする

2つめがわかりにくいですね。おいおいわかっていきます(多分)。


今回は形状の編集が主眼ではないので、すでに変形させたものをどう書き出すかをやります。

シリンダーを加工して、画像のような顔を作ってみました。



Edit Mode。後頭部にUV展開のためのシーム(切れ目)を入れてます。
シームの設定はUV展開をきれいに行うのに必須です。
オブジェクトに設けた2つの穴を結ぶ、最短の辺(edge)をEdit Modeで選択、ctrl+Eで入れてください。



ここでこのメッシュオブジェクトのMaterialに先程読み込んだ「Material.001」を適用しておいて下さい。


~~~ここから先の球体にする手順はやらなくても書き出し問題ないかもです~~~


Editing Panel内のShape Keyのところで、Add Shape Keyを2回押します。



次にEdit Modeに入り、頂点を全選択の後、ToSphereボタンを押し、100%で実行。



実行後。



~~~(ここまで)~~~


次にUV Face Select画面に入ります。
(ここでShape Keyのスライダーを1.00に:これは球体変化させてるときだけ関係します)



Uキーを押してProject from View (Bounds)を選択。



UV/image Editor画面(右側)にこのように投影されます。



3D View画面(左側)で、メッシュの面のひとつをどれでもいいので右クリックして、選択。



Aキーを2回押して面を全選択したら、Uキーを押して今度はFollow Active (quads)を選択。
出てくる選択肢はnoneを選びます。



すると・・・



シームしたところで切り開かれた状態です。
ここで、UV/image Editor画面のUVsメニューの赤丸で示したところを選択。チェックが入ります。



Gキーを押して展開されたUVを動かすと、ほどけるように四角形の集合体になります。



もう一度3D View画面でFollow Active (quads)->none。



これでメッシュのすべての面が平面に展開されました。
次はUV/image Editor画面のフィールドの中に、展開されたUVを収めます。
Gキー(移動)やSキー(拡大縮小)を使います。
UVメニューの中にあるLayout Clipped ~にチェックを入れると、若干やりやすくなります。

収めたところ。



UV/image Editor画面のImage->Newで新しいテクスチャを追加。
大きさはここでは256×256を選びました。



(テクスチャ追加後に、Shape Keyのスライダーを0.00(一番左)に。形状が元に戻ります:これも球体変化させたときのみ)



Scene Panelの「Bake」タブを押し、「texture」ボタンを押して、マージンを2に設定します。
それができたらBakeボタンを押します。



じゃーん。



できたでしょうか?ImageメニューからSave Asで保存するのを忘れずに。
フォーマットは普段はTarga Rawを使っています。

虹色のテクスチャにならないよっという方は、オブジェクトのMaterialに最初に読み込んだ「Material.001」が適用されているか確認してみて下さい。

後はアップロードするだけです。  
続きを読む
Posted by Nori at 22:17Comments(14)TrackBack(0)Blender