Welcome to touyou note!!

こんにちは。touyouです。touyou noteは、creativeな人間を志すちっぽけな学生が様々なことに体当たりするブログです。
どうぞお楽しみ下さい。

Twitter: @touyoubuntu
HomePage: TOUYOUBUNTU

検索用ワード

PC Linux Windows Cygwin Android Python Java C/C++ C# HTML Processing Lisp Perl Arduino Japanino Unity Google TopCorder Codeforces Vim Emacs Github PSP Gundam Soccer Mobile Dialy Study Music ...

2011年2月1日火曜日

Blenderやってみた。


Linuxに最初からBlenderをいれていたものの使い方がわからなくて使ってなかった感じ。

というわけで、今回いくつかのサイトを参考にしてやってみた。
元々興味をもつきっかけであったココを参考に日本語化しいざスタート!





…とはいった物、どうやったらいい物を生み出せるか、というかむずい。
というわけでまずはpythonで書けると言われているのでそれについてググル。

ココが良さそうである。というわけで一番簡単そうなスクリプトをコピペ。
これだ↓

from Blender import *
import math

###### Scene ######
scene = Scene.New('myScene')
scene.makeCurrent()


###### Lights ######
ldat = Lamp.New('Area')
ldat.energy = 0.1
l1 = scene.objects.new(ldat, 'myLamp')
l1.loc = (0, 0, 8)

ldat = Lamp.New('Spot')
l2 = scene.objects.new(ldat, 'mySpot')
l2.loc = (4, 3, 6)
l2.rot = (0.2, 0.2, 0)


###### Camera ######
camdat = Camera.New('persp')
cam = scene.objects.new(camdat, 'myCamera')
cam.loc = (0, -12, 8)
cam.RotX = 0.9


###### Stuff ######
mdat = Mesh.Primitives.Cube(0.8)
for a in range(16):
 m = scene.objects.new(mdat,'myMesh')
 m.LocX = math.sin(math.pi*2*a/16)*5
 m.LocY = math.cos(math.pi*2*a/16)*5
 m.LocZ = 1
 
pdat = Mesh.Primitives.Plane()
p = scene.objects.new(pdat, 'myPlane')
p.size = (8, 8, 1)

Redraw()


###### Render ######
context = scene.getRenderingContext()
context.enableOversampling(True)
context.enableShadow(True)
context.render()
このコードで出力されるのは以下。

いや、少し数値いじった後だからホントはもうちょっと違ったりするのだが…
で、スクリプトの要素がどのように割り当てられているか知りたかったので色々と弄ってみた。とりあえず全画像載せる。
↓以下しばらくカメラの視点だけを変えていった物。






ココあたりまで。

あとは、sinやcosを入れ替えて遊んでみた。どうやらキューブの並び方を指定しているようだが…


だいたいどれがなんの指定をしているのかだけは分かったがこれだけでは立派なものも作れたものじゃない。まぁしばらく時間置きながらでも勉強するのもいいかなぁと思った今日この頃である。

追記:明日は友達とディズニーシーに行く。軽くブログに書いてもいいかなとは思っているが…どうなるかは明日の気分次第。それでは(^.^)/~~~

0 件のコメント:

コメントを投稿