SlideShare une entreprise Scribd logo
1  sur  145
Télécharger pour lire hors ligne
未来のプログラミング技術をUnityで
~UniRx~
@toRisouP
2015/03/20
スライド中に登場するサンプル
http://torisoup.net/unirx-examples/
【2015/10/5 】
一部加筆修正しました
合わせて読みたい
• もう少し踏み込んだ使い方の話はこちらのスライドで
• http://www.slideshare.net/torisoup/uni-rx
自己紹介
• とりすーぷ(@toRisouP)
• 26歳
• 本業はWebエンジニア
• 趣味でUnityでゲーム作ってます
過去に作ったもの
交通事故・渋滞シミュレータ
(sm16238908)
みくみくまうす
(ニコ生配信支援ツール)
NITORI BOX
(東方2次創作ゲーム)
みくみくまうす
• ニコ生の配信支援ツール
• MMDモデルがコメントを読み上げる
• Unity製
• フリーソフトとして公開中
http://mikumikumouth.net/
今作ってるゲーム
みこバト~レ
• 東方2次創作の同人ゲーム
• Unity + PhotonCloud
• 例大祭と夏コミあたりで体験版出したい…
ところで
「マウスのダブルクリック判定」
実装できますか?
マウスのダブルクリック判定
• どうやって実装する?
– 最後にクリックされてから一定時間以内ならダブルクリック?
– クリック回数の変数とタイマの変数をフィールドに定義?
– Update内に判定処理を書く?
めんどい
これをUniRxを使うと
たったの数行で済みます
未来のプログラミング技術をUnityで -UniRx-
たったのこれだけ!
すごくね?
今回の発表の目標
実際の使用例を通して
UniRxの凄さ便利さを伝えたい!
ターゲット
LINQは使えるレベルの人
プログラミング始めたばかりの人には少々厳しいかも
端折った説明や
厳密ではない説明をします
ご了承ください
(わかりやすさ第一で行きます)
もくじ
1. UniRxって何?
2. UniRxって何が便利なの?
3. ストリームを使うメリットと例
4. よく使うオペレータ解説
5. Unity上での実用例5つ
6. まとめ
UniRxって何?
UniRx
• Reactive Extensions for Unity
• 作者は@neueccさん
• MITライセンスで公開
• AssetStoreまたはgithubからダウンロード可(無料)
Reactive Extensionsとは
• FanctionalReactivePrograming をC#で実現するためのライブラリ
– LINQ to Events
– 元はMicrosoftReserchが開発
• 決してオレオレライブラリでは無い!
• 最近になって流行の兆しが来ている
– いろんな言語に移植されている
• RxJS、RxJava、ReactiveCocoa、RxPy、UniRx…
– どんな言語でもRxの考え方は共通している!
• 覚えておいて損は絶対にしない!
UniRxは何が便利なの?
UniRxを使うと
時間の取り扱いが
とても簡単になります
時間が絡んだ処理の例
• イベントの待ち受け
– マウスクリックやボタン入力のタイミングで処理をする
• 非同期処理
– 別スレッドで通信したり、別スレッドでデータロードしたり
• 時間計測が判定に必要な処理
– 長押し、ダブルクリックの判定
• 時間変化する値の監視
– False→Trueになった瞬間に1回だけ処理したい
こういった処理をRxを使うと
とても簡潔に記述できます
まずはRxの基本的な
考え方を実際のコードを見せつつ
説明します
ボタンがクリックされたら画面に表示する
Buttonをクリックした時にTextに”Clicked”と表示してみる
クリックされたら画面に表示するスクリプト
←メイン処理
クリックされたら画面に表示するスクリプト
←Unity側が用意しているクリックイベント
クリックされたら画面に表示するスクリプト
←イベントをストリームに変換
クリックされたら画面に表示するスクリプト
←ストリームの購読
(最終的に何をするか書く)
ストリーム
• 「イベントが流れる配管」みたいなイメージ
– 難しく言えば「時間軸上に並んだイベントのシーケンス」
– 分岐させたり合流させたりできる
• コード中では IObservable<T> として扱われる
– LINQで言うIEnumerable<T>に相当
イベントメッセージ
イベントの流れそのものが「ストリーム」
ストリームに流すイベント「メッセージ」
メッセージは3種類ある
• OnNext
– 通常使用するメッセージ
– 普通はこれを使う
• OnError
– エラー発生時の例外を通知するメッセージ
• OnCompleted
– ストリームが終了した事を通知するメッセージ
ボタンは
「クリック時にイベントをストリームに流している」
と考えることができる
ストリームとボタンクリック
Button
ボタンがクリックされたタイミングで
ストリームにメッセージを送り込む(OnNext)
• ストリームの末端でメッセージが来た時に何をするかを定義する
• ストリームはSubscribeされた瞬間に生成される
– 基本的にSubscribeしない限りストリームは動かない
– Subscribeのタイミングによって結果が変わる可能性がある
• OnError, OnCompleteが来るとSubscribeは終了する
Subscribe(ストリームの購読)
Subscribe
ストリームを購読して
メッセージが来た時に処理をする
ストリーム
(補足)Subscribeとメッセージ
Subscribeはオーバーロードで複数定義されているので用途に合わせて使う
と良い
• OnNextのみ
• OnNext & OnCompleted
• OnNext & OnError & OnCompleted
全体の流れ
←
ボタンクリックイベントを
ストリームに変換し
メッセージが到着した時に
テキストに”Clicked”を表示する
Subscribeのタイミング
Awake()/Start()でSubscribeするべき
Update()に書くと無数のストリームが生成される
ちなみに
UniRxには、
uGUI用のObservableやSubscribeが準備されている
↑さっきの奴はこれくらい簡略化して書ける
「ストリーム」という考え方
のメリット
イベントの
射影、フィルタリング、合成
などができる
例
Buttonが3回押されたらTextに表示する
• ボタンがクリックされた回数をカウントする?
– カウンタ用の変数をフィールドに定義する?
Buttonが3回押されたらTextに表示する
• Buffer(3)を加えるだけ!
– 余計なフィールド変数不要!
– なお、Skip(2)でも同じ動作をする
• ここではわかりやすくBufferを使ったが、
n回後に動作するというシチュエーションではSkipの方が適切ではある
Buffer
• メッセージを蓄えて特定のタイミングで流す
– 放出する条件はいろいろ指定できる
• n個溜まったら流す
• 別のストリームにメッセージが流れてきたら流す
画像はhttp://reactivex.io/documentation/operators/map.htmlより引用
例2
Buttonが2つとも押されたらTextに表示する
• 両方が交互に1回ずつ押された時にTextに表示する
– 連打しても「1回押された」と判定させる
Zip
• 複数本のストリームのメッセージが全て揃うまで待つ
– メッセージが揃った時に1個ずつ取り出して後続に流す
– 揃ったメッセージは任意に加工して出力できる
画像はhttp://reactivex.io/documentation/operators/zip.htmlより引用
Buttonが2つとも押されたらTextに表示する
Buttonが2つとも押されたらTextに表示する
←1度動作した後にZip内のバッファをクリアする
(後で説明します)
Rxを使わない従来のやり方では、
イベントを受け取った後に
どうするかを書いていた
Rxでは
イベントを受け取る前に
何をしたいかが書ける
「ストリームを加工して
自分が欲しいイベントだけ
通知させればいいじゃん!」
まとめると、
Rxは
1.ストリームを用意して
2.ストリームをオペレータで加工して
3.最後にSubscribeする
という考え方で使われる
オペレータ
ストリームをこねこねするもの
オペレータ
• ストリームに操作を加える関数のこと
• メチャクチャたくさんある
Select, Where, Skip, SkipUntil, SkipWhile, Take, TakeUntil, TakeWhile, Throttle, Zip, Merge,
CombineLatest, Distinct, DistinctUntilChanged, Delay, DelayFrame, First, FirstOfDefault,
Last, LastOfDefault, StartWith, Concat, Buffer, Cast, Catch, CatchIgnore, ObserveOn, Do,
Sample, Scan, Single, SingleOrDefault, Retry, Repeat, Time, TimeStamp, TimeInterval…
よく使うオペレータ紹介
Where
• 条件を満たすメッセージのみ通過させるオペレータ
– 他の言語では「filter」とも呼ばれる
画像はhttp://reactivex.io/documentation/operators/filter.htmlより引用
Select
• 要素の値を射影(変換)する
– 他の言語では「map」とも呼ばれる
画像はhttp://reactivex.io/documentation/operators/map.htmlより引用
SelectMany
• 新たなストリームを生成して、そのストリームが流すメッセージを本流のス
トリームのメッセージとして扱う
– ストリームを別ストリームで差し替えるイメージ(厳密に言うと違う)
– 他の言語では「flatMap」とも呼ばれる
画像はhttp://reactivex.io/documentation/operators/flatmap.htmlより引用
Throttle/ThrottleFrame
• 落ち着いた時に最後のメッセージを流す
– メッセージが集中して流れてきたら最後以外を無視する
– 他の言語では「debounce」とも呼ばれる
– よく使う
画像はhttp://reactivex.io/documentation/operators/debounce.htmlより引用
ThrottleFirst/ThrottleFirstFrame
• 最初にメッセージが来てから一定時間遮断する
– 1つメッセージがそこからしばらくメッセージを遮断する
– 大量に流れてきたデータのうち最初だけ使いたいみたいなときに有
効
画像はhttp://reactivex.io/documentation/operators/sample.htmlより引用
Delay/DelayFrame
• メッセージの伝達を遅延させる
画像はhttp://reactivex.io/documentation/operators/delay.htmlより引用
DistinctUntilChanged
• メッセージが変化した時のみ通知する
– 同じ値が連続している場合は無視する
画像はhttp://rxmarbles.com/#distinctUntilChangedより引用
SkipUntil
• 指定したストリームにメッセージが来るまで
メッセージをSkipする
画像はhttp://rxmarbles.com/#skipUntilより引用
TakeUntil
• 指定したストリームにメッセージが来たら、
自身のストリームにOnCompletedを流して終了させる
画像はhttp://rxmarbles.com/#takeUntilより引用
TakeUntil
• 指定したストリームにメッセージが来たら、
自身のストリームにOnCompletedを流して終了させる
Repeat
• ストリームがOnCompletedで終了した時にもう一度Subscribe
を行う
SkipUntil+TakeUntil+Repeat
• よく使う組み合わせ
– イベントAが来てからイベントBが来るまでの間だけ処理したいような
時に使う
SkipUntil+TakeUntil+Repeatの例
例)ドラッグでオブジェクトを回転させる
– MouseDownが来てからMouseUpが来るまで処理したい
First
• ストリームに最初に来たメッセージのみを流す
– OnNextの直後にOnCompleteも流れる
画像はhttp://reactivex.io/documentation/operators/first.htmlより引用
さっきのZipの例でFirst+Repeatを使った意図
First+Repeatで1回動作する度にストリームを作り直している
(Zip内のメッセージキューをリセットするため)
ここまでが基礎
基礎の説明だけでスライド70枚突破してる
ここから実例を紹介
実際の使用例5つ
1. ダブルクリック判定
2. 値の変動を監視する
3. 値の変動を丸める
4. WWWを使いやすくする
5. PhotonCloudと組み合わせる
1.ダブルクリック判定
ダブルクリック検知のコード
クリックストリームの定義
クリックのストリームを定義(≠生成)
クリックストリームの定義
【10/5 加筆】現在はUniRx.Triggersをusingに加えた上で、
this.UpdateAsObservable()で呼び出せます
クリックストリーム
UpdateAsObservable()
Updateのタイミングを通知
Where()
クリックがあったフレームのみ通過
clickStream
クリックイベントのストリーム
よくみると2つのストリームがある
よくみると2つのストリームがある
意味
クリックストリームを塞き止めてまとめる。
開放条件は「最後にクリックされてから200ミリ秒経過した時」である。
クリックストリーム
clickStream
マウスクリックのストリーム
Throttle(200ms)
200ms間イベントが
起きなかったら通知
200ms
Buffer
イベントをまとめる
終了条件はThrottle
イベントが来るまで
3 1 2
2.値の変動を監視する
プレイヤが着地した瞬間にエフェクトを再生する
着地した瞬間の検知方法
1. CharacterController.isGroundedを毎フレーム監視
2. 現フレームにおける値をフィールド変数に保存
3. 次フレームでFalse → Trueに変わった時にエフェクトを再生する
UniRxを使わずに着地した瞬間の検知をしてみる
UniRxを使わずに着地した瞬間の検知をしてみる
パッと見で何やってるか判断できない!
←一時保存用のためだけのフィールド変数!!
UniRxで着地した瞬間の検知をしてみる
UniRxで着地した瞬間の検知をしてみる
ここだけ!
フィールド変数なんぞいらん!
着地判定のイメージ図
F F F T T T T F F
F T F
T
UpdateAsObservable()
Updateのタイミングを通知
Select()
IsGroundedの値に差し替え
DistinctUntilChanged()
値に変化があった時のみ通過
Where()
値がTrueの時のみ通過
Subscribe()
isGroundedがFalse→Trueになった瞬間が通知される
【追記】ObserveEveryValueChanged
毎フレーム値の変動を監視するなら「ObserveEveryValueChanged」の方がシ
ンプルにかける
3.値の変動を丸める
isGroundedの変動を丸める
• isGroundedの精度の改善
– 斜面を移動するとTrue/Falseが激しく変動する
– この値の変動をUniRxで抑えこんでみる
方針
• isGroundedの変動をThrottleで無視させる
– DistinctUntilChangedと併用すればOK
UniRxでisGroundedの変動を丸める
isGroundedの丸め込みイメージ図
T F T T T T T T T
T
T
UpdateAsObservable()
Updateのタイミングを通知
Select()
IsGroundedの値に差し替え
DistinctUntilChanged()
値に変化があった時のみ通過
ThrottleFrame(5)
値が5フレームの間
来なかったら最後の値を放流
Subscribe()
isGroundedが6フレーム以上
安定していた時に最後の値が通知される
F T
1 2 3 4 5
4.WWWを使いやすくする
UnityのWWW
• Unityの標準のHTTP通信用モジュール
– コルーチンとして使う必要があり
– そこまで使い勝手は良くない(HttpWebRequestよりはだいぶマシだけどさ…)
ObservableWWW
• WWWをObservableとして扱えるようにしたもの
– Subscribeされた瞬間に通信が行われる
– 後は勝手に裏で通信して結果がストリームに流れてくる
– コルーチンを使わずにかける
例)ボタンが押されたらテクスチャを読み込む
• ボタンが押されたら指定URLのテクスチャ画像をダウンロード
してImageに表示する
WWWでテクスチャ読み込み
WWWでテクスチャ読み込み
クリックストリームをObservableWWWの
ストリームで上書きする
←ボタンを連打されても通信は1回しかさせないためにFirstを入れる
WWWでテクスチャ読み込み
複雑なことも上から読めば何やってるかすぐわかる
1. ボタンがクリックされたら
2. HTTPでテクスチャ画像をダウンロードして
3. その結果をSpriteに変換し
4. Imageとして表示する
タイムアウトを付け加える
タイムアウトが欲しいならここにオペレータを挟むだけ
ObservableWWWでいろいろ
• 同時に通信して全てデータが揃ったら処理を進める
ObservableWWWでいろいろ
• 前の通信の結果を使って次の通信を行う
– サーバに「リソースへのURL」を問い合わせて、サーバに教えてもらっ
たURLからデータをダウンロードする
resourcepath.txtの中に書かれたURLへアクセスするコード
5.Photon Cloudと組み合わせる
PhotonCloud
• Unityで簡単にネットワーク対戦が実装できるライブラリ
• 通知が全てコールバックで微妙に使い勝手が悪い
– UniRxでなんとかしたい
• PhotonCloudのコールバックがストリームに変換される
– ごちゃごちゃしたコールバックは隠蔽される
UniRxと組み合わせると?
PhotonCloud
コールバックで
ごちゃごちゃした世界
最新の部屋情報の通知ストリーム ロビー参加に成功した通知
ストリーム
部屋に参加成功した通知
ストリーム
UniRxでコールバックを隠蔽
コールバックからストリームに変換するメリット
• IDEの補完が効くようになる
– PhotonのコールバックはSendMessageで呼び出される
– Observableとしてちゃんと定義してあげれば補完が効く
• 多様なオペレータによる柔軟な制御ができるようになる
– ログインに失敗したら3秒後にリトライ試すとか
– 全員からレスポンスがあった時に処理をするとか
– 部屋情報リストが更新されたことを通知するとか
コールバックからストリームに変換するメリット
• IDEの補完が効くようになる
– PhotonのコールバックはSendMessageで呼び出される
– Observableとしてちゃんと定義してあげれば補完が効く
• 多様なオペレータによる柔軟な制御ができるようになる
– ログインに失敗したら3秒後にリトライ試すとか
– 全員からレスポンスがあった時に処理をするとか
– 部屋情報リストが更新されたことを通知するとか
例)最新の部屋情報を通知するストリームを作る
• OnRevicedRoomListUpdate
– PhotonNetwork.GetRoomList()が更新された時に実行される
– これをストリームにしてしまう
つまりこういう形にしたい
最新のRoomInfo[]が流れるストリーム
これをSubscribeしておけば、
部屋リストに更新があったことがすぐわかる
ストリームの根源の作り方
• Observableのファクトリメソッドを使う
• 既存のイベント等から変換する
• Subject<T>系を使う
• ReactiveProperty<T>を使う
ReactiveProperty
• Subscribeすることができる変数
• ObservableとしてSubscribeができる
• 値を書き込んだ時にOnNextメッセージが飛ぶ
ReactivePropertyで部屋情報を通知する
ReactivePropertyで部屋情報を通知する
OnRecivedRoomListUpdateのタイミングで
_reactiveRoomsの値を書き換え、同時にストリームに通知が飛ぶ
ReactivePropertyで部屋情報を通知する
Observableとしてクラスの外に公開
受信側(さっきと同じスライド)
コールバック地獄からの開放!
【追記】PhotonRx
• PhotonRx
– PUNの使い勝手を上げるライブラリ
– 各コールバックをObservableとして取得できる
– 詳しくは以下のスライドをどうぞ
– http://www.slideshare.net/torisoup/unirxpun
紹介したい機能は
まだまだたくさんある
これ以上話すと
さすがに詰め込み過ぎなので
ココらへんで終わります
(というか既に詰め込み過ぎ)
補足スライドも用意してあるので
そちらも見てね
まとめ
• UniRxは便利なので使ってみよう!!!!!!!!
– 「時間」をすごい簡単に扱えるようになる
– GUI周りの実装もスッキリ書ける
– ゲームロジックに適用することもできる
• UniRxは便利だが難しい面もある
– 学習コストが高くて概念的にも難しい
– 導入する場合はプログラムの設計から考え直す必要が出てくる
• 真価を発揮させるには設計の根幹にUniRxがガッツリ食い込む
• 「便利ライブラリ」ではなく「言語拡張」だと思う必要がある
ありがとうございました
@toRisouP
未来のプログラミング技術をUnityで -UniRx-
以下補足とか
参考にするとよいサイト
• ReactiveX
– http://reactivex.io/
– Rxについて細かく解説されているサイト(ただし英語)
• Reactive extensions入門v0.1
– http://www.slideshare.net/okazuki0130/reactive-extensionsv01
– @okazukiさんがまとめてくれたRxについての日本語資料
– すごいよくまとまっているので1度目を通すべし
• Rx入門
– http://blog.xin9le.net/entry/rx-intro
– じんぐる(@xin9le)さんがRxについてまとめてくれた日本語サイト
参考にするとよいサイト2
• Qiita - UniRxについて書いた記事をまとめてみた
– http://qiita.com/toRisouP/items/48b9fa25df64d3c6a392
– 自分がUniRxを使う上でのメモ書きとして残したもの
– 参考になれば
補足)Subject<T>
• ストリームの根源を作るもの
– Subject,ReplySubject,BehaviorSubject,AsyncSubjectと複数種類あり
– 外に公開するときは必ずAsObservableを挟んで公開する
• 外から直接OnNextが叩ける状態にしない
• Disposeを呼び出すとSubscribeが中止される
– ストリームの根源が削除されると自動的にDisposeされる
– ストリームが終了状態になってもDisposeされる
– staticなストリームを作った場合は手動Disposeが必要
補足)Subscribeの止め方
button.onClickで作ったストリームは
Buttonがシーンから削除されたタイミングでDisposeされる
補足)UpdateAsObservableとObservable.EveryUpdate
どちらもUpdate()のタイミングを通知してくれるObservable
• UpdateAsObservable
– ObservableMonoBehaviour を継承すると使える
– (追記)ObservableMonoBehabiourを継承する方式は非推奨になりました
代わりにUniRx.Triggers名前空間に用意されている拡張メソッドの方
を使いましょう
– IObservable<Unit>
– コンポーネントのDestory時に自動Disposeされる
• Observable.EveryUpdate
– どのスクリプトからでも使える
– IObservable<long> (Subscribeした時からのフレーム数)
– 使い終わったら明示的にDisposeする必要がある
• またはOnCompleteがちゃんと発火するストリームにする
おまけ
おまけ)コルーチンをObservableに変換する
• Observable.FromCoroutineを使うと変換できる
– コルーチンの実行順序や実行条件をストリームで定義できる
コルーチンAが終わったらコルーチンBを実行する例
おまけ)UniRx+コルーチン
• FromCoroutine<T>を使うと自由なストリームが作れる
カウントダウンタイマの例
続き)カウントダウンタイマを作るのなら…
• ただしFromCoroutine<T>でカウントダウンタイマを作るよりも
Observable.Timerで作った方がスマート
おまけ)HttpWebRequest を使ってPUT/DELETE
• WWW/ObservableWWWはGETとPOSTのみサポート
– PUT/DELETEを使いたい場合HttpWebRequestを使う必要がある
• HttpWebRequestをそのまま使うとそこそこツライ
– 同期処理で書くとスレッドを分離する必要がある
– 非同期処理で書くのも結構めんどくさい
おまけ)UniRxでHttpWebRequest
• HttpWebReqeustでDELETEを叩く
– Observable.Startを使えば別スレッドで実行できる
– それをObserveOnでメインスレッドに戻す
おまけ)ObserveOn
• 処理を行うスレッドを切り替えるオペレータ
– ObserveOnを使えばスレッド間でのデータのやり取りを考慮する必要
は無い
応用例)テキスト入力された時に検索サジェストを出す
1. InputFiledにテキストが入力された時に
2. 最後に入力されてから200m秒以上間隔が開いたら
3. GoogleSuggestAPIを叩いて
4. その時のサジェスト結果をTextに表示する
応用例)テキスト入力された時に検索サジェストを出す

