Metalightで、オブジェクトを読み込み、ライトを設定、カメラを設定、材質を設定する。Lightflowでレンダリングしてみる。
エクスポートからPythonファイルを出力する。
見てみたところ、ambientlightが勝手に0,0,0になっている。metalightからlightflowへ直接レンダリングした場合と、pythonファイルを出力してからlightflowでレンダリングした場合では、ちょっと違う。
レンダリング速度も、直接python形式で出力したものの方が速いです。
以下は、34秒。ありがとうございます。
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)
- -
- -