Submit Search
UniRxでMV(R)Pパターンをやってみた
Download as PPTX, PDF
24 likes
29,895 views
torisoup
Model-View-(Reactive)Presenterパターンをやってみた話
Technology
Read more
1 of 21
Download now
Downloaded 69 times
1
2
3
4
5
6
7
Most read
8
9
10
11
12
13
14
Most read
15
16
17
18
19
Most read
20
21
More Related Content
PDF
UniRx完全に理解した
torisoup
PDF
Unity開発で使える設計の話+Zenjectの紹介
torisoup
PDF
UniRx の1歩目
infinite_loop
PDF
UniTask入門
torisoup
PDF
MagicOnion入門
torisoup
PDF
インタフェース完全に理解した
torisoup
PDF
Observableで非同期処理
torisoup
PDF
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
UniRx完全に理解した
torisoup
Unity開発で使える設計の話+Zenjectの紹介
torisoup
UniRx の1歩目
infinite_loop
UniTask入門
torisoup
MagicOnion入門
torisoup
インタフェース完全に理解した
torisoup
Observableで非同期処理
torisoup
UE4でマルチプレイヤーゲームを作ろう
エピック・ゲームズ・ジャパン Epic Games Japan
What's hot
(20)
PDF
ゲーム開発者のための C++11/C++14
Ryo Suzuki
PDF
Riderはいいぞ!
UnityTechnologiesJapan002
PDF
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
PPTX
はじめてのUniRx
torisoup
PPTX
UniRxことはじめ
Shoichi Yasui
PDF
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
PPTX
なぜなにリアルタイムレンダリング
Satoshi Kodaira
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
PDF
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
Unity Technologies Japan K.K.
PDF
【Unity】 Behavior TreeでAIを作る
torisoup
PDF
UE4における大規模背景制作事例 最適化ワークフロー編
エピック・ゲームズ・ジャパン Epic Games Japan
PPTX
若輩エンジニアから見たUniRxを利用したゲーム開発
Hirohito Morinaga
PDF
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
PPTX
未来のプログラミング技術をUnityで -UniRx-
torisoup
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
PDF
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
com044
PDF
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
PPTX
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
PDF
Unityと.NET
AimingStudy
PDF
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
ゲーム開発者のための C++11/C++14
Ryo Suzuki
Riderはいいぞ!
UnityTechnologiesJapan002
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Yoshifumi Kawai
はじめてのUniRx
torisoup
UniRxことはじめ
Shoichi Yasui
【CEDEC2017】Unityを使ったNintendo Switch™向けのタイトル開発・移植テクニック!!
Unity Technologies Japan K.K.
なぜなにリアルタイムレンダリング
Satoshi Kodaira
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
【Unity道場】AssetGraph入門 〜ノードを駆使しててUnityの面倒な手作業を自動化する方法〜
Unity Technologies Japan K.K.
【Unity】 Behavior TreeでAIを作る
torisoup
UE4における大規模背景制作事例 最適化ワークフロー編
エピック・ゲームズ・ジャパン Epic Games Japan
若輩エンジニアから見たUniRxを利用したゲーム開発
Hirohito Morinaga
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
未来のプログラミング技術をUnityで -UniRx-
torisoup
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
エピック・ゲームズ・ジャパン Epic Games Japan
[UE4]マテリアルの注意すべきこと!~テクスチャロードとSwitch~
com044
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
Unity Technologies Japan K.K.
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
Unityと.NET
AimingStudy
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
エピック・ゲームズ・ジャパン Epic Games Japan
More from torisoup
(15)
PDF
Doozy UI 使おうぜ! #unity_lt
torisoup
PDF
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
PDF
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
torisoup
PDF
ARでVRアバターを表示するシステムを構築しよう
torisoup
PDF
ObserverパターンからはじめるUniRx
torisoup
PDF
Unityでオニオンアーキテクチャ
torisoup
PDF
Photon Cloud ことはじめ
torisoup
PDF
アバター生放送支援アプリ「アバれぽ」
torisoup
PDF
コールバックと戦う話
torisoup
PDF
UnityとNCMBでユーザ管理を実装してみた話
torisoup
PDF
Task vs Observable
torisoup
PDF
Unityでオンラインゲーム作った話
torisoup
PDF
UniRxでPUNを使いやすくする
torisoup
PPTX
みくみくまうすについて&Unity で使えるコーディングノウハウ
torisoup
PDF
Unity講習会(初級)
torisoup
Doozy UI 使おうぜ! #unity_lt
torisoup
MagicOnion~C#でゲームサーバを開発しよう~
torisoup
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
torisoup
ARでVRアバターを表示するシステムを構築しよう
torisoup
ObserverパターンからはじめるUniRx
torisoup
Unityでオニオンアーキテクチャ
torisoup
Photon Cloud ことはじめ
torisoup
アバター生放送支援アプリ「アバれぽ」
torisoup
コールバックと戦う話
torisoup
UnityとNCMBでユーザ管理を実装してみた話
torisoup
Task vs Observable
torisoup
Unityでオンラインゲーム作った話
torisoup
UniRxでPUNを使いやすくする
torisoup
みくみくまうすについて&Unity で使えるコーディングノウハウ
torisoup
Unity講習会(初級)
torisoup
UniRxでMV(R)Pパターンをやってみた
1.
UniRxでMV(R)Pパターン をやってみた @toRisouP 2015/04/16
2.
自己紹介 • とりすーぷ(@toRisouP) • 趣味でUnityいじってます
3.
みくみくまうす • ニコ生の配信支援ツール • MMDモデルがニコ生のコメントを読み上げる •
フリーソフトとして公開中 • Unity5製(内部でUniRx使ってる) http://mikumikumouth.net/
4.
uGUI Unity GUI
5.
みくみくまうす
6.
uGUIに適したM-V-○パターン
7.
Model View (Reactive)
Presenter
8.
MV(R)Pパターン • UniRxを使ったuGUIのデザインパターン • ModelとViewを「Presenter」がつなぐ •
データのやり取りにObservableとReactivePropertyを使う • View/Modelの変更をReactiveに反映できる
9.
Model-View-(Reactive)Presenterパターン View (uGUIコンポーネント等)) Presenter Model ModelはPresenterに依存しない ViewはPresenterに依存しない PresenterがModelとViewを参照する
10.
Model-View-(Reactive)Presenterパターン View (uGUIコンポーネント等)) Presenter Model ReactiveProperty 内部状態の変化の通知 Subscribe Viewへ反映 xxxAsObservable ユーザ入力 Subscribe Modelに反映
11.
みくみくまうす MV(R)Pパターンで実装してある
12.
MV(R)P実装例 • 読み上げタイミング調整スライダ • Slider
または InputField を調整すると値をModelに反映 • 片方のViewを変動させるともう一方のViewに反映 • InputFieldの値域は-1500~1500 • ただしSliderの値は10刻み(-150~150)
13.
Model (ConfigComponent) 関係図 SpeechTimingSlider Presenter SpeechTimingReactiveProperty OnValueChangedAsObservable() SpeechTimingInputField Presenter OnEndEditAsObservable()
14.
SpeechTimingSliderPresenter
15.
SpeechTimingInputFieldPresenter
16.
MV(R)Pで実装してみた感想 • シンプルにキレイにまとまる • ModelとViewの独立性が保たれるのがイイ! •
Viewの変換ロジックにRxのオペレータがそのまま使える • Presenterの作り方は考える必要がありそう – SceneあたりPresenterは1つにして集中管理する? – 1つのUI要素あたり1つPresenterを作る?
17.
まとめ • UnityでRxが使えるの本当にスバラシイ – uGUI周りがキレイに書けてとても助かる –
ゲームロジックとも結構相性が良い – もっと流行らせたい • MV(R)Pは現時点ではuGUIにおける最適解かも – Rxの難しい部分が出てこないのでRx初心者でも使えるはず @toRisouP
19.
PresenterをView要素毎に作るパターン View Presenter Model View Presenter View Presenter View Presenter ○ GetComponentでPresenterがViewを取得できる(スクリプト内で完結する) ○ 1Presenter当たりのコード量が少なくなって読みやすくなる ×
View要素の数だけPresenterが必要になる
20.
みくみくまうすのPresenterの数 • 1UI要素あたり1Presenterで作ったら大変なことになった
21.
Presenterを1つにまとめるパターン View Presenter Model View View View ○
1つのPresenterで管理するのでどこで処理しているか把握しやすい ○ View要素の数の変更に対応しやすい × ViewとPresenterの紐付けがInspector Viewからになる
Download