1/1

LightFlowのコンバータについて その1

mixi2007年01月06日 15:48記す

●Lightflowのためのファイルコンバータについて

いろいろと調べてみました。

HamaPatchは,メタセコイアのポリゴン数が多いファイルを読み込むことができないようです。試しにサンプルの麒麟をフリーズしてから読もうとしたができなかった。hamapatchそのものが落ちました。
hamapatchでできるサブディビジョンやスムージングは,*.pyで出力してもなめらかにはなりません。
Bsplineと表記されており,meshではないです。また,ある程度ポリゴンが多くないとなめらかには表せません。

続いて3DWinは,*.pyの出力ができます。
メタセコイアで3DSで出力する際。座標軸をRaydreamにしてY軸反転して出力したものを3DWinで変換しました。
けれども,面が裏返しなのかよくわかりませんが,いくら光源の明るさを大きくとってもきれいになりません。

次にLWOで出力するために,座標軸をLightwaveにしてからZX交換,X軸反転してみました。
光源もうまく調整ができる。
しかしながら,Lightflow側で,軽いデータはレンダリングしてくれますが,重いデータとなると難しいです。
猫のサンプルを変換すると2.5MBになる。Python15.dllでエラーが出て終了してしまいました。
ということで,現存するコンバータを調べてみましたが,データ量が大きいと厳しい状況です。
今のところ,metalightのように*.lfmのバイナリに変換してくれるソフトはないですし,残念です。。

metalightに復活して欲しいところです。

また,hamapatchもアップデート望みたいところですね。

いろいろなソフトウェアが連携できると楽しいです。
面白いし,いろいろなことに可能性を感じますが,
最終的には,自分で工夫することが大切なんでしょうか。
勉強ですね。 続きを読む>>
  • -
  • -

LightFlowのコンバータについて その2

mixi 2007年01月06日 15:57記す

補足です。以下のようにできますが,*.pyの出力でうまくできません。

Metasequoia
  ↓
エクスポート*.lwo(ZX交換,X軸反転)
  ↓
3Dwin
  ↓
import LightWave
  ↓
export Lightflow *.py
  ↓
レンダリング(Python15でエラー)

3DWinはシェアウェアですが,ダウンロードしてそのまま,データ変換ができます。ただし,シェアウェア登録をしていないとマテリアル,質感がデータ変換されません。
  • -
  • -

LightFlowのコンバータについて その3

mixi 2007年01月06日 20:33記す

●Lightflowのためのファイルコンバータについて その2
古いハードディスクのディレクトリを探したら,ありました。
メタセコイア用のプラグイン。
メタセコイアLEでは,使えません。プラグインは登録しないと使えませんが,Metasequoia2.40でも出力できました。

以下,転載です。
----------------------------------------
Lightflow mesh file exporter v0.0.2
for Metasequoia2
----------------------------------------
Lightflow用のバイナリmeshファイル形式でオブジェクトを
エクスポートします。

■インストール
ファイルを解凍し、作成されたLfbinExport.dllをメタセコイヤ2
のPlugin\Exportフォルダにコピーしてください。

■アンインストール
LfbinExport.dllを削除するだけでOKです。

■使用方法

1.メタセコイヤ上で適当なオブジェクトを作成
2.ファイル|名前をつけて保存 を実行し
ファイルの種類の欄で"lightflow mesh file"を
選んでください。
3.適当な名前をつけて保存してください。

4.Pythonスクリプト等では


s.addObject( s.newObject("mesh",["file","test.lfm",0]) )

等と記述してインポートしてください。

オブジェクトのindexは、メタセコイヤのオブジェクトパネルの
上から順番に0,1,2、・・・と割り振られています。

UV座標は書き出されますが、マッピング用の画像等は書き出
されません。Python側で再指定してください。
(lightflowは現時点ではTARGAフォーマット(拡張子はtga)にしか対応していない
ようです)

