Rendering学習日記

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

メッセージボックス

Metasequoia Pythonの練習。こんなこともできるのかと試してみる。

#メッセージボックス
a="Hello Metasequoia!!"
MQSystem.messageBox(a)


日本語も出るし、警告音も出ます。
#メッセージボックスその2
MQSystem.messageBox('日本語')
MQSystem.messageBox('日本語2')
MQSystem.messageBox('日本語3')


地道に前に進みます。
ありがとうございます。
  • -
  • -

頂点の座標を求める

メタセコイアで物体を作っておいて、移動ツールで頂点をクリックする。次のスクリプトを実行すると選択されている頂点の座標位置が求められる。複数選択したときも表示出力します。
ありがとうございます。
#現在のオブジェクトの選択した頂点の座標を求める
#select_v1.py
obj=MQSystem.getDocument().object[MQSystem.getDocument().currentObjectIndex]

MQSystem.println("カレントオブジェクト %s" % obj.name)

for vtx in obj.vertex:
if vtx.select: #vertexが選択されているならば,Trueであるならば
pos=vtx.getPos()
MQSystem.println("\tx %f y %f z %f" % (pos.x,pos.y,pos.z))
  • -
  • -

乱数を発生させて三角形をつくる

原点を中心に座標位置をランダムにして三角形をつくってみた。
ひとつだけですが、面が裏返ったりするから、
いろいろとアイデアしだいで、じっくり考えてやってみるとできるかな。
できたときはわくわくしますね。
ありがとうございます。
#乱数を発生させて三角形をつくる
import math
import random
global y,z

doc = MQSystem.getDocument()

num = doc.numObject
obj = MQSystem.newObject() #新規オブジェクト
v = []
v.append( obj.addVertex(0,0,0) ) #原点

y=random.randint(1,100) #1から100までの整数を発生
z=random.randint(1,100)
v.append( obj.addVertex(100,y,z) )

y=random.randint(1,100)
z=random.randint(1,100)
v.append( obj.addVertex(100,y,z) )

obj.addFace(v)
doc.addObject( obj )


01.jpg
  • -
  • -
<< 4/25 >>