Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
(Unityに)エモさをもたらす シリアル通信のはなし
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
dnasoftwares
December 15, 2018
Technology
610
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
(Unityに)エモさをもたらす シリアル通信のはなし
Unityでシリアル通信(SerialPort)を用いてArduinoを経由しLEDを制御してみたというお話です。
dnasoftwares
December 15, 2018
Other Decks in Technology
See All in Technology
USB PDを使ってスマホを労わりたい
raspython3
0
180
Refining Active Record
shugo
0
160
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
160
OptunaHub: ブラックボックス最適化のためのプラットフォーム
pfn
PRO
0
140
QA4AI 2026-Oct 生成AI時代の品質保証
tokuty
1
890
20261017福岡devIO 「AIは"良いダッシュボード"を作れるか?
jtakeda
0
180
Running Kotlin + Quarkus with Lambda
nealle
1
3.9k
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
930
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
110
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
440
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
6.3k
Designing Experiences People Love
moore
143
24k
Faster Mobile Websites
deanohume
310
32k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
570
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
How to train your dragon (web standard)
notwaldorf
96
6.9k
Visualization
eitanlees
153
17k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
The SEO identity crisis: Don't let AI make you average
varn
0
590
Rails Girls Zürich Keynote
gr2m
96
14k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Transcript
(Unityに)エモさをもたらす シリアル通信のはなし D.N.A. (D.N.A. Softwares) Background Designed by Brgfx
自己紹介 サークル D.N.A. Softwares 代表 同人・インディゲームオンリー 「デジゲー博」代表
Twitter: @dnasoftwares
さっそく 本題
エモさ #とは
いつもの画面以外の表示器 ゲームと連動して光る電飾 そのゲームの世界観に沿った特別な コントローラー
いつもの画面以外の表示器 ゲームと連動して光る電飾 そのゲームの世界観に沿った特別な コントローラー → 画面外からの刺激 →
感情を揺さぶる → エモい!
そんなエモさをUnityでも 醸し出したい!!!
実際にやってみた “デジゲー博2018” にて展示
諸元 8桁7セグ表示器×3行 8桁16セグ表示器×1行 制御:Arduino Nanoに独自スケッチを書き込み インタフェース:USB
(Micro-Bコネクタ)経由の シリアル通信 電源:USB or DC7.5V~9V 1A
設計・試作 evive というプロトタイプキットで試作 Arduino搭載かつ入出力が豊富でデバッグがしやすい 本番用Arduinoへの 移行も比較的簡単だった
サイト(Shopあり): https://thestempedia.com/
動いた • シリアル通信でコマンド を送る • →の出力を得るコマンド例 l01st 1000 l12nd 900
l23rd 800 先頭1文字目lがコマンド、2文字目0は書き換え行 残りが表示文字列 • バッファに余裕が無いのでコマンド書式 はツメツメで
Unity側のコード ArduinoのUSBシリアルポートをC#から叩く System.IO.Ports.SerialPortクラスを使う (Api Compatibility Level の設定を「.NET 2.0」にすると使用可能)
Qiitaの記事「UnityとArduinoをシリアル通信」(@yjiro0403氏)が参考になる • https://qiita.com/yjiro0403/items/54e9518b5624c0030531 デバイスが繋がっているポートを 自動スキャンする機構 シリアルポートを列挙し、それぞれのポートに所定のコマンドを送って期待通りの応答を返 すポートを見つける (ファームのバージョン情報を返すコマンドを入れておく)
あとは…… • ゲーム内に実装!ただし…… PC側を全力でぶん回すとコマンド処理が追いつかない コマンド処理より早くリングバッファが溜まる→未処理のバッファが新しいコマンドに上書きされ て文字化け データ送信は秒間20コマンド程度になるように適宜間引く
例外処理はザックリでもいいから入れておこう デバイスがないときの動作はどうか? 外部デバイス用のコードとゲーム本体のコードをキッチリ分離する シリアルポートがないPCでの動作はどうか?
できあがり
結論 (制御された光り物は) エモい ありがとうございました