Rendering学習日記

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

metasequoia python RenderMan Export

メタセコイア Pythonスクリプトを使って、RIB出力、ライトをいろいろとつけられるように工夫しました。
1.ambientlight,spotlight,maya_spotlight,indirectlight,maya_pointlight,distantlightをオブジェクトパネルに書き込むと、出力する。
その際、方向は、面の作成の辺を使って線分を作ります。


2.複数でスポットライトを設けたいときは、オブジェクト名に番号をつけておきます。
spotlight1
spotlight2

3.ライトの色変更は、マテリアルをつくり、ライトオブジェクトを選択し割り当てます。

4.マテリアルにテクスチャがあると、supertexmapシェーダを割り当てます。面ごとのマテリアルには非対応。1オブジェクトに1マテリアル設定になります。

maya_spotlight,indirectlightを利用した。
scene04_.jpg

テクスチャマップは、レンダリング前にtifに変更しておきます。
maya_spotlight色変更,indirectlightを利用した。
meka_04.jpg

すべて、3Delightでレンダリングしました。
使いやすくなってきました。面白いです。ありがとうございます。
  • -
  • -

文字列操作

メタセコイアのPythonを使えるようになるために。
python 2.2.3インタラクティブモードで文字列操作を検証してみた。

>>> tex="texture01.jpg"

>>> print tex[:-4]
texture01

>>> print tex[-4:]
.jpg

>>> print tex[:-4]+".tif"
texture01.tif

>>>

これで、テクスチャ名の変更できますね。ありがとうございます。
  • -
  • -

Tkinter使えない??

メタセコイアpythonでTkinter実験君。
単にウインドウを表示しようとしたが、うまくいかない。
def p(*args):
"""
プリント関数
複数の引数を渡せる。
"""
if len(args)==0:
# 改行させる
MQSystem.println("")
return

for arg in args:
MQSystem.println(str(arg))

import traceback
import sys
from Tkinter import *

try:
r=Tk()
except:
info=sys.exc_info()
p(info[0])
p(info[1])
p(*traceback.extract_tb(info[2]))

エラーは以下のとおり・・・・残念??
exceptions.AttributeError
'module' object has no attribute 'argv'
('C:\\Users\\makura\\Documents\\tk_error.py', 19, '?', 'r=Tk()')
('c:\\Python22jp\\Lib\\lib-tk\\Tkinter.py', 1507, '__init__', 'baseName = os.path.basename(sys.argv[0])')
  • -
  • -
<< 79/184 >>