[Three.js] 平面ジオメトリに画像をテクスチャとして貼り付ける

前回に続き、Three.jsです。

今回は平面ジオメトリとなるPlaneGeometryに画像をテクスチャとして指定しています。

import * as THREE from "three"


(function(window, document) {

	// シーンの生成
	const scene = new THREE.Scene();

	// カメラ
	const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

	// レンダラーの生成と追加(要するにcanvas要素である)
	const renderer = new THREE.WebGLRenderer();
	renderer.setSize(window.innerWidth, window.innerHeight);
	document.body.appendChild( renderer.domElement );

	// ライトの追加(環境光)
	const light = new THREE.AmbientLight(0xFFFFFF, 1.0);
	scene.add(light);

	// ライトの追加(特定方向に照射される光源)
	const directLight = new THREE.DirectionalLight(0xFFFFFF, 1);
	scene.add(directLight);

	// 平面ジオメトリ
	const geometry = new THREE.PlaneGeometry(16, 9);

	// テクスチャとして平面に貼り付ける画像をロード
	const loader = new THREE.TextureLoader();
	const texture = loader.load('./images/textture.jpg');

	// MeshBasicMaterialにテクスチャを渡す。
	const material = new THREE.MeshBasicMaterial({
		map:texture
	});

	const plane = new THREE.Mesh(geometry, material);
	scene.add(plane);

	camera.position.z = 20;

	plane.rotation.x = 0.2;
	plane.rotation.y = 0.08;

	function animate() {
		requestAnimationFrame(animate);

		renderer.render(scene, camera);
	}


	animate();

})(window, document);

肝はTextureLoaderとMeshBasicMaterialの箇所です。
これはあくまでも簡易的且つ手段の一つでしかないです。

今回は動きをつけていません。

デモはこちら