mcpField
T
tresjs

tresjs

github.com/onmaxクリエイティブ・メディア7231.2k 回インストール今日更新
リポジトリ

tresjs について

tresjsは、Three.jsオブジェクトを宣言的なコンポーネントとして扱うVue 3開発者向けの3Dシーン構築スキルです。コアAPI、補助パッケージ、ポストプロセス、シーン作成の基本を扱います。

主な機能

  1. 01宣言的なThree.jsコンポーネント
  2. 02リアクティブなシーン属性
  3. 03TresCanvasのシーンとレンダラー
  4. 04モデル・操作・マテリアルの補助機能
  5. 05ポストプロセス効果

活用シーン

  1. 01Vue 3での3Dシーン構築
  2. 023Dモデルの読み込みと表示
  3. 03カメラ操作とアニメーションの追加
  4. 04シーンへのポストプロセス設定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/onmax/nuxt-skills --skill tresjs

インストール後、Claude Code で/tresjsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cientos.md
cookbook.md
core.md
effects.md

詳細

TresJS

Three.js で 3D シーンを構築するための Vue 3 フレームワークです。Three.js オブジェクトをラップする宣言的なコンポーネントを提供します。

パッケージ: @tresjs/core(必須)、@tresjs/cientos(ヘルパー)、@tresjs/post-processing(エフェクト)

インストール

# Core (required)
pnpm add three @tresjs/core

# Helpers - controls, loaders, materials, staging
pnpm add @tresjs/cientos

# Post-processing effects
pnpm add @tresjs/post-processing

クイックリファレンス

作業内容読み込むファイル
TresCanvas、useTres、useLoopreferences/core.md
コントロール、ローダー、マテリアルreferences/cientos.md
Bloom、glitch、DOF エフェクトreferences/effects.md
一般的なパターン、レシピreferences/cookbook.md

ファイルの読み込み

タスクに応じて読み込んでください:

すべてのファイルを一度に読み込まないでください。 関連するファイルのみを読み込んでください。

コアコンセプト

TresCanvas

WebGL レンダラーとシーンを作成するルートコンポーネントです:

<script setup lang="ts">
import { TresCanvas } from '@tresjs/core'
</script>

<template>
  <TresCanvas shadows alpha>
    <TresPerspectiveCamera :position="[5, 5, 5]" />
    <TresMesh>
      <TresBoxGeometry />
      <TresMeshStandardMaterial color="orange" />
    </TresMesh>
    <TresAmbientLight :intensity="0.5" />
    <TresDirectionalLight :position="[3, 3, 3]" :intensity="1" />
  </TresCanvas>
</template>
コンポーネントの命名

利用可能なすべての Three.js クラスを、Tres プレフィックス付きの Vue コンポーネントとして使用できます:

  • THREE.PerspectiveCamera → <TresPerspectiveCamera />
  • THREE.Mesh → <TresMesh />
  • THREE.BoxGeometry → <TresBoxGeometry />
  • THREE.MeshStandardMaterial → <TresMeshStandardMaterial />

コンストラクターの引数は :args プロパティで指定します:

<TresPerspectiveCamera :args="[75, 1, 0.1, 1000]" />
リアクティビティ

プロパティはリアクティブで、変更すると 3D シーンが更新されます:

<script setup>
const color = ref('orange')
const position = ref([0, 0, 0])
</script>

<template>
  <TresMesh :position="position">
    <TresMeshStandardMaterial :color="color" />
  </TresMesh>
</template>
Primitive コンポーネント

既存の Three.js オブジェクトを直接挿入します:

<script setup>
import { useGLTF } from '@tresjs/cientos'
const { scene } = await useGLTF('/model.glb')
</script>

<template>
  <primitive :object="scene" />
</template>

利用可能なガイダンス

references/core.md - TresCanvas のプロパティ、useTres、useLoop、useGraph、イベント、パフォーマンス

references/cientos.md - OrbitControls、useGLTF、useTexture、Environment、Sky、マテリアル、シェイプ

references/effects.md - EffectComposer と EffectComposerPmndrs の比較、Bloom、glitch、DOF、エフェクトの重ね合わせ

references/cookbook.md - 3D モデルの読み込み、コントロール付きカメラ、アニメーションループ、ポストプロセッシング

コメント