-----------------------------------------------------
簡単なオブジェクトを作ってためしてみましたが,注意点としては,そのままメタセコイアで作成すると大きいので,大きさを1とか2くらい小さいものにして最初は試してみるとよいかもしれません。
サンプルのmakefile.pyが参考になりました。

*.lfmを含んだオブジェクトを移動しようと思って,transformをつけてみましたが,うまくいきませんでした。
メタセコイア上で配置まで考えて作成しないといけない面倒さがありますね。*.lfmの移動・回転・拡大縮小ができないのでしょうか。大量に複製したいときはどうするのでしょう。課題です。こちらで解決 lfmファイルの移動・回転・拡大縮小

MATSpiderを開発されたMaeさんが公開していたものですが,すでにネットでは公開されておりません。
  • -
  • -

LightFlowのコンバータについて その4

lfmの拡大縮小、回転については、変数として設ければよい。

s.materialBegin( plastic )

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

s.materialEnd()

上を以下のように、cu_objと指定して変換でもって囲ってあげるとよい。

s.materialBegin( plastic )
s.transformBegin( transform().rotationAroundZ( pi/4 ))
cu_obj=s.addObject( s.newObject( "mesh", [ "file", "cu.lfm", 0 ] ) )
s.transformEnd()
s.materialEnd()
  • -
  • -

Metalightを使う

LightFlowのコンバータとして、人気があったMetalightがありました。
今は閉鎖されてしまいましたが、LightFlowとメタセコイアを連携するソフトでした。残念です。

●入手先、インターネットアーカイブより・・・・ダウンロード
metalight2.zip 1906KB
http://web.archive.org/web/20040627025436/http://total-effects.oc.to/soft/metalight2/metalight2.zip

Metalightのチュートリアル・・・・ダウンロード
http://www.geocities.co.jp/SiliconValley-Cupertino/5243/graphic/MetalightTutorial.lzh

●metalight2 のインストール方法
Windows 7で起動しました。以下のようにちょっといじらないと動きません。

1.古いバージョンのURLMON.DLLを入手します。 (1999/05/05のタイムスタンプのものを入手。ウィルス混入等あるので。探すときは気を付けること)
2.バイナリエディタを使って、metalight2.exeを開きます。ファイル内から"URLMON.DLL"を検索します。(EmEditor Professional 2010を使いました。フリーでもバイナリエディタはいくつかあるでしょう)
3.見つかった文字列"URLMON.DLL"を適当な名前に書き換えます。たとえばURLMMM.DLLと書き換える。バイナリエディタでmetalight2.exeを上書き保存します。
4.旧バージョンのurlmon.dllを↑と同じ名前にリネームし、metalightのディレクトリに置く。 ここではurlmmm.dllにしました。
5.metalight2.exeを起動します。

後は、LightFlowのパス設定などをして、実験してみてください。
  • -
  • -

Meatalightを使う その2

メタセコイアでオブジェクトごとに分けて、保存する。
Metalightで、オブジェクトを読み込み、ライトを設定、カメラを設定、材質を設定する。Lightflowでレンダリングしてみる。

エクスポートからPythonファイルを出力する。

見てみたところ、ambientlightが勝手に0,0,0になっている。metalightからlightflowへ直接レンダリングした場合と、pythonファイルを出力してからlightflowでレンダリングした場合では、ちょっと違う。

レンダリング速度も、直接python形式で出力したものの方が速いです。

以下は、34秒。ありがとうございます。
image34s.jpg
metalightでカメラ調整、ライト調整、簡単なマテリアル設定を行ってしまい、後はエディタで調整するのが良いかも。メタセコイアのオブジェクトごとにスムージングしたlfmファイルが出力されるところが良いです。 続きを読む>>
  • -
  • -

LightFlowのためのPythonファイル

Pythonは、基本的にインデントで制御しているので、きちんと書式を整えておかないとエラーを出してくれる。
LightFlowのファイルもPythonだから、注意しなくてはならない。

