Rendering学習日記

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

移動・回転・拡大・縮小をマスターしよう!

以下の参考記事「移動・回転・拡大・縮小をマスターしよう!」は、シーンを記述するうえで大変役に立ちます。ありがとうございます。
http://www3.ocn.ne.jp/~liquidz/tips/tips_lf000.htm
移動、回転、拡大・縮小は、3DCGでは変換の基礎となります。

■移動
X Y Z 座標での移動量を指定してあげます。
例えば X軸では + 8.0、Y軸では - 1.0、Z軸では + 2.0のように移動したい場合は
s.transformBegin( transform().translation( vector3( 8.0, -1.0, 2.0 ) ) )

のようにします。

■回転
Pythonファイルの上部分、
from lightflowPM import *
の下あたりに
from math import *
を追加します。数学関数のモジュールを自動的に追加する記述です。

オブジェクトの回転の種類は3つあります。
X軸 、 Y軸 、 Z軸 のどれを基準に回転させるかで記述がちょっと異なります。
例えばX軸を基準として20度回転する場合は
s.transformBegin( transform().rotationAroundX( pi * 20.0 / 180.0 ) )

のようにします。
Y軸を基準とするならば、rotationAroundYとすれば良いです。


■拡大
拡大したいオブジェクトをX軸 、 Y軸 、 Z軸で何倍するかを入力しさえすれば良いです。
例えば、あるオブジェクトを10倍の大きさにしたい場合は
s.transformBegin( transform().scalling( vector3( 10.0 , 10.0 , 10.0 ) ) )

とすれば良いです。
X軸 、 Y軸 、 Z軸のいずれかで、-1倍したら、反転すると思いますが、確かめてみてください。
  • -
  • -

LightFlow資料

インターネットアーカイブで貴重な資料を集めました。
サイト制作された方に感謝します。かれこれ8年から10年前の資料ですが、ここに許可なく掲載させております。申し訳ありません。
CPU処理速度が速くなった今日では、LightFlowを使ってわざわざやってみようという方は少ないと思いますが、探究心、好奇心でもって、いろんなアイデアを実現したり、実験ができます。
いくつかの資料を集めてみましたが、画像のリンクがなかったりしております。しかしながら、ヒントになる勉強につながると思います。

整理されていないまま、載せてしまって申し訳ありません。
後程、きれいに整理して、削除しますので、よろしくお願いします。

■Lightflow インストール (過去サイトにあったもの大変役に立ちます。ありがとうございます。)
http://rman.sakura.ne.jp/sfx/lf_man/lightflow-install.html

http://rman.sakura.ne.jp/sfx/lf_man/lf_manual.htm

■日本語マニュアル チュートリアルです。
http://rman.sakura.ne.jp/sfx/lf_man/index.html

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

lfmファイルの移動・回転・拡大縮小

mixi 2007年01月08日 00:01記す。
156120933_32.jpg
なんてこったい!!
lfmファイルの移動・回転・拡大縮小できるじゃないですか。
変数として指定しなかったからですね。

当初は,
s.addObject( s.newObject( "mesh",[ "file", "cu.lfm", 0 ] ) ) 

と書いて,サンドイッチのようにtransformで、はさんでもびくともしない。これではダメだと思ってました。
けれども,
cu_obj=s.addObject( s.newObject( "mesh",[ "file", "cu.lfm", 0 ] ) ) 

と変数(オブジェクト)として生成してあげることで,移動・回転・拡大縮小を加えてあげることができるのですね。以下、回転。
s.materialBegin( plastic ) 
s.transformBegin( transform().rotationAroundZ( pi/4 ))
cu_obj=s.addObject( s.newObject( "mesh", [ "file", "cu.lfm", 0 ] ) )
s.transformEnd()
s.materialEnd()

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