Okamoto's Homepage
球体や円筒(シリンダー)に画像を貼り付けるときには,オプションを付け加える必要があります。ここでは次のような画像を使って,例を挙げてみましょう。
上の画像は横240ピクセル,縦120ピクセルです。横と縦の比率は2:1で,ファイル名は「05.jpg」です。シーンファイルと同じフォルダに保存してあります。
上の画像を,球体を包むように貼り付けたいときは,「map_type 1」というオプションを付け加えてやります。「pigment { }」内にたとえば次のように書きます。
![]() |
texture {
pigment {
image_map {
jpeg "05.jpg"
map_type 1
}
}
}
|
1枚の画像で球全体をぐるっと包み込むので,「once」というキーワードは必要ありません。
同じように,円筒(シリンダー)を包むように貼り付けるには「map_type 2」というオプションを付け加えます。ただし,このオプションを付け加えただけだと,1×1の範囲に貼り付けられた画像が繰り返されます(下の画像)ので,「once」オプションを追加したり,scaleやtranslateで大きさや位置を調整する必要があります。
![]() |
texture {
pigment {
image_map {
jpeg "05.jpg"
map_type 2
}
}
}
|
onceを追加し,大きさや位置を調整すると,次のような画像が出来上がります。
![]() |
texture { pigment { image_map { jpeg "05.jpg" map_type 2 once } } scale <1, 2.01, 1> translate <0, -1.005, 0> } |
scaleのyの値が2.01,translateのyの値が1.005になっています。これを2,1にするとどうなってしまうかは,各自試してみてください。
トーラスに貼り付けるときは,「map_type 5」を付け加えます。
![]() |
texture {
pigment {
image_map {
jpeg "05.jpg"
map_type 5
}
}
}
|
球体のときに必ずmap_type 1をつけなければいけないかといえば,そういう訳ではありません。別の効果をねらって,別のオプションを付けたりすることもあります。
![]() |
object { sphere { <0, 0, 0>, 1 } texture { pigment { image_map { jpeg "05.jpg" map_type 0 } } } scale <1, 1, 0.1> } |
上の例では,球体を扁平にして,平面に貼り付けるような感じで画像を貼り付けています。