UniRxを使いこなしたい
先日、Unityでの非同期処理やらにテーマを絞った勉強会に参加してきた。
まぁ主にUniRxの話なんだが、非常にためになった。
ダブルクリック検出ぐらいはよくサンプルで見かけたりするし、流石にそれぐらいは分かるのだが、
色々と応用的なことをしようとするとまだまだ難しい。
やっぱ実際にありそうな実例と共に、その解説があると理解しやすい。
いまちょこちょこ作ってるミニゲームも、なんだかんだでコードがとっちらかりつつあるし、落ち着いたタイミングでUniRxでさっぱりさせてみたいな。
勉強会のスライド
Unity 非同期プログラミング.pptx - Microsoft PowerPoint Online
これは便利!
Learn Reactive Extensions
Editor Console Proがとっても便利!
ちょっと仕事で、かなり厄介な不具合調査を行うことがあった。
これがもう手に負えないぐらい酷いコードで、対症療法的にネストを積み上げたif文だの、いまいち名前から機能を類推しがたいメソッド名やら、とにかく調査が大変だった。
ブレークポイントで止めたいわけではないんだが、どのタイミングでどの処理が走っているのかを追う必要があり、大量のデバッグログを差し込んだ。
そうなると当然、ログが勢い良く流れすぎて、いちいち進行を止めないとまともに確認できず。
そんな時だったね、僕がEditorConsoleProを薦められたのは。
こいつを使えばログ出力元のソースファイルパスや、クラス名・名前空間やらでフィルタリングして、表示を切り替えたり色を変えたりして見やすくできる。
正直、ただログ見やすくなる機能に$25払うのもなー、と思ったりしたけど、これは悪くないぞ。
うんうん、本当に使うかどうか分からんようなモデルデータとかより、こういうエディタ拡張の方が投資効率良いかも。
https://www.assetstore.unity3d.com/jp/#!/content/11889
baba-s.hatenablog.com
2D物理系コンポーネントのテスト
とりあえず無理矢理に色々突っ込んで動かしてみた。
https://dl.dropboxusercontent.com/u/3811281/unity_study/physics2d_test.html
FixedUpdate()がいまいち分からない
とりあえずググると
- Rigidbodyの値をいじるのはUpdate()ではなくFixedUpdate()で行なうこと
- FixedUpdate()でInputを参照しないこと
となっている。
後者は、入力を取りこぼしうるからってことらしい。
まぁそれは分かんなくもないんだけど。
実際のところ、これまでちょっとしたサンプルを書く分には、全部Update()でやっちゃってても問題起きなかったけど、どうなんだろ。
たまに何かのサンプルとか見ると、上記を守ってなかったりするものも多いし。
あと、RigidbodyだけじゃなくてWheelJointとかも同じように扱わないとダメなのかな?