Edited at

MacからJoy-Conを動かしてNintendo Laboを先取りしてみた

More than 1 year has passed since last update.


どのようなものを作ったか

このようなものを作った


なぜ作ったか

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を用いて

このようなモデルを作成した

スクリーンショット 2018-03-02 16.29.57.png

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

を使っても

なぜかうまく行かなかったので誰かやってくれたら嬉しい