チュートリアル
マウス情報をメッシュで受け取る方法

マウス情報をメッシュで受け取る方法

negl では data-interactive 属性を HTML タグに付与することで、マウスの情報をメッシュで受け取れるようになります。実際に以下の手順で確認してみましょう。

エフェクトのダウンロード

まずはmouse-splitエフェクトをダウンロード&解凍して、src/scripts/parts フォルダに配置してください。

HTML に属性を追加する

では HTML から mouse-split エフェクトを読み込んでみましょう。以下のように HTML タグのdata-webgl属性に、mouse-split を設定してください。

index.html
<div class="page-container">
  <!-- data-webgl属性の値としてmouse-splitを設定 -->
  <div
    data-webgl="mouse-split"
    class="test-effect"
    data-tex-1="/img/dog.jpg"
    data-tex-2="/img/cat.jpg"
  ></div>
  <style>
    .test-effect {
      width: 500px;
      height: 500px;
    }
  </style>
</div>

これで画面を更新すると mouse-split のエフェクトが画面に表示されます。しかし、マウスの位置よるアニメーションはまだ動いていない状態です。

mouse-splitエフェクト

では、次にdata-interactive属性を追加しましょう。(属性値の設定は必要ありません。)

index.html
<div class="page-container">
  <!-- data-interactive属性を追加 -->
  <div
    data-interactive
    data-webgl="mouse-split"
    class="test-effect"
    data-tex-1="/img/dog.jpg"
    data-tex-2="/img/cat.jpg"
  ></div>
  <style>
    .test-effect {
      width: 500px;
      height: 500px;
    }
  </style>
</div>

これでマウスカーソルに合わせてアニメーションが実行されます。実際に画面で確認してみてください。

マウス情報の受け取りの詳細は応用編 (opens in a new tab)をご覧ください。

ちなみに、index.js には特別な記述は必要ありません。

💡index.jsの状態を確認したい方はこちら!
💡data-interactive の裏側で行われること!
💡data-interactiveの効果をJSで実現する方法