Rendering学習日記

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

matid

各オブジェクトのジオメトリがmatidを持っているかどうかを調べてみた。
なるほど、本家のチュートリアル参考になりました。これでメタセコイアpythonを使って、cgkitのシーン出力できそうです。ありがとうございます。

>>> from cgkit.all import *
>>> load("sample.obj")
>>> listWorld()
Root
+---obj1 (TriMesh/TriMeshGeom)
+---obj2 (TriMesh/TriMeshGeom)
+---obj3 (TriMesh/TriMeshGeom)
>>> objs=["obj1","obj2","obj3"]
>>> model=worldObjects(objs)
>>> model
[, 0x0330E8A0>, ]
>>> for s in model[0].geom.iterSlots():print s
...
N
cog
faces
inertiatensor
matid
st
verts
>>> for s in model[1].geom.iterSlots():print s
...
N
cog
faces
inertiatensor
st
verts
>>> for s in model[2].geom.iterSlots():print s
...
N
cog
faces
inertiatensor
st
verts
>>>
  • -
  • -

Metasequoia→OBJ→python cgkit

metasequoia pythonを触りはじめて、勉強になっています。メタセコイアからOBJ出力をしておいて、cgkitでのシーンをメタセコイアから出力するスクリプトがなんとかできた。
ドキュメント内の一つのオブジェクトにマテリアルが複数割り当てられている場合、cgkit側で、matidをつかって調整する。
うまくいかないのは、三角ポリゴンに分割されていないからだということに気づくのに時間かかりました。
メタセコイアでつくったモデルをすべて選択して「三角形化」しておくこと。それから、OBJエクスポートする。
つぎに、metasequoia pythonでcgkitシーンを出力する。

若干、models[4].geom.newVariable("matid", UNIFORM, INT)とmatidを設けてあげなければならない部分もあるが、サンプルのタンクは3Delightでレンダリングできました。
ありがとうございます。
tank0.jpg
  • -
  • -

メタセコからcgkitへ

metasequoia pythonを使って、簡単なcgkitシーンをつくるスクリプトをかいてみた。複数のオブジェクトがある場合、面に色をつけていたり、テクスチャマップの混在だと、うまくいかない。
課題はまだまだ、たくさんあります。使い方を勉強していかなきゃ。

metasequoia pythonでは、enumerateが使えない。
複数オブジェクトの管理、OBJマテリアルの管理、課題です。

ありがとうございます。
  • -
  • -
<< 92/184 >>