2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

みなさんは、Three.jsで3Dオブジェクトにテクスチャを反映させたいと思ったことはありますか?
この記事では、Three.jsを使った、テクスチャを反映させる方法を紹介しようと思います!

テクスチャを反映する

① テクスチャをロードする

TextureLoader() は、画像を読み込むためのクラスです。
TextureLoader()を使って、画像を読み込みます!

const textureLoader = new THREE.TextureLoader()
const texture = textureLoader.load('/textures/image.png')

② カラースペースを定義する

読み込む画像がsRGBカラースペースを使っているので、画像がちゃんと読み込まれるようにsRGBカラースペースを定義します。

const textureLoader = new THREE.TextureLoader()
const texture = textureLoader.load('/textures/image.png')

texture.colorSpace = THREE.SRGBColorSpace

③ テクスチャを反映する

テクスチャを反映させます。

const textureLoader = new THREE.TextureLoader()
const texture = textureLoader.load('/textures/image.png')
texture.colorSpace = THREE.SRGBColorSpace

const geometry = new THREE.BoxGeometry(1, 1, 1) // オブジェクトを定義
const material = new THREE.MeshBasicMaterial({ map: texture }) // テクスチャを定義
const mesh = new THREE.Mesh(geometry, material) // メッシュベースのオブジェクトにする
scene.add(mesh) // シーンにメッシュを追加

④ 完成系

テクスチャを調整する

分割する

const texture = textureLoader.load('/textures/image.png')
texture.colorSpace = THREE.SRGBColorSpace
texture.repeat.x = 2
texture.repeat.y = 3

このようにすることで、
x軸に1 / 2個分のサイズに、y軸に1 / 3個分のサイズになり、
足りない部分は、端のピクセルが引き伸ばされます。

リピートする

texture.wrapS = THREE.RepeatWrapping
texture.wrapT = THREE.RepeatWrapping

リピートの方向性を変える

texture.wrapS = THREE.MirroredRepeatWrapping
texture.wrapT = THREE.MirroredRepeatWrapping

オフセットをつける

texture.offset.x = 0.5
texture.offset.y = 0.5

回転させる

colorTexture.rotation = Math.PI * 0.25
colorTexture.center.x = 0.5
colorTexture.center.y = 0.5

まとめ

この記事では、Three.jsでテクスチャを反映させる方法を紹介しました。


最後まで読んでくださってありがとうございます!

普段はデザインやフロントエンドを中心にQiitaで記事を投稿しているので、ぜひQiitaのフォローとX(Twitter)のフォローをお願いします。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?