Okamoto's Homepage
「編隊」のシーンファイル
// Persistence of Vision Ray Tracer Scene Description File
// Author: Noriaki Okamoto
#include "colors.inc"
#include "textures.inc"
#include "skies.inc"
#version unofficial MegaPov 0.5;
global_settings {
motion_blur 3, 45
}
sky_sphere {S_Cloud1}
camera {
perspective
location <2, 2, -2>
up y*image_height right x*image_width
angle 60
look_at <0.0, 0, 0.1>
focal_point <0, 0.45, 0.1>
aperture 0.2
blur_samples 1000
variance 1/128
}
light_source {
<50, 100, -200>
rgb <1.0, 1.0, 1.0>
}
light_source {
<50, 100, 200>
rgb 0.5
}
#declare doutaiTexture = texture { Brass_Valley }
#declare mainwingTexture = texture { Tinny_Brass }
#declare proTexture = texture { Aluminum }
#declare cockTexture = texture { pigment { rgbf <0.8, 1, 0.95, 0.9> } }
#declare cockTexture2 = texture { Gold_Nugget }
plane {
<0.0, 1.0, 0.0>, 0.0
texture {
pigment {
rgb <0.779995, 0.484627, 0.226215>
}
normal {
bumps 0.5
scale 10
}
}
translate <0.0, -200, 0.0>
}
#declare hikohki = object {
union {
//胴体
difference {
union {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { doutaiTexture }
}
//difference {
cylinder {
<0.0, -0.5, 0.0>, <0.0, 0.5, 0.0>, 0.5
texture { doutaiTexture }
scale <1, 0.5, 1>
rotate <90, 0, 0>
translate <0, 0, 0.25>
}
//}
merge {
#declare i=1;
#declare j=0.5;
#while (i>0.5)
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { doutaiTexture }
scale i
translate <0, 0, j>
}
#declare j=j+0.02;
#declare i=i-0.008;
#end
}
}
union {
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { doutaiTexture }
scale <0.75, 1.35, 1>
translate <0, 0, 0.2>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { doutaiTexture }
scale <1, 1, 1.5>
translate <0.0, -0.5, 0.0>
}
}
}
}
//主翼
union {
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { mainwingTexture }
scale <3.6, 0.2, 0.9>
rotate <0, -15, 0>
translate <0, -0.05, 0.25>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { mainwingTexture }
scale 2
translate <-1, 0, 0>
}
}
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { mainwingTexture }
scale <3.6, 0.2, 0.9>
rotate <0, 15, 0>
translate <0, -0.05, 0.25>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { mainwingTexture }
scale 2
translate <1, 0, 0>
}
}
translate <0, -0.15, 0>
}
//垂直尾翼
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { mainwingTexture }
scale <0.1, 1.4, 0.5>
rotate <15, 0, 0>
translate <0.0, 0.0, 1.6>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { mainwingTexture }
translate <0.0, -0.5, 1.6>
}
}
//尾翼
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { mainwingTexture }
scale <1.6, 0.1, 0.6>
rotate <0, -20, 0>
translate <0.0, -0.1, 1.6>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { mainwingTexture }
translate <-0.5, 0, 1.6>
}
translate <0, -0.08, 0>
}
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { mainwingTexture }
scale <1.6, 0.1, 0.6>
rotate <0, 20, 0>
translate <0.0, -0.1, 1.6>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { mainwingTexture }
translate <0.5, 0, 1.6>
}
}
//以下プロペラ
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { proTexture }
translate <0.0, 0.0, -0.5>
scale 0.6
}
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { proTexture }
scale <0.3, 1.5, 0.3>
rotate <90, 0, 0>
translate <0, 0, -0>
}
//プロペラのはね1
motion_blur {
union {
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { proTexture }
scale <0.15, 1.3, 0.05>
translate <0.0, 0.0, -0.64>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { proTexture }
translate <0.0, -0.5, -0.5>
}
}
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { proTexture }
scale <0.15, 1.3, 0.05>
translate <0.0, 0.0, -0.64>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { proTexture }
translate <0.0, -0.5, -0.5>
}
rotate <0, 0, -120>
}
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { proTexture }
scale <0.15, 1.3, 0.05>
translate <0.0, 0.0, -0.64>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { proTexture }
translate <0.0, -0.5, -0.5>
}
rotate <0, 0, 120>
}
}
rotate clock*z
}
//コックピット
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { cockTexture }
scale <0.75, 1.35, 1>
translate <0, 0, 0.2>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { cockTexture }
scale <1, 1, 1.5>
translate <0.0, -0.5, 0.0>
}
}
//コックピットのカバー
difference {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { doutaiTexture }
scale <0.8, 1.44, 1.0666666667>
translate <0, 0, 0.2>
}
union {
sphere {
<0.0, 0.0, 0.0>, 0.5
texture { doutaiTexture }
scale <0.75, 1.35, 1>
translate <0, 0, 0.2>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { cockTexture }
scale <1, 1, 2>
translate <0.0, -0.25, 0.0>
}
box {
<-0.5, -0.5, -0.5>, <0.5, 0.5, 0.5>
texture { doutaiTexture }
translate <0, 0.5, -0.4>
}
}
}
//目
sphere {
<0.0, 0.0, 0.0>, 0.5
texture {
pigment {
gradient <0.0, 0.0, 1.0>
color_map {
[ 0.0 rgb <1.000000, 1.000000, 1.000000> ]
[ 0.8 rgb <1.000000, 1.000000, 1.000000> ]
[ 0.95 rgb <0.000000, 0.000000, 0.000000> ]
[ 0.97 rgb <0.0, 0.0, 0.0> ]
[ 0.98 rgb <0.000000, 0.308370, 0.499992> ]
[ 1.0 rgb <0.000015, 0.533410, 0.800000> ]
}
scale 0.5
}
}
rotate <30, -36, 0>
scale 0.3
translate <0, 0.45, 0.1>
}
}
}
object {
hikohki
}
object {
hikohki
translate <-3, 0, 3>
}
object {
hikohki
translate <3, 0, 3>
}
object {
hikohki
translate <3, 3, -3>
}
object {
hikohki
translate <6, 3, -6>
}
object {
hikohki
translate <-6, 3, -6>
}