Contenu connexe

Tendances

Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理torisoup
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方Yoshifumi Kawai
 
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx torisoup
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unity Technologies Japan K.K.
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術Unity Technologies Japan K.K.
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャtorisoup
 
コールバックと戦う話
コールバックと戦う話コールバックと戦う話
コールバックと戦う話torisoup
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法Yoshifumi Kawai
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnity Technologies Japan K.K.
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1一希 大田
 
【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018Unity Technologies Japan K.K.
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]DeNA
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」U-dai Yokoyama
 
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編Unity Technologies Japan K.K.
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-Unity Technologies Japan K.K.
 

Tendances (20)

Observableで非同期処理
Observableで非同期処理Observableで非同期処理
Observableで非同期処理
 
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方Observable Everywhere  - Rxの原則とUniRxにみるデータソースの見つけ方
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
 
ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx ObserverパターンからはじめるUniRx
ObserverパターンからはじめるUniRx
 
Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編Unityではじめるオープンワールド制作 エンジニア編
Unityではじめるオープンワールド制作 エンジニア編
 
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
【CEDEC2018】一歩先のUnityでのパフォーマンス/メモリ計測、デバッグ術
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
コールバックと戦う話
コールバックと戦う話コールバックと戦う話
コールバックと戦う話
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
 
Unityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTipsUnityでパフォーマンスの良いUIを作る為のTips
Unityでパフォーマンスの良いUIを作る為のTips
 
