<< Metalightを使う 戻る LightFlowのためのPythonファイル >>

Meatalightを使う その2

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

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

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

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

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

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#
# このスクリプトはmetalight2.0によって作成されました
# This script is created by metalight2.0
# metalight2.0の著作権はrinにあります
#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#! /usr/bin/env python

from lightflowPM import *

from math import *

s = scene()

#インターフェースの設定(Interface)

s.newInterface( "default", [
] )

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#
# 以下ではライトの配置と設定を行っています
#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

s.transformBegin( transform().translation( vector3( 3.235785, -0.982757, 3.614386 ) ) )
#ライトlgt01の配置(Set Light"lgt01")

#ライトlgt01の定義(Define Light"lgt01")
s.lightOn( s.newLight( "soft", [
"color", vector3( 8.000000, 8.000000, 8.000000 ),
"position", vector3( 0.0, 0.0, 0.0 ),
] ) )

s.transformEnd()


s.transformBegin( transform().translation( vector3( 1.065664, -2.381295, 3.386109 ) ) )
#ライトlgt01_の配置(Set Light"lgt01_")

#ライトlgt01_の定義(Define Light"lgt01_")
s.lightOn( s.newLight( "point", [
"color", vector3( 4.000000, 4.000000, 4.000000 ),
"position", vector3( 0.0, 0.0, 0.0 ),
"shadows", 1,] ))


s.transformEnd()


s.transformBegin( transform().translation( vector3( 1.978030, -2.230102, 3.500248 ) ) )
#ライトlgt01__の配置(Set Light"lgt01__")

#ライトlgt01__の定義(Define Light"lgt01__")
s.lightOn( s.newLight( "point", [
"color", vector3( 4.000000, 4.000000, 4.000000 ),
"position", vector3( 0.0, 0.0, 0.0 ),
"shadows", 1,] ))


s.transformEnd()


s.transformBegin( transform().translation( vector3( 2.436320, -1.058353, 3.614386 ) ) )
#ライトlgt01___の配置(Set Light"lgt01___")

#ライトlgt01___の定義(Define Light"lgt01___")
s.lightOn( s.newLight( "soft", [
"color", vector3( 8.000000, 8.000000, 8.000000 ),
"position", vector3( 0.0, 0.0, 0.0 ),
] ) )


s.transformEnd()


#ライトamlgtの配置(Set Light"amlgt")

#ライトamlgtの定義(Define Light"amlgt")
s.lightOn( s.newLight( "ambient", ["color", vector3( 0.300000, 0.300000, 0.300000 ) ] ))


#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#
# 以下ではオブジェクトの配置を行っています
#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/


s.transformBegin( transform().translation( vector3( -0.075597, 0.151193, 0.000000 ) ) )
s.transformBegin( transform().scaling( vector3( 5.000000, 5.000000, 5.000000 ) ) )
#オブジェクトobj1の配置(Set Object "obj1")

#メッシュobj1の定義(Define mesh"obj1")

#Obj2_Mat1
Obj2_Mat1_main = s.newMaterial("generic",[
"ka" , vector3( 0.00000 , 0.00000 , 0.00000) ,
"kdr" , vector3( 0.66275 , 0.66275 , 0.66275) ,
"ksr" , vector3( 0.00000 , 0.00000 , 0.00000) ,
"kr" , vector3( 0.00000 , 0.00000 , 0.00000) ,
"km" , 0.50000 ,
"ksg" , 0.50000 ,
"shinyness" , 1.00000 ,
"caustics" , 0 , 0
])

Obj2_Mat1 = Obj2_Mat1_main



s.materialBegin( Obj2_Mat1 )

Obj2_Num0 = s.newObject( "mesh", [ "file" , "obj1.lfm" , 0 ] )

s.materialEnd()

s.addObject( Obj2_Num0 )

s.transformEnd()
s.transformEnd()

#オブジェクトobj3の配置(Set Object "obj3")

#メッシュobj3の定義(Define mesh"obj3")

#材質mat2の定義(Define material"mat2")

Obj3_Mat2 = s.newMaterial("generic",[
"ka" , vector3( 0.000000 , 0.000000 , 0.000000),
"kdr" , vector3( 0.282353, 1.000000 , 0.462745),
"ksr" , vector3( 0.094118 , 0.090196 , 0.086275),
"kr" , vector3( 0.231373 , 0.231373 , 0.231373),
"km" , 0.500000 ,
"ksg" , 0.500000
])

s.materialBegin( Obj3_Mat2 )

Obj3_Num0 = s.newObject( "mesh", [ "file" , "obj3.lfm" , 0 ] )

s.materialEnd()

s.addObject( Obj3_Num0 )


#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#
# 以下ではカメラの設定を行っています
#
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
saver = s.newImager( "tga-saver",[
"file","image2.tga",
] )

s.imagerBegin( saver )
camera = s.newCamera( "pinhole",[
"eye", vector3( 1.41703, 2.19086, 3.52508 ),
"aim", vector3( 0.93729, 1.62325, 2.85600 ),
"up" , vector3( -0.55733, -0.39182, 0.73202 ),
"fov", 0.873583,
] )
s.imagerEnd()
s.radiosity()
s.render( camera, 640, 480)
  • -
  • -

<< Metalightを使う 戻る LightFlowのためのPythonファイル >>