2026年7月25日(土)、品川の Creative Lounge で開かれた「OEDC×Iwaken Lab. XR開発者マイコン入門ハンズオン」に、講師として参加してきました。
テーマは、XR開発者がマイコンに触れてみること。そしてもうひとつ、ハードウェアのものづくりをしている人が多い OEDC と、XR開発をしている人が多い Iwaken Lab.、この2つのコミュニティが混ざる場をつくること。共催という形自体がテーマの一部になっているイベントでした。
XRをやっていると、HMDやコントローラー、スマートフォンといった「既にあるハードウェア」の上でソフトを書く、という発想に閉じがちです。でも体験そのものを深めようとすると、どこかで既存ハードの枠の外側を設計する必要が出てくる。そしてその一歩目は、実機の調達も環境構築も含めてとにかく重い。
だからこそ、こういう場を作ってくださったこと自体がありがたいと思っています。OEDC と Iwaken Lab.、そしていろんなところをつないでくださったさくたまさんに感謝しています。私自身、OEDC(オープンエッジデバイス研究コミュニティ)という面白いコミュニティがあることを今回知れたのも収穫でした。
担当したハンズオンパート
ハンズオンパートのゴールは、Unity のサンプルシーンが動くところまでです。M5Stack のタッチ、または物理ボタンの押下を OSC で Unity に送り、シーン上のオブジェクトが爆発する。ここまで全員が到達することを目標にしました。Quest への持ち出しは、そのあとの自由時間で希望者をサポートする形にしています。
そこに至る道のりを3ステップに分けました。
- PlatformIO の環境を作り、書き込むだけでタッチパネルから LED が光る状態にする
- Wi-Fi 設定を有効化し、タッチ操作を OSC で Unity に送る
- PC 側の IP アドレスとポート番号を設定し、押下 → Unity のオブジェクトが爆発するところまで確認する
Unity 側は、先にコードを見せて説明してから UnityPackage を配布し、インポートして Prefab を置くだけで動く構成にしました。「まず動く」を最短で通してから中身を見てもらう、という順番です。
マイコンの教え方については、当日もこう伝えました。覚えるのは「書き込む方法」と「デバッグの方法」の2つだけ。それさえできれば、あとは何にでも行ける。
この組み立て方は、学内のサークル活動でずっとやってきたことがそのまま活きた部分でした。初めての人がどこで詰まるか、どの順番なら心が折れないか、というのは結局そこで覚えたことです。
一番良かったのは、Lチカで感動が起きたこと
正直、この日で一番良かった瞬間はLEDが光ったところでした。
技術的には一番簡単なパートです。でも、自分の書いたコードが物理世界に出てくる最初の瞬間でもある。あそこで参加者のみなさんが素直に感動していて、「手触り感を楽しむ」という感覚をその場で共有できたのが、一番うれしかったことです。
ここで全員が同じラインに立てたから、そのあとの Unity 連携の意味も自然に伝わったのだと思います。
ネットワークで焦った話
一方で、うまくいかなかった部分もありました。
Windows のファイアウォールが絡んでいるのか、環境によって OSC のパケットが Unity まで届かないケースが出ました。今回の目標はマイコンと Unity をつなぐことなので、ここが通らないと肝心の山場に届かない。正直、どうなることかと焦りました。
自由制作の時間
それでも、午後の自由制作の時間に入ると、みんなそれぞれのアイデアで作品を形にしていました。
これは参加者のみなさんが日頃からものづくりをしている人たちだったからだと思います。手が早いし、詰まっても自分で切り分けられる。だからこのスピード感のハンズオンが成立した。いいハマりかたをしたな、という感覚がありました。
私はいろんなテーブルを走り回ってサポートしていました。詰まっているところに入っていって、一緒に直して、動いた瞬間を見る。これを何度も繰り返せたのは、かなりの達成感がありました。参加者どうしの教え合いも自然に生まれていて、作りながら交流もできる、あたたかい作業会でした。
自分が構想したもの
私自身も自由制作の時間に手を動かしました。構想したのは、「M5Stack の中に、VRをつけた人が入っている」という設定の2人プレイ体験です。
- VR側のプレイヤーは、M5Stack の内側の空間にいる
- M5側のプレイヤーは、レーダーのようなタッチディスプレイを見ている
- タッチで選んだ点に、岩を落としたり爆弾を設置したりできる
- M5本体を傾けると、VR空間そのものが傾く
使ったのは持ち込みの Core2 です。当日の到達点はモックまでで、タッチで Unity 上に岩が降ること、そして Core2 のディスプレイにグリッドを表示して、プレイヤーとオブジェクトの位置が乗ること。ここまでは動きました。
面白かったのは「傾けると世界が傾く」という部分です。以前これを単体のギミックとして考えたときは「センサーがあるから使っているだけ」に思えて自分で却下していたのですが、「M5の中に人が入っている」という枠が先にあると、傾けることに世界としての理由がつく。同じ機能でも、体験の枠が決まったあとだと意味が変わるのだ、という発見がありました。
最近ずっとマイコンとの連携を考えていたので、その意味でもかなり刺激になりました。
おわりに
人前で話す経験はあまりないので、新鮮でした。
準備は決して軽くなかったけれど、当日みんなが楽しそうにしているのを見られたので、やってよかったと思っています。あたたかいメンバーに支えてもらいながら進められたのも大きかったです。
そして、たくさんの人と交流できたことが単純にうれしかった。教えたり教わったり、作りかけのものを見せ合ったりしながら一日を過ごせたのは、オンラインではなかなか得られない時間でした。
マイコン×XRに魅力を感じる仲間がいる。それが何より楽しかったです。
みんな作りたいものがあって、そのためにものづくりをしている。なんて素晴らしいコミュニティなんだろう、と実感した一日でした。
自分がこれまでやってきたことを人に共有して、それが誰かのためになったのなら、これ以上うれしいことはありません。
- 教材リポジトリ: M5Stack-XR-WorkShop(作成: きんぴら)
- OEDC: openedgedevice.connpass.com