Riderはいいぞ!
Riderはいいぞ!Riderはいいぞ!
Riderはいいぞ!
 
Reactive extensions入門v0.1
Reactive extensions入門v0.1Reactive extensions入門v0.1
Reactive extensions入門v0.1
 
【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018【Unite 2018 Tokyo】エディター拡張マニアクス2018
【Unite 2018 Tokyo】エディター拡張マニアクス2018
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
 
Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編Unityではじめるオープンワールド入門 アーティスト編
Unityではじめるオープンワールド入門 アーティスト編
 
UniRx の1歩目
UniRx の1歩目UniRx の1歩目
UniRx の1歩目
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
【Unity道場スペシャル 2017札幌】最適化をする前に覚えておきたい技術 -札幌編-
 

En vedette

Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingReactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingYoshifumi Kawai
 
「ずいぶんとダサいライティングを使っているのね」〜UniRxを用いた物理ベースライティング制御〜
「ずいぶんとダサいライティングを使っているのね」〜UniRxを用いた物理ベースライティング制御〜「ずいぶんとダサいライティングを使っているのね」〜UniRxを用いた物理ベースライティング制御〜
「ずいぶんとダサいライティングを使っているのね」〜UniRxを用いた物理ベースライティング制御〜Toru Nayuki
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityYoshifumi Kawai
 
