オブジェクトに画像を貼り付けよう(2)


球体や円筒(シリンダー)に画像を貼り付けるときには,オプションを付け加える必要があります。ここでは次のような画像を使って,例を挙げてみましょう。

上の画像は横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>
}

上の例では,球体を扁平にして,平面に貼り付けるような感じで画像を貼り付けています。


戻る