エディタで開いて、まったく見た目は同じファイルでも動かないことがありました。

原因は、改行コードがMacintoshになっていたこと。
エディタで別名で保存で、Windowsの改行コードにして保存しなおした。

ダウンロードしたサンプルファイルできました。
ありがとうございます。
focus.jpg 続きを読む>>
  • -
  • -

Lightflow(ライトフロウ)のマニュアル・使い方

いろんなところでリンクされているサイトはクローズしているので、マニュアル引用・転載します。ごめんなさい。
ありがとうございます。

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

Lightflowのマニュアルを日本語化しています。
■織部的三次元。ありがとうございます。
Class Documentation2.0日本語訳((機械的翻訳によるものなので、間違いだらけです。原文の補助としてご使用下さい。)
http://rman.sakura.ne.jp/sfx/lf_man/ClassDoc.html

■Pattern表です。ありがとうございます。
http://rman.sakura.ne.jp/sfx/lf_man/pattern.htm

■Lightflowの覚書、使い方など、ちょっとしたコツ役に立ちそうです。ありがとうございます。
http://web.archive.org/web/20040415193907/http://d00.cool.ne.jp/lf/lightflow.html

■Metalightインターネットアーカイブ
http://web.archive.org/web/20040627025436/http://total-effects.oc.to/
Quick Downloadからダウンロード・・・

■日本語マニュアルをまとめました。チュートリアルです。
http://rman.sakura.ne.jp/sfx/lf_man/index.html
ありがとうございます。
  • -
  • -

Lightflow Material Lab.

以下、引用・転載、すみません。活用の参考にしてください。
ありがとうございます。

--------------------------------------------
Question2. 「ラジオシティができねえぞ  (゚Д゚)ゴルァ!! 」
[レンダリング設定]の[基本設定]の[ラジオシティ]を"true"にします。
その上で[レンダリング設定]の[ラジオシティ]の[拡散深度]に"0"以外の値を設定します。
適当に。6とか8とか。
Beginner's modeではラジオシティダイアログが出てこないので注意。

Question3. 「なんかレンダリングした画像が白っぽいぞ (゚Д゚)ゴルァ!!」
Metasequoiaで作成されたものはデフォルトで周囲光(環境光)が0.25に設定されています。
面倒ですが1つずつ0に設定します。
Metalight2最新版ではこの問題は解決されてます。

Question4. 「各パラメーターの初期値が判るという私家版lang.iniはいずこに?」
各パラメーターの初期値が判るという超便利.iniファイルはBlackBoxLaboratory で公開されています。
Metalight2最新版にはバンドルされたらしい。
BlackBoxさんに感謝!

Question5. 「ソフトライトで変な縞ができるぞ (゚Д゚)ゴルァ!!」
[ライトダイアログ]の[影の粒子補正]をあげるといいです。適当に0.4とか0.6とか。最高が1です。
ついでに[ライトダイアログ]の[影の詳細度]もあげるといいかも。512とか1024とか。あげ過ぎるとかなり時間かかるス。
-------------------------------------------------

Lightflow Material Lab.
Lightflowの材質設定についてのふにゃ的documentです。

generic"材質
http://web.archive.org/web/20030829091204/www.karin.sakura.ne.jp/~platinum/lightflow/generic.html

•"standard"材質
http://web.archive.org/web/20031130133932/www.karin.sakura.ne.jp/~platinum/lightflow/standard.html

•"physical"材質
http://web.archive.org/web/20031030205857/www.karin.sakura.ne.jp/~platinum/lightflow/physical.html

とても素晴らしくまとめてあります。ありがとうございます。
  • -
  • -

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

以下の参考記事「移動・回転・拡大・縮小をマスターしよう!」は、シーンを記述するうえで大変役に立ちます。ありがとうございます。
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倍したら、反転すると思いますが、確かめてみてください。
  • -
  • -

1/1