20160130 モデリング技術を学ぼう
20160130 モデリング技術を学ぼう20160130 モデリング技術を学ぼう
20160130 モデリング技術を学ぼうbonjin6770 Kurosawa
 
知って得するC#
知って得するC#知って得するC#
知って得するC#Shota Baba
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVCTakashi Komada
 
Reactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にReactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にYoshifumi Kawai
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターンTakashi Komada
 
Sappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ーSappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ーWakana_kudo
 
UniRxでPUNを使いやすくする
UniRxでPUNを使いやすくするUniRxでPUNを使いやすくする
UniRxでPUNを使いやすくするtorisoup
 
ペッパソン東の陣 Microsoft 提供 API のご紹介
ペッパソン東の陣 Microsoft 提供 API のご紹介ペッパソン東の陣 Microsoft 提供 API のご紹介
ペッパソン東の陣 Microsoft 提供 API のご紹介一希 大田
 
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 20174 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017Takaaki Suzuki
 
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術Unity Technologies Japan K.K.
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践Yoshifumi Kawai
 
The History of Reactive Extensions
The History of Reactive ExtensionsThe History of Reactive Extensions
The History of Reactive ExtensionsYoshifumi Kawai
 
Interactive UI with UniRx
Interactive UI with UniRxInteractive UI with UniRx
Interactive UI with UniRxYuto Iwashita
 
