背面打ちスプリットパッド
- controller
- three.js
- webgpu
左右に分かれたゲームコントローラーの 3D モデルである。親指は正面のスティックだけを担当し、ABXY と十字キーは背面に移して中指と薬指で押す。人差し指はトリガーとバンパーを受け持つので、親指をスティックから離さずに全部のボタンを押せる。
モデルのページでは、ドラッグで回して、ボタンを押すとその指が押す動きを見られる。握った手は WebXR Input Profiles の手のモデルを、関節の位置に合わせて曲げている。
本体は握った手の形に削ってあり、指の付け根と手のひらが当たる場所に凹みがある。薬指と小指のあいだにはリブを立てて、2 本の指がこすれないようにした。手の甲を渡るストラップと、薬指と小指を押さえる 2 本目の輪で、背面ボタンから指を離しても本体が落ちない。
ページの中では、手を振ったときに本体が外れるかを WebGPU で物理演算できる。振り方・手の向き・指の状態を選んで振ると、手に対する本体のずれと傾きが出る。肘を支点に振る程度なら、背面ボタンから指を離しても落ちない。肘を支点に ±45° の幅で、1 秒間 2.5 往復の激しさで振ると落ちる。