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
InputSystemことはじめ
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Naoya Kurihara
December 15, 2018
1.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
InputSystemことはじめ
Unity お・と・な のLT大会 2018
InputSystemについてのLT
プレビュー機能についてのスライドなので最新の情報から差異がある場合があるのでご注意を。
Naoya Kurihara
December 15, 2018
Featured
See All Featured
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
Making Projects Easy
brettharned
120
6.7k
Automating Front-end Workflow
addyosmani
1369
210k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
220
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
590
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
490
Ruling the World: When Life Gets Gamed
codingconduct
0
330
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
2
3.8k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
Transcript
InputSystem ことはじめ Unity お・と・な のLT大会 2018 栗原 直哉 / @kuriharaan
InputSystem 新しいシステムが進行中 https://github.com/Unity-Technologies/I nputSystem
おことわり プレビュー版で変更の多い機能について話ます。 本資料もどんどん古い情報となって行きますので、 ご注意&ご容赦くださいませ
None
None
スケジュールとステータス https://forum.unity.com/threads/input-system-update. 508660/page-8#post-3870865 これから安定性にフォーカス ドキュメント、demo に取り掛かっていく
2019 1月 - 3月 ベータ
3月 2019.1で1.0-preview
2019.2 “Verified” 予定
None
今、使える? 基本の機能自体は動いてる
None
今、使える? 注意 まだ正式なプロダクトでの採用は慎重に
None
今、使える? ドキュメントはまだまだ Wikiの情報は古い
Tipsの一番上の項目がいきなり動かない Keyboard.current などない
今、使える? 機能を知るには パッケージの中のテストコードを見るのがおすすめ Packages/InputSystem/Test/
いままでのInputSystem UnityEngine.Input
いままでのInputSystem Input Manager ウィンドウで設定 ボタンとAxis、マウス Input.GetButton(“Jump”) Input.GetAxis(“Horizontal”) Input.GetKey(KeyCode.Space)とかも
いままでのInputSystem だいぶ古い ・設定項目がフラットで、構造体そのまま露出させたような ・ゲームプレイ側のアクションの定義として使いたい、 と思いきやユーティリティがここに定義を入れたり ・joystick button 2 とか毎度どれだったか
いままでのInputSystem ・ゲームプレイ側のアクションの定義として使いたい、 と思いきやユーティリティがここに定義を入れたりする
いままでのInputSystem https://blogs.unity3d.com/jp/2018/11/22/multi-platform-vr-features-in-2018-3/ 例えばUnityのマルチプラットフォームVRサンプル(画像はブログから)
いままでのInputSystem https://blogs.unity3d.com/jp/2018/11/22/multi-platform-vr-features-in-2018-3/ 例えばUnityのマルチプラットフォームVRサンプル(画像はブログから) 衝突しちゃう
レイヤーが足りてなかった たぶんレイヤーが足りてなかった。
抽象デバイス レイアウト作成 アクションのマッピング プレイヤーへのデバイスアサイン デバイス ゲームプレイ アクションのコンビネーション設定 ハイレベルでの欲求 欲しい要素
抽象デバイス レイアウト作成 アクションのマッピング プレイヤーへのデバイスアサイン デバイス ゲームプレイ アクションのコンビネーション設定 ハイレベルでの欲求 欲しい要素 new
InputSystemでは InputSystem だいたいこんな感じ
導入 unityバージョン 2018.2.5f1以降 (2018.3で問題がある?とかで2018.3以降対応にシフトしていくっぽい さっき見た情報)
導入 "com.unity.modules.xr":"1.0.0", "com.unity.inputsystem":"0.0.13-preview" // <= 追加 }, "registry": "https://staging-packages.unity.com" //
<= satging のレジストリを指定するため追加 } Packageのmanifest.jsonを書き換え
導入 もしくは githubから取得 clone or download https://github.com/Unity-Technologies/InputSystem 見てみるならそのまま使うでも。 Packageの中をコピーしてもよし。
導入 Player settings Bothにする(もしくはInputSystem(Preview))
Namespace クラスのネームスペースにはExperimental UnityEngine.Experimental.Input
Input Debugger エディタ上でデバイスの値をチェックできる
None
Input Action Maps
Input Action Maps
Input Action Maps Action Map 複数用意することも出来る (複数で実行すると今問題あるかんじ)
Input Action Maps Action jumpとかfireとか ゲームプレイっぽいこと定義するとこ
Input Action Maps BindingとかInteractionとか
Input Action Maps アクションの定義がアセットとして作れる SerializeFieldで受けて、任意のアセットを使用するように書ける (一つのActionMapsに複数のmapも書ける -> 今は問題あり) キーコンフィグのセットを切り替えるような実装が可能
コードからの参照 Generate C# Class にチェックを入れてApplyするとInputActionMap(例だとplayer)や それぞれのInputAction(例だとjumpなど)にアクセスしやすいクラスを作ってくれる
アクションイベント public class InputAction : ICloneable { … public event
Action<CallbackContext> performed; public event Action<CallbackContext> started; public event Action<CallbackContext> cancelled;
アクションイベント public void Awake() { controls.player.move.performed += ctx => m_Move
= ctx.ReadValue<Vector2>(); controls.player.jump.performed += ctx => { if (ctx.interaction is SlowTapInteraction) {
マルチ実装 現状、プレイヤーという概念はないぽい模様 (今後は不明) ActionMapの参照しているデバイスを指定することは可能なので、 いちおう出来る マルチのサンプルもこれから用意していくらしいので期待
マルチ実装 actionMap = controls.player.Clone(); InputSystem.onDeviceChange += (device, change) => {
switch (change) { case InputDeviceChange.Added: { switch(allowDeviceType) { if (device is Gamepad) { actionMap.devices = new InputDevice[] { device };
振動 gamepad.SetMotorSpeeds(0.1234f, 0.5678f);
組み合わせ action.AddBinding("/gamepad/leftTrigger").ChainedWith("/gamepad/buttonSouth"); 今は呼ぶと、あれかも
いままでのInputSystemで マルチなどに対応するアセット Rewired https://assetstore.unity.com/packages/tools/utilities/rewired-21676
いままでのInputSystem 新しいInputSystemが入っても、すぐに無くなるというわけではない (らしい?) 取り掛かりやすくて、 とりあえず入力とるのには手早く書ける 共存すると良いのでは もしくは同じ感じのstatic classとか