Unity道場aseスペシャル補足資料
Unity道場aseスペシャル補足資料Unity道場aseスペシャル補足資料
Unity道場aseスペシャル補足資料小林 信行
 
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jpUnity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp小林 信行
 

En vedette (19)

Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingReactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event Processing
 
「ずいぶんとダサいライティングを使っているのね」〜UniRxを用いた物理ベースライティング制御〜
「ずいぶんとダサいライティングを使っているのね」〜UniRxを用いた物理ベースライティング制御〜「ずいぶんとダサいライティングを使っているのね」〜UniRxを用いた物理ベースライティング制御〜
「ずいぶんとダサいライティングを使っているのね」〜UniRxを用いた物理ベースライティング制御〜
 
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
 
20160130 モデリング技術を学ぼう
20160130 モデリング技術を学ぼう20160130 モデリング技術を学ぼう
20160130 モデリング技術を学ぼう
 
知って得するC#
知って得するC#知って得するC#
知って得するC#
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVC
 
Reactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単にReactive Extensionsで非同期処理を簡単に
Reactive Extensionsで非同期処理を簡単に
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターン
 
Sappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ーSappo ro#6資料2 ー完全版ー
Sappo ro#6資料2 ー完全版ー
 
UniRxでPUNを使いやすくする
UniRxでPUNを使いやすくするUniRxでPUNを使いやすくする
UniRxでPUNを使いやすくする
 
