Rendering学習日記

日々3DCGの世界は進歩しているけど、勉強して理解したことをまとめていきたい。RenderMan互換レンダラーやグローバル・イルミネーション。いろんなことに好奇心を持ち面白くなってくる。目指せShader書き!!

matid

メタセコイアからOBJ出力した面の色情報の割り当て方がわかる。
cgkitは面白い。

load("facetest.obj")

model=worldObject("obj1")

convertToTriMesh(model)

#model.geom.newVariable("matid", UNIFORM, INT)

m1=OBJMaterial( name = "mat1",
Ka = (0.6, 0.0, 0.0),
Kd = (0.8, 0.0, 0.0),
Ks = (0.0, 0.0, 0.0),
Ns = 5.0
)

m2=OBJMaterial( name = "mat2",
Ka = (0.0, 0.0, 0.6),
Kd = (0.0, 0.0, 0.8),
Ks = (0.0, 0.0, 0.0),
Ns = 5.0
)

m3=OBJMaterial( name = "mat3",
Ka = (0.6, 0.6, 0.0),
Kd = (0.8, 0.8, 0.0),
Ks = (0.0, 0.0, 0.0),
Ns = 5.0
)

model.material = [m1,m2,m3]


matids = model.geom.slot("matid")

i=0
for v in model.geom.slot("matid"):
matids[i] = v
i=i+1

matid1.jpg

matid2.jpg

ありがとうございます。
cgkit | - | -

Sunny 3DのOBJ出力

家電量販店で購入したイーフロンティア、3D形状作成・ペイントソフト「Sunny 3D」(サニー・スリーディー)、使い物になりません。かなり敷居が高いと感じました。
下記のようなプレス発表及び、Webサイトでのアナウンスを信じて、手軽にOBJ出力が使えると思ったら、苦労しました。大変ですね。

>多くの場合、3D形状の作成には3DCGの専門知識が必要で、たくさんの労力がかかります。
>そんな3D形状の作成を大人から子供まで誰でもペイント感覚でかんたんにできるのが
>Sunny 3Dです。

>さらに活用!
>作った3D形状はOBJ形式で書き出しができます。ペイント時に自動で生成されたUV情報と
>ともにテクスチャも書き出されるので、他の3DCGソフトで読み込むことで利用範囲がひ?
>ろがります。

>作成した3D形状は、他の3DCGソフトで読み込めるOBJ形式のファイルとして出力できます
>ので、3DCG入門者だけでなく、手描き風の3D形状を作りたい上級ユーザーにもご利用い
>ただけます。

sunny_dog01.jpg
Sunny 3Dのサンプル犬
メタセコイアでインポートした際、左右反転してしまったモデル。

さくっと描いてつくって形状ができるのは面白いですが、その後のOBJデータへの変換はかなり苦労します。

同じ会社のShade8にインポートしてみましたが、まずスムージングがかけられない。マッピングについては??
そこで、メタセコイア(シェアウェア)を使いました。インポートする際に左右反転をチェックし、V方向反転はチェックを外して、インポートし、マッピングのbmpを読み込みなおしていきます。スムージングを入れて、OBJ出力する際、V方向反転はチェックを入れ、左右反転もチェックを入れ出力します。

メタセコイアがなくて、フリーウェアでまかなうとすれば、UVMapperのクラッシック版を使うと何とかできます。しかしスムージングがかからないので、Wings3Dに読み込むのが良いです。ただし、Sunny3Dで出力するモデルは1つのモデルに1つのマップの場合しかうまくいきませんでした。
1 Sunny3DでOBJ出力
2 UVMapperでLoad Model
3 次にSave Modelを選ぶと変換の設定画面が出てくる。Flip Texture(UV) Coordinates Verticallyのチェックを入れる。
4 エディタを使って、先頭に例えば、
mtllib hoge.mtl
と、mtlファイル名を書き加えておく。
5 Wings3Dに読み込み、うまくマップファイルが表示されるか確かめる。
6 スムージングをオンにし、モデルを選択状態にして、ExportからOBJ出力してやる。

ということで、簡単なようでかなり面倒です。
子供だまし、すぐに飽きられてしまうでしょう。
どのように扱えば、求める形になるか、探究心を育てるようなものが欲しいですね。

sunny_dog02.jpg
cgkitに読み込み、AIRでレンダリング

ありがとうございます。
Metasequoia | - | -

NVIDIA Gelatoでの拡張子

>topyg first2.RIB -o first.pyg

ERROR: Input ("first2.RIB") --
Couldn't open generator "RIB.generator.dll" for file type "RIB"
with generator search path ".:C:\Program Files\NVIDIA Corporation\Gelato/lib
"
Error returned: Cannot find appropriate create function in shared library

どうしてだろうと悩んでいたら,拡張子RIBではなくて,ribとしなければ変換してくれないことがわかった。

ありがとうございます。
NVIDIA Gelato | - | -

NVIDIA Gelatoへのコンバート

Ribelato-1.0.0.24.win.zipをダウンロードし,
rib.generator.dllをlibフォルダへ入れて,
NVIDIA Gelatoからレンダリングしてみた。
うまくいかないと思ったら,以下はサポートしていない。

The following RIB calls are not handled:
Blobby, Bound, ClippingPlane, ColorSamples, Cone, Cylinder, DepthOfField,Detail, DetailRange, Disk, Exterior,FrameAspectRatio, FrameBegin, Frame-End, Geometry, Hider, Hyperboloid, Imager, Interior, MakeCubeFaceEnvironment, MakeLatLongEnvironment, MakeShadow, MakeTexture, Paraboloid, PixelVariance,RelativeDetail, ShadingInterpolation (currently always on in Gelato), SolidBegin, SolidEnd, Torus

pygへのコンバートのやり方悩んだ。
何のことはない

>topyg hoge.rib -o hoge.pyg

ありがとうございます。参考記事
http://www.silo3d.com/forum/showthread.php?t=6005&page=6

fragMotionは,ちょっとお休み中。
何とかRenderingできると面白いけど,検討中。
NVIDIA Gelato | - | -
1/1