Communityコーディング&開発github.com

cloudai-x/threejs-materials

Three.jsのマテリアル - PBR、ベーシック、フォン、シェーダーマテリアル、マテリアルプロパティ。メッシュのスタイリング、テクスチャの操作、カスタムシェーダーの作成、マテリアルのパフォーマンス最適化に使用します。

threejs-materials とは?

このスキル(cloudai-x/threejs-materials)は、Three.jsにおけるマテリアル関連の操作を包括的にサポートします。PBR(物理ベースレンダリング)、ベーシック、フォン、シェーダーマテリアルなど、主要なマテリアルタイプを扱い、マテリアルプロパティの設定やテクスチャの適用、カスタムシェーダーの作成を効率的に行えます。特に、メッシュのスタイリングやパフォーマンス最適化の際に有用で、開発者はThree.jsの知識が浅くても、希望するビジュアル表現や最適化手法を迅速に実装できます。VSCodeやGitHub Copilotなどの開発環境と連携し、コード補完や自然言語による指示を通じてThree.jsのマテリアル作業を大幅に効率化します。SKILL.mdにはマテリアルの種類ごとの解説と使用例が豊富に含まれており、初心者から上級者まで幅広く活用できます。

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

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

threejs-materials は何をしますか?

Three.jsのマテリアル - PBR、ベーシック、フォン、シェーダーマテリアル、マテリアルプロパティ。メッシュのスタイリング、テクスチャの操作、カスタムシェーダーの作成、マテリアルのパフォーマンス最適化に使用します。

概要

このスキルは、Three.jsで利用可能なさまざまなマテリアルタイプをカバーしています。各マテリアルは独自のプロパティセットを持ち、特定の用途に適しています。

マテリアルタイプ

PBRマテリアル

  • MeshStandardMaterial - 物理ベースレンダリング(PBR)に基づく標準マテリアル。金属と粗さのプロパティをサポート。
  • MeshPhysicalMaterial - MeshStandardMaterialを拡張し、透明性、反射率、クリアコートなどの高度な物理プロパティを追加。

ベーシックマテリアル

  • MeshBasicMaterial - ライティングの影響を受けない単純なマテリアル。ワイヤフレームや単色表示に便利。
  • MeshLambertMaterial - ランバート反射モデルを使用した非光沢マテリアル。低パフォーマンスコスト。

フォンマテリアル

  • MeshPhongMaterial - フォン反射モデルを使用した光沢マテリアル。鏡面反射ハイライトをサポート。

シェーダーマテリアル

  • ShaderMaterial - カスタムGLSLシェーダーを使用するための柔軟なマテリアル。高度なビジュアルエフェクトに最適。
  • RawShaderMaterial - ShaderMaterialと似ていますが、頂点とフラグメントシェーダーの完全な制御を提供。

マテリアルプロパティ

一般的なプロパティ:

  • color - マテリアルの基本色(16進数、RGB、または16進文字列)。
  • map - 拡散テクスチャマップ。
  • roughness - 表面の粗さ(0~1)。0は完全に滑らか、1は完全に粗い。
  • metalness - 表面の金属度(0~1)。0は非金属、1は金属。
  • transparent - 透明度を有効にするかどうか。
  • opacity - 透明度の度合い(0~1)。
  • side - レンダリングする面(THREE.FrontSide、THREE.BackSide、THREE.DoubleSide)。

使用例

import * as THREE from 'three';

// PBRマテリアルの作成
const material = new THREE.MeshStandardMaterial({
  color: 0x44aa88,
  roughness: 0.4,
  metalness: 0.8,
  map: textureLoader.load('texture.jpg')
});

// メッシュへの適用
const geometry = new THREE.BoxGeometry(1, 1, 1);
const mesh = new THREE.Mesh(geometry, material);
scene.add(mesh);

パフォーマンス最適化のヒント

  • 静的マテリアルにはMeshStandardMaterialの代わりにMeshLambertMaterialまたはMeshBasicMaterialを使用する。
  • テクスチャは適切なサイズに圧縮し、可能な場合はミップマップを使用する。
  • カスタムシェーダーでは、不要な計算を避ける。
  • マテリアルの共有化を検討する(同じプロパティのマテリアルは再利用する)。

サポート環境

  • Three.js r152以上
  • WebGL 2.0互換ブラウザ
  • Node.js(サーバーサイドレンダリングの場合)

詳細情報

公式ドキュメントを参照してください:https://threejs.org/docs/#api/en/materials/Material

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-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.

cloudai-x/threejs-textures

Three.js textures - texture types, UV mapping, environment maps, texture settings. Use when working with images, UV coordinates, cubemaps, HDR environments, or texture optimization.

関連スキル