ペッパソン東の陣 Microsoft 提供 API のご紹介
ペッパソン東の陣 Microsoft 提供 API のご紹介ペッパソン東の陣 Microsoft 提供 API のご紹介
ペッパソン東の陣 Microsoft 提供 API のご紹介
 
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 20174 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
4 Colors Othello’s Algorithm @仙台 IT 文化祭 2017
 
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
 
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
 
The History of Reactive Extensions
The History of Reactive ExtensionsThe History of Reactive Extensions
The History of Reactive Extensions
 
Interactive UI with UniRx
Interactive UI with UniRxInteractive UI with UniRx
Interactive UI with UniRx
 
LINQ in Unity
LINQ in UnityLINQ in Unity
LINQ in Unity
 
Unity道場aseスペシャル補足資料
Unity道場aseスペシャル補足資料Unity道場aseスペシャル補足資料
Unity道場aseスペシャル補足資料
 
Unity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jpUnity dojo amplifyshadereditor101_jpn-jp
Unity dojo amplifyshadereditor101_jpn-jp
 

Similaire à 未来のプログラミング技術をUnityで -UniRx-

WindowsMobile開発を256倍快適にする言語 Lua
WindowsMobile開発を256倍快適にする言語 LuaWindowsMobile開発を256倍快適にする言語 Lua
WindowsMobile開発を256倍快適にする言語 LuaHiroaki TAKEUCHI
 
