タグ

unirxに関するtarchanのブックマーク (28)

  • UniRxを使ったダウンロード時のプログレスバーの実装 - Nobollel開発者ブログ

    こんにちは、Nobollel株式会社でエンジニアをしている土です。 Nobollelではモバイルゲーム開発にUnityを使っていて、RxのライブラリとしてUniRxを積極的に使用しています。 みなさんは複数URLのコンテンツダウンロードのプログレスバーやダウンロードが完了した個数の表示はどのように実装していますでしょうか? 今回はゲーム起動時にアセットバンドルを連続してダウンロードし、プログレスバーに進捗を反映させるときに役に立つtipsを紹介したいと思います。 UniRxでいくつものURLに連続してHTTPリクエストをする場合、WWWObservableとクエリ構文を使って簡単に実装できます。 IObservable<byte[]> Request(string url) { return ObservableWWW.GetAndGetBytes(url); } var query =

    UniRxを使ったダウンロード時のプログレスバーの実装 - Nobollel開発者ブログ
  • UniRxでWhenAllがSubscribeされない場合 - 株式会社BEFOOL ブログ

    木内智史之介(シャッチョー) ミンカさんけっこんしてくださいおねがいします(ズザー SEGAさん、DIVAの筐体ください(ズザー 最近携わらせていただいている案件で「UniRx」なるツールを使用していて、自分はRxというものに触れたことがなかったので、大変勉強になりました。 ごく最近身につけた知識なので、認識違いなどある場合もあるかと思いますが、その場合はご指摘いただけるとうれしいです! UniRxについて 「Rx(Reactive Extensions)」とは? Web系の開発だと馴染みが薄いかもしれないですが、ネイティブ系の開発では、 非同期処理(異なる処理が別々に走り、終わるタイミングもバラバラ) イベント処理(いわゆるコールバック系の処理など) 時間が絡む処理 などが頻繁に出てきます。 これらの処理をまじめに書こうとすると、メソッドがネストしたり、非常に泥臭い対応が求められ

  • neue cc - UniRx 5.0 - 完全書き直しによるパフォーマンス向上とヒューマンリーダブルなスタックトレース生成

    UniRx(Reactive Extensions for Unity)のVer 5.0が昨日、AssetStoreにリリースされました。前回が4.8.2で6月なので、半年ぶりで、今回はメジャーアップデートとなります。現在の最新であるUnity 5.3(の新機能)に対応というのもあります、が、今回の目玉は書き直しです。半年間なにやっていたかというと、書き直そう!いよいよやっと重い腰を上げてスタックトレースに優しいコードにしよう!と思い立って始めてみたもののメンドウくささが極まって挫折して放置。してたんですが、先月ぐらいに、いい加減に手を付けたくて、ちょっとうちの会社の仕事時間を貰ってゴリゴリ進めてやっと終わりました。 GitHub - UniRx UnityAssetStore - UniRx とりあえず分かりやすい成果としては、スタックトレースです。 var rp = new React

  • neue cc - Unityでのボクシングの殺し方、或いはラムダ式における見えないnewの見極め方

    Happy boxing! UniRxの前回リリース(UniRx 5.0.0)でパフォーマンス向上を果たしたと書きましたが、まだやり残したことがありました。それがボックス化(boxing)の殺害です。ボックス化は単純に言うと、せっかくの値型が箱に入っちゃってGCゴミが発生してGCがーーー、というもの。避けれるなら避けるべし。あ、ちなみに今回の内容は特に別にUnityに限らないふつーのC#の話です。 それと、というわけかでUniRx 5.1.0リリースしました、アセットストアから落とせます。基的な内容は以下に解説するボックス化を徹底的に殺害したことによるパフォーマンス向上です。 ボックス化とジェネリクス GCって、別に見えてるnewだけで発生するわけでもありません。見えてるものを警戒するのは大事ですが、見えないものを見てないのは片手落ち感が否めない。そんな見えないものの代表例がボックス化で

    tarchan
    tarchan 2017/01/06
    >t1.GetType() と書いてもボックス化が発生します。その場合、 typeof(T) と書くことで避けられます。
  • neue cc - Unityにおけるコルーチンの省メモリと高速化について、或いはUniRx 5.3.0でのその反映

    UniRx 5.3.0をリリースしました!今回のアップデートは、内部的な最適化、です。最適化は、もうそろそろあんまやるところ残ってないよね、なんて思ってたんですが、じっくり考えるとそんなことなく割とあったので埋めました。それが表題のコルーチンの省メモリと高速化です。使い方次第ではありますが、場合によっては今回のアップデートでものすごく恩恵に授かる人もいればそこそこの人もいるかもです。ともあれ基的に内部的に変更してるだけなので、入れるだけでそれなりに高速化したりする可能性がそれなりにあります。 GitHub/UniRx AssetStore/UniRx 前回が2月だったので3ヶ月ぶりですね。あまりオペレータ追加がないので、次はオペレータ追加に集中したい気もする。なんか優先的に欲しいのあればリクエストもどうぞ(Observable.Windowとかいい加減そろそろ入れろよって話なんですが)

  • Unityでシーンをキャッシュする仕組み - imog

    2時間遅れの公開になります。遅れてしまった・・。 こちらはUnityアドベントカレンダー、12/5の記事です。 qiita.com 前回は凹さんの「UnityWindowsデスクトップ画面をテクスチャとして表示するプラグインを作ってみた」でした。 tips.hecomi.com シーンを保持したい問題 Unityでよく悩む問題として、シーン遷移時に前の状態に戻したいということがたびたびあります。 シーンAからシーンBに遷移 Bからキャンセル等の動作でAに戻る Aのカーソル位置や状態が初期状態に戻る RPGのフィールド画面 -> 戦闘画面 -> フィールド画面とか パーティゲームのキャラ選択 -> ステージ選択キャンセル -> キャラ選択に戻る とか。 つまり、前の状態を保持したままシーン遷移を行いたくなることが多いです。 やり方としては、パッと2パターンくらい浮かびました。 シー

    Unityでシーンをキャッシュする仕組み - imog
  • neue cc - UniRx 4.8 - 軽量イベントフックとuGUI連携によるデータバインディング

    UniRx(Reactive Extensions for Unity)のVer 4.8が昨日、AssetStoreにリリースされました。UniRxとはなにか、というと、巷で流行りのReactive Programming、の.NET実装のReactive Extensions、のUnity実装で、私が去年ぐらいからチマチマと作っています。実際のところ細かいリリースは何度も行っているんで(差分はGitHubのReleasesに書いてあります)、開発/アップデートはかなりアクティブな状態でした。その間に、Google PlayやiOSのAppStoreでもチラホラと使用しているタイトルがあったりと(ありがとうございます!!!)、案外存外しっかりRealWorldしていました。GitHubのStarも順調に伸びていて、まぁまぁメジャーになってきた気はします。 その間に、いくつか素晴らしいプレゼ

  • neue cc - Unity 5.3のMulti Scene EditingをUniRxによるシーンナビゲーションで統合する

    今回はUnity Advent Calendar 2015のための記事になります。昨日はtsubaki_t1さんによるUnity初心者を脱するためのデバッグ入門…的なやつでした。私はとりあえずVisual Studioでアタッチしてステップ実行、でしょうか……。最近はiOSのIL2CPPのスタックトレースが行番号出してくれなくて禿げそうというのが社内のホットトピックスらすぃ。 去年もUnity Advent Calendarには参加していて、その時はUnityのコルーチンの分解、或いはUniRxのMainThreadDispatcherについてという内容でした。今回も引き続き、私の作成しているUniRx - Reactive Extensions for Unityのお話ということでお願いします。とはいえ、中身的にはMulti Scene Editingや、シーン間での引数渡しをやるのにど