##どのようなものを作ったか
うごいたぁ
— Riti (@riti_daichizaki) 2018年2月20日
が
右左で微妙に出力が違うきがする pic.twitter.com/lKvh59c1d0
このようなものを作った
##なぜ作ったか
NintendoLaboのCMを深夜に見て触発された
##実装
まずJoy-Conを振動させるためのライブラリを探した
バイブレーションを動かせるライブラリは
GoLangのライブラリ
https://github.com/nobonobo/joycon/new/master
Unityのライブラリ
https://github.com/Looking-Glass/JoyconLib
上記の2つがありました。
なので使い慣れたUnityのライブラリを使って
以下のようなコードを書いた
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Rimokon : MonoBehaviour {
List<Joycon> joycons;
Joycon joyconL;
Joycon joyconR;
// Use this for initialization
void Start () {
joycons = JoyconManager.Instance.j;
if ( joycons == null || joycons.Count <= 0 ) return;
joyconL = joycons.Find( c => c.isLeft );
joyconR = joycons.Find( c => !c.isLeft );
}
// Update is called once per frame
void FixedUpdate () {
joyconR.SetRumble(100, 580, 0.6f, 200);
joyconL.SetRumble(100, 580, 0.6f, 200);
}
}
何かしからかのオブジェクトにアタッチして
Joy-ConをBlueToothでPCに接続してあげれば動くはず
##CADでのモデル作成
CADはFusion360を用いて
このようなモデルを作成した
3Dプリンターで印刷をしてJoy-Conをくっつけて完成
STLファイル置いとくので
やりたい人いたらどうぞ
https://www.dropbox.com/s/dees2exew9b9eux/SwitchRadicon.stl?dl=0
##終わりに
3Dプリンターで作成はしたのですが安定度とか作りやすさ
振動の伝わりやすさなども考慮して考えると
やはりダンボールのすごさを感じた
今回のライブラリはHIDの信号を直接送ることで
Joy-Conのランブリングを可能にしたと思っていたが
NodeJSのHIDの信号のライブラリ
https://github.com/node-hid/node-hid
を使っても
なぜかうまく行かなかったので誰かやってくれたら嬉しい