【DL輪読会】大量API・ツールの扱いに特化したLLM
【DL輪読会】大量API・ツールの扱いに特化したLLM【DL輪読会】大量API・ツールの扱いに特化したLLM
【DL輪読会】大量API・ツールの扱いに特化したLLMDeep Learning JP
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料openrtm
 
ロボットシステム学2015年第12回
ロボットシステム学2015年第12回ロボットシステム学2015年第12回
ロボットシステム学2015年第12回Ryuichi Ueda
 
Toppers Project 3 major events.
Toppers Project 3 major events.Toppers Project 3 major events.
Toppers Project 3 major events.Kiyoshi Ogawa
 
一年ツイッター
一年ツイッター一年ツイッター
一年ツイッターXMLProJ2014
 
Uno Platform さわってみた
Uno Platform さわってみたUno Platform さわってみた
Uno Platform さわってみたm ishizaki
 
インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版Yusei Yamanaka
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup samplemganeko
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例Ryota Murohoshi
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部openrtm
 
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてcom044
 
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -Masahito Zembutsu
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMFAtomu Hidaka
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
WebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample updateWebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample updatemganeko
 
今改めて見る Plane finding
今改めて見る Plane finding今改めて見る Plane finding
今改めて見る Plane findingTakahiro Miyaura
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Yuki Suga
 
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~Takahiro Miyaura
 

Similaire à 未来のプログラミング技術をUnityで -UniRx- (20)

WindowsMobile開発を256倍快適にする言語 Lua
WindowsMobile開発を256倍快適にする言語 LuaWindowsMobile開発を256倍快適にする言語 Lua
WindowsMobile開発を256倍快適にする言語 Lua
 
【DL輪読会】大量API・ツールの扱いに特化したLLM
【DL輪読会】大量API・ツールの扱いに特化したLLM【DL輪読会】大量API・ツールの扱いに特化したLLM
【DL輪読会】大量API・ツールの扱いに特化したLLM
 
Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料Rtミドルウェア講習会 第2部資料
Rtミドルウェア講習会 第2部資料
 
ロボットシステム学2015年第12回
ロボットシステム学2015年第12回ロボットシステム学2015年第12回
ロボットシステム学2015年第12回
 
