Community画像github.com

cloudai-x/threejs-textures

Three.js テクスチャ - テクスチャタイプ、UV マッピング、環境マップ、テクスチャ設定。画像、UV 座標、キューブマップ、HDR 環境、テクスチャ最適化を扱う際に使用します。

threejs-textures とは?

このスキルは、Three.js におけるテクスチャ関連の包括的な知識を提供します。画像テクスチャの基本から、UV マッピングによる座標操作、キューブマップや HDR 環境マップを用いた高度な環境表現、テクスチャのフィルタリングやラッピング設定、メモリ最適化までをカバーします。開発者はこのスキルを活用することで、視覚的にリッチな 3D シーンを効率的に構築できるようになります。主に Three.js ライブラリを利用した Web 開発環境で動作し、コード例と設定パラメータの具体的な説明により、テクスチャの適用からパフォーマンス調整までをサポートします。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cloudai-x/threejs-skills/tree/main/skills/threejs-textures

Installed? Explore more 画像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

threejs-textures は何をしますか?

Three.js テクスチャ - テクスチャタイプ、UV マッピング、環境マップ、テクスチャ設定。画像、UV 座標、キューブマップ、HDR 環境、テクスチャ最適化を扱う際に使用します。

テクスチャタイプ

Three.js は様々なテクスチャタイプをサポートしています。

  • 画像テクスチャ (ImageTexture): 最も一般的なテクスチャ。TextureLoader を使用して画像ファイルから読み込みます。
  • キャンバステクスチャ (CanvasTexture): HTML の <canvas> 要素からテクスチャを生成します。動的なテクスチャ生成に便利です。
  • データテクスチャ (DataTexture): 生のピクセルデータからテクスチャを作成します。プログラムによるテクスチャ生成に使用します。
  • キューブテクスチャ (CubeTexture): 6 つの面からなるキューブマップを表現します。環境マッピングやスカイボックスに使用します。
  • ビデオテクスチャ (VideoTexture): 動画ファイルをテクスチャとして使用します。
  • コンパressed テクスチャ: DDS、KTX、PVRTC などの圧縮形式に対応しています。

UV マッピング

UV マッピングは、2D テクスチャを 3D モデル表面にマッピングするプロセスです。

  • UV 座標は、テクスチャ上の水平方向 (U) と垂直方向 (V) の位置を 0 から 1 の範囲で指定します。
  • 各頂点に UV 座標が割り当てられ、テクスチャのどの部分がその頂点にマッピングされるかを決定します。
  • Three.js のジオメトリ (例: BoxGeometry、SphereGeometry) は自動的に UV 座標を生成します。カスタムジオメトリの場合は、geometry.attributes.uv を設定します。

環境マップ

環境マップは、反射や屈折などの光学的効果をシミュレートするために使用されます。

キューブマップ

  • 6 つの正方形の画像で構成され、周囲の環境を表現します。
  • CubeTextureLoader を使用して読み込みます。
  • 環境マップとして設定するには、material.envMap に割り当てます。

HDR 環境

  • HDR (High Dynamic Range) 環境マップは、より広い輝度範囲を提供します。
  • RGBELoader や EXRLoader などのローダーを使用して読み込みます。
  • PMREMGenerator を使用して、HDR 環境をプリフィルタリングし、拡散反射やスペキュラ反射に使用します。

テクスチャ設定

テクスチャの見た目や動作を制御するための設定があります。

フィルタリング

  • minFilter: テクスチャが縮小されるときのフィルタリング方法。LinearFilter、NearestFilter、MipmapLinearFilter など。
  • magFilter: テクスチャが拡大されるときのフィルタリング方法。LinearFilter、NearestFilter。
  • anisotropy: 異方性フィルタリングのレベル。視点に対して斜めのサーフェスでぼやけを軽減します。

ラッピング

  • wrapS と wrapT: テクスチャ座標が 0-1 の範囲を超えた場合の動作。RepeatWrapping、ClampToEdgeWrapping、MirroredRepeatWrapping。
  • repeat: テクスチャの繰り返し回数。Vector2(x, y) で設定します。
  • offset: テクスチャのオフセット位置。Vector2(x, y) で設定します。

変換

  • rotation: テクスチャの回転角度(ラジアン)。
  • center: 回転の中心点。Vector2(x, y) で設定します。

テクスチャ最適化

パフォーマンス向上のためのテクスチャ最適化テクニック。

  • テクスチャアトラス: 複数の小さなテクスチャを 1 枚の大きなテクスチャにまとめることで、ドローコールを減らします。
  • ミップマップ: 異なる解像度のテクスチャを事前に生成し、距離に応じて適切な解像度を使用することで、レンダリング品質とパフォーマンスのバランスをとります。
  • 圧縮テクスチャ: ファイルサイズを削減し、ロード時間を短縮します。
  • テクスチャサイズの制限: テクスチャの解像度を必要なだけに制限し、2 の累乗サイズを使用することで、GPU メモリの効率的な利用を促進します。

これらの知識を活用することで、Three.js アプリケーションにおけるテクスチャの効果的な利用と最適化が可能になります。

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

cloudai-x/threejs-animation

Three.js animation - keyframe animation, skeletal animation, morph targets, animation mixing. Use when animating objects, playing GLTF animations, creating procedural motion, or blending animations.

cloudai-x/threejs-fundamentals

Three.js scene setup, cameras, renderer, Object3D hierarchy, coordinate systems. Use when setting up 3D scenes, creating cameras, configuring renderers, managing object hierarchies, or working with transforms.

cloudai-x/threejs-geometry

Three.js geometry creation - built-in shapes, BufferGeometry, custom geometry, instancing. Use when creating 3D shapes, working with vertices, building custom meshes, or optimizing with instanced rendering.

cloudai-x/threejs-interaction

Three.js interaction - raycasting, controls, mouse/touch input, object selection. Use when handling user input, implementing click detection, adding camera controls, or creating interactive 3D experiences.

cloudai-x/threejs-lighting

Three.js lighting - light types, shadows, environment lighting. Use when adding lights, configuring shadows, setting up IBL, or optimizing lighting performance.

cloudai-x/threejs-loaders

Three.js asset loading - GLTF, textures, images, models, async patterns. Use when loading 3D models, textures, HDR environments, or managing loading progress.

cloudai-x/threejs-materials

Three.js materials - PBR, basic, phong, shader materials, material properties. Use when styling meshes, working with textures, creating custom shaders, or optimizing material performance.

cloudai-x/threejs-postprocessing

Three.js post-processing - EffectComposer, bloom, DOF, screen effects. Use when adding visual effects, color grading, blur, glow, or creating custom screen-space shaders.

cloudai-x/threejs-shaders

Three.js shaders - GLSL, ShaderMaterial, uniforms, custom effects. Use when creating custom visual effects, modifying vertices, writing fragment shaders, or extending built-in materials.

関連スキル