UniRx勉強会 「若輩エンジニアから見たUniRxを利用したゲーム開発」 UniRx勉強会 #UniRx https://unirx.doorkeeper.jp/events/25218Read less
https://unirx.doorkeeper.jp/events/25218 UniRx勉強会発表スライド 触って楽しい、見て面白いUIを、UniRxを使って作る方法を紹介。 先日リリースした弊社タイトルの事例を交えながらお話します。Read less
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
この記事はUnity Advent Calendar 2014のための記事になります。昨日はkomiyakさんのUnity を使いはじめたばかりの頃の自分に伝えたい、Unity の基本 【2014年版】でした。いやー、これはまとまってて嬉しい情報です。ところでカレンダー的には穴開けちゃってます(遅刻遅延!)、すみません……。 さて、今回の内容ですが、私の作っているUniRxというReactive Programming(バズワード of 2014!)のためのライブラリを、最近ありがたいことに結構使ってみたーという声を聞くので、Rxの世界とUnityの世界を繋ぐ根幹である、MainThreadDispatcherと、その前準備に必要なコルーチンについて書きます。 Coroutine Revisited コルーチンとはなんぞや。なんて今更ですって!はい。とりあえず、Unityは基本的にシングル
概要 UniRxを導入してみたいけど、何から手をつけたらいいか自分がわからなかったので、 自分が手をつけ始めたところをリストアップしてみました。 後始末 参照を握りっぱなしにしてしまわないように、後始末を忘れずにしましょう。 必要ない物(場合)も多いですが、以下のような処理を書いておくのが無難です。 [NonSerialized] private CompositeDisposable disposables = new CompositeDisposable(); のような変数を用意し、.Subscribe().AddTo(disposables)をすることで、 thisの破棄時にストリームのDispose()をしてくれます。 追記 また、単にGameObjectを渡すだけでもDispose()してくれるとのことです。 .Subscribe().AddTo(this.gameObject
コルーチンってうざったいです 本日はサーバのAPIにアクセスして結果を取得して表示するまでの流れを uGUI と UniRx を使ってやってみます。 新規プロジェクト作成 File → New Project… で新規プロジェクトを作成します。 (1) プロジェクトフォルダは各自環境に合わせて適宜指定してください。 (2) Create をクリックでプロジェクト作成完了です。 UI作成 Hierarchy ビューにて、Panel を生成します。右クリックは Hierarchy ビューの中の何もないところでやります。 Hierarchy ビュー Panel を右クリックし、UI → InputField の順でクリックし、入力フィールドを生成します。 Panel 生成後は Scene ビューにて、いい感じの場所にとりあえずうつしておきましょう。 最後に Hierarchy ビューの Inpu
UniRxについての記事のまとめはこちら SubscribeとDispose RxではObservableを購読してメッセージの待受けを行うことをSubscribeと呼び、その購読を中止することをDisposeと呼びます。 このSubscribeは気をつける点があり、Observableが破棄されたタイミングでちゃんとDisposeする必要があります。 Observableが破棄される際にOnCompletedが発行されれば自動的にDisposeされるのですが、ストリームによってはOnCompletedが発行されない場合もあります。 Observableの寿命を考慮せずに使った場合 まずは以下のコードとその実行結果を見てください。 using UnityEngine; using UniRx; using System; public class ObservableLifeTime :
新しい記事 この記事も古くなってきたので新しく書き直しました ↓↓↓↓↓↓↓↓↓↓↓ * 【Unity】一定時間後にスクリプトの処理を呼び出す方法まとめ ↑↑↑↑↑↑↑↑↑↑↑ 以下ちょっと古い内容 Unityでゲーム開発をしていると、「ある処理を一定時間後や特定のタイミングで実行したい」といった事がよくあるので、そのあたりのやり方をまとめてみました。 Unityの標準機能のみで書く場合 処理をn秒後に実行したい Invokeを使う private void Start() { //DelayMethodを3.5秒後に呼び出す Invoke("DelayMethod", 3.5f); } void DelayMethod() { Debug.Log("Delay call"); } 多分一番シンプルです。 Invokeを使うことで指定メソッドをn秒後に実行させることができます。 ただしメソ
UniRxについての記事のまとめはこちら やりたいこと PhotonAnimatorViewを使ってTriggerの同期がしたい ただし現時点でTrigger同期は未対応 仕方がないのでAnimatorのBoolを使ってTriggerを再現する そもそも「Trigger」とは 基本はBoolと同じ ただしTrueにすると自動的にFalseに戻る性質がある 一瞬だけ動作するアニメーションに切り替える時等によく使う つまり、BoolにTrueを設定したら次フレームでFalseに書き換えてやればよい 作ってみた 私は何でもコンポーネントに分割する派なので、今回はアニメーション管理コンポーネントを作り、そこにTrigger機能を持ったメソッドを作りました。 外から「SetTriggerAttackA」「SetTriggerAttackB」を実行すれば、アニメーション遷移するようにしてあります。 [
はじめに 最近、リアクティブプログラミングを始めました。 これまでは、UIイベントを処理するコードは、繰り返し見直さないと処理の流れを追えない、ということが多くありました。UIイベントのコールバックに応じて状態を管理していたせいで、UIイベントごとにどのような状態に変わるのか、把握が必要だったためです。 リアクティブプログラミングを導入した結果、ストリームから受け取ったUIイベントを加工する処理を繋げることで、UIイベントを処理できるようになりました。その結果、コードを上から下へ読むだけで処理の流れを追いやすくなったと感じています。 今回、Unity上でUniRxを使用して、ピンチイン、ピンチアウトで画面を拡大・縮小する処理をリアクティブプログラミングで書いてみました。本記事では、リアクティブプログラミングの例のひとつとして、その処理を公開します。 サンプルアプリケーション 今回作成したサ
UniRxについての記事のまとめはこちら UniRxを使用するとUpdate()をObservableに変換して使う場合が多々あります。 今回はそのUpdateをObservableに変換する方法を紹介したいと思います。 注意 本投稿よりもこちらの記事のほうがより詳細に書いてありますので、こちらを御覧ください。 UniRx入門 その4 -Updateをストリームに変換する方法とメリット- 以下古い説明 Update → Observableに変換する UpdateをObservableに変換する方法は2015/04/10の時点で3種類あります。 ObservableMonoBehaviour & UpdateAsObservable ObservableUpdateTrigger & UpdateAsObservable Observable.EveryUpdate それぞれ微妙に違うので
UniRxについての記事のまとめはこちら StateMachineBehaviourとは Unity5よりStateMachineBehaviourという、AnimatorControllerに貼り付けるタイプのスクリプトが作成できるようになりました。 このStateMachineBehaviourはAnimatorのステートマシンの状態遷移に合わせてCallBack関数を実行してくれるとい性質のものです。 public class StateMachineExample : StateMachineBehaviour { public override void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { //新しいステートに移り変わった時に実行 } public overr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く