使い方ガイドへスキップ
Three.js Interaction作者 CloudAI-X

Three.js Interaction スキル。

キャンバスとカメラの実際の座標を使って、ジェスチャーを意図した3Dオブジェクトに結び付けます。

  • 3D
  • Three.js
ソースレビュー · Three.js InteractionSKILL.md
タスク 3D 成果物 • キャンバス相対座標によるオブジェクトのピッキング • 適切なカメラコントロール設定 • 選択、ホバー、ドラッグ、トランスフォームの動作 始める前に 動作する Three.js プロジェクトとレンダラーが必要です。ソース内の例は、インストール済みのリリースに照らして確認してください。追加のコントロールやローダーは、選ぶ方法によって異なります。
編集者による要約 · ソース確認日 2026-10-07 · 生成された例ではありません

01 機能概要

Three.js Interaction:オブジェクトのピッキングと操作

レイベースのピッキング、座標変換、カメラコントロール、選択、オブジェクト操作。

ソースに基づくワークフロー実行ベンチマークではありません

進め方

Three.js Interaction はレイキャスティングとコントロールを扱います。画面入力がどのようにカメラのレイになるか、交差結果でオブジェクトやインスタンスをどう特定するか、そして埋め込みキャンバスではウィンドウ全体を前提にせず専用の座標変換が必要な理由を説明しています。

カメラ操作とオブジェクト操作は別の役割です。オービット、フライ、マップ、ドラッグ、トランスフォームの各コントロールは役割が異なります。エディターのようなシーンでは、モデルをドラッグしたときにカメラまで回転しないよう、これらのハンドラーを調整する必要があります。

期待される成果物

  • キャンバス相対座標によるオブジェクトのピッキング
  • 適切なカメラコントロール設定
  • 選択、ホバー、ドラッグ、トランスフォームの動作
サンプル指示を見る

指示からレビューまで

  1. 01
    対象を定義する

    選択可能なオブジェクトを一覧にし、入れ子のメッシュやインスタンスを個別の対象として扱うかを決めます。

  2. 02
    入力を対応付ける

    ポインター位置をキャンバスの矩形に対して正規化し、アクティブなカメラを通してレイキャストします。

  3. 03
    コントロールを調整する

    操作中のナビゲーションの競合を管理し、選択が変わったときにフィードバックを元に戻します。

02 利用場面

使う場面

動作する Three.js プロジェクトとレンダラーが必要です。ソース内の例は、インストール済みのリリースに照らして確認してください。追加のコントロールやローダーは、選ぶ方法によって異なります。

適したケース

  • 製品コンフィギュレーター製品のパーツを選択し、その特定のオブジェクトをハイライトしたり操作したりします。
  • シーンエディター選択したジオメトリの移動、回転、拡大縮小に、トランスフォームまたはドラッグのコントロールを使います。

確認すべき制限

  • アクセシビリティは別問題ですポインターの例だけでは、キーボードや支援技術での利用が確保されるわけではありません。
  • ライフサイクルの確認が必要です実際のアプリケーションで、コントロールの API を確認し、イベントハンドラーをクリーンアップしてください。

用意する情報

  • シーン階層選択可能なメッシュとインスタンスを特定してください。
  • キャンバスの配置実際の埋め込みビューとアクティブなカメラを用意してください。
  • 入力の挙動ナビゲーション、操作、タッチ、代替コントロールを指定してください。

03 重要な判断

重要な判断ポイント

  1. 正確な正規化

    キャンバス相対座標を使うと、ページレイアウト内でピッキングがずれるのを防げます。

  2. 操作の主導権

    競合するコントロールを無効にすると、各ジェスチャーの目的が一つに定まります。

04 依頼例

絞った指示で試す

下のサンプル指示はテストされていません。使用前にスキルのセットアップを確認してください。

セットアップを確認する

関連する threejs-skills ディレクトリをエージェント向けガイダンスとして使います。Three.js のランタイムではなく、シーンアセットもインストールされません。

アップストリームのソースファイル
https://github.com/CloudAI-X/threejs-skills/blob/b1c623076c661fc9b03dac19292e825a5d106823/skills/threejs-interaction/SKILL.md

動作する Three.js プロジェクトとレンダラーが必要です。ソース内の例は、インストール済みのリリースに照らして確認してください。追加のコントロールやローダーは、選ぶ方法によって異なります。

まず一つの成果物から

スキルを実行する前に、この指示の範囲、素材、制約を調整してください。

サンプル指示
threejs-interaction を使って、この埋め込み型の製品ビューアーに選択機能を追加してください。キャンバス相対座標を使い、リストにあるパーツだけをレイキャストします。選択したパーツをハイライトし、オービットコントロールがオブジェクトのドラッグと競合しないようにしてください。キーボードでの代替操作は別途説明してください。

結果を確認する

実際の出力を、以下の観察可能な基準に照らして確認してください。

  • レイアウトが変わってもピッキングが正確なままである。
  • ドラッグしてもカメラがオービットしない。
  • 古いハイライトとリスナーが明示的に処理されている。

OpenDesign は、コーディングエージェント向けのローカルなデザインワークスペースを提供します。この掲載は、スキルが同梱されていることや、外部ツール、認証情報、ソフトウェア依存関係が含まれていることを意味しません。

05 ソースとライセンス

ソースとライセンス

このページでは、以下にリンクされた固定のソースリビジョンについて説明しています。アップストリームの挙動や要件は変更される場合があります。

ソースの所有者
CloudAI-X
ライセンス
未確認 — 再利用する前にアップストリームの条件を確認してください。
確認したスナップショット
2026-10-07 · b1c623076c66
編集者によるソース要約
レイベースのピッキング、座標変換、カメラコントロール、選択、オブジェクト操作。

リンク先のソースに基づく OpenDesign のオリジナル要約です。リポジトリのスター数は日付時点の人気の指標であり、スキルの利用状況や品質スコアではありません。

06 開始前の質問

始める前の質問

インスタンスを区別できますか?

ドキュメントにある交差結果には、InstancedMesh 用の instanceId が含まれます。

埋め込みキャンバスでクリックが外れるのはなぜですか?

考えられる原因の一つは、キャンバスの矩形ではなくウィンドウの寸法を使っていることです。

オービットナビゲーションだけを扱いますか?

いいえ。複数のカメラコントロールモデルに加え、オブジェクトのドラッグやトランスフォームも扱っています。

OpenDesign

次のデザイン反復の余地をつくりましょう。

指示、素材、デザイン作業をローカルワークスペースにまとめて管理できます。ワークフローに追加する前に、スキル自体のセットアップを確認してください。

アップストリームのソースファイル
https://github.com/CloudAI-X/threejs-skills/blob/b1c623076c661fc9b03dac19292e825a5d106823/skills/threejs-interaction/SKILL.md