Toppers Project 3 major events.
Toppers Project 3 major events.Toppers Project 3 major events.
Toppers Project 3 major events.
 
一年ツイッター
一年ツイッター一年ツイッター
一年ツイッター
 
Uno Platform さわってみた
Uno Platform さわってみたUno Platform さわってみた
Uno Platform さわってみた
 
インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
UnityでのLINQ活用例
UnityでのLINQ活用例UnityでのLINQ活用例
UnityでのLINQ活用例
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
 
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
 
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
 
2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF2014 1018 OSC-Fall Tokyo NETMF
2014 1018 OSC-Fall Tokyo NETMF
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
WebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample updateWebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample update
 
KOGEI & KAIT Funnel WS
KOGEI & KAIT Funnel WSKOGEI & KAIT Funnel WS
KOGEI & KAIT Funnel WS
 
今改めて見る Plane finding
今改めて見る Plane finding今改めて見る Plane finding
今改めて見る Plane finding
 
Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2Robotech2012講習会v01最終版v2
Robotech2012講習会v01最終版v2
 
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
 

Plus de torisoup

Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lttorisoup
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~torisoup
 
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunityUnityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunitytorisoup
 
ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しようARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しようtorisoup
 
Photon Cloud ことはじめ
Photon Cloud ことはじめPhoton Cloud ことはじめ
Photon Cloud ことはじめtorisoup
 
アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」torisoup
 
UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話torisoup
 
Task vs Observable
Task vs ObservableTask vs Observable
Task vs Observabletorisoup
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話torisoup
 
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウみくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウtorisoup
 
Unity講習会(初級)
Unity講習会(初級)Unity講習会(初級)
Unity講習会(初級)torisoup
 

Plus de torisoup (11)

Doozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_ltDoozy UI 使おうぜ! #unity_lt
Doozy UI 使おうぜ! #unity_lt
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
 
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunityUnityで作ったゲームをDLカードで配布してみた話 #roppongiunity
Unityで作ったゲームをDLカードで配布してみた話 #roppongiunity
 
ARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しようARでVRアバターを表示するシステムを構築しよう
ARでVRアバターを表示するシステムを構築しよう
 
Photon Cloud ことはじめ
Photon Cloud ことはじめPhoton Cloud ことはじめ
Photon Cloud ことはじめ
 
アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」アバター生放送支援アプリ「アバれぽ」
アバター生放送支援アプリ「アバれぽ」
 
UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話UnityとNCMBでユーザ管理を実装してみた話
UnityとNCMBでユーザ管理を実装してみた話
 
Task vs Observable
Task vs ObservableTask vs Observable
Task vs Observable
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウみくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
 
Unity講習会(初級)
Unity講習会(初級)Unity講習会(初級)
Unity講習会(初級)
 

Dernier

AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。iPride Co., Ltd.
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りiPride Co., Ltd.
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG-Audio
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~honeshabri
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」IGDA Japan SIG-Audio
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版Takayuki Nakayama
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024Hideki Saito
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析sugiuralab
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整えるonozaty
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313ssuserf8ea02
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜Naomi Yamasaki
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))yoshidakids7
 

Dernier (12)

AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
 
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作りAWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
 
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdfIGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
IGDA Japan SIG Audio #22 オンラインセミナー VRの知る.pdf
 
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
キャラで動かすGPT ~GPTsでどんな感じに作っているとか考えていることとか~
 
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
SIG-AUDIO 2024 Vol.02 オンラインセミナー 「必殺使音人(ひっさつしおとにん)カットシーンを成敗せよ」
 
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
キンドリル_ネットワーク自動化成熟度診断サービス ご紹介資料 2024年3月版
 
これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024これからはじめるAnsible - Ansible Night Tokyo 2024
これからはじめるAnsible - Ansible Night Tokyo 2024
 
バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析バイオリンの運弓動作計測による初心者と経験者の差異分析
バイオリンの運弓動作計測による初心者と経験者の差異分析
 
チームで開発するための環境を整える
チームで開発するための環境を整えるチームで開発するための環境を整える
チームで開発するための環境を整える
 
00001_test_automation_portfolio_20240313
00001_test_automation_portfolio_2024031300001_test_automation_portfolio_20240313
00001_test_automation_portfolio_20240313
 
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
JAWS DAYS 2024 E-3 ランチにまつわるちょっといい話 〜給食がない町の小中学生に温かい昼食を〜
 
The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))The 86th National Convention of IPSJ (Student Encouragement Award))
The 86th National Convention of IPSJ (Student Encouragement Award))
 

未来のプログラミング技術をUnityで -UniRx-