サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
yutakaseda3216.hatenablog.com
少しだけ長いので、根気を持ってお読みください。 レイヤーアーキテクチャについて 言葉で表現すると 個々のオブジェクトの設計に依存しない、概念的な部分の設計思想 各機能の「置き場所」の定め方 あるいは、各機能の依存先を決める手段 責務を明確化する思想 この記事を読んでいるということは、MVPやMVCについては聞いたことがある、実践したことがある人は多そう 前提知識としてあると理解しやすい、かも 詳しく説明してくれている記事がありました qiita.com 引用 "レイヤアーキテクチャというのはアプリケーションを責務に応じたいくつかの層としてとらえる設計手法のことです。" 表面的にはまさにこの通りですが、層という概念に当てはめてしまうのはいささか語弊があります この記事のMVCの部分はすっ飛ばして(失礼ではありますが)レイヤーアーキテクチャの部分だけを読んでいただけると良いと思います 今回伝え
昔こんな記事を書きました。 yutakaseda3216.hatenablog.com さらに、最近Gotanda.unity - connpass という集まりでもAnimatorについてのLTを行いました。 ここらへんで、皆一度は悩むであろうAnimatorのそれなりにマシな作り方、設計の仕方をまとめていこうと思った次第です。 Animatorの矢印が多くて困っている、どういう指標で作ればわからない という方への手助けとなれば幸いです 既知の手法でAnimatorを作った際の問題点 まず、既知の手法でAnimatorを作るとこういった形になると思います 1つ1つAnimatorのステートを作り、それらをトランジションで繋ぐ作り方です トランジションの制御にはそれぞれboolやTriggerといったパラメータを用意し、スクリプトでAnimator.SetBool()などを呼び出す...
Zenject使うじゃん AsSingleでBindするじゃん UnBindするじゃん もう一回Bindするじゃん Injectされない!!!!!! AsTransient使えば解決なんだけど、GC走って回収されてるのにキャッシュ残ってるってどういうことなんなんなん— ペンギン (@YutaDevelop) 2017年4月21日 調べてみた。 超適当にテストコード書いて挙動を確かめた メソッドの名前が意味不明なのは許してほしい gist.github.com 挙動を理解しないとヤバい事故生みそうだなこれという結果になった 結果的にはAsSingle()でInjectされてる参照がUnbindで破棄されてなくて、Inject済みの参照をもう一回Bindし直してた あとGCで回収されてなかった そもそも As〜ってなんぞやというと BindするクラスやインスタンスのBind方法の定義である h
2017/7/10追記 アセットストアがアップデートされ、見た目が大幅に変わりました 一部のTipsがあまり意味をなしていない場合があります あんまり変わってなかった アセットストア モデル、サウンド、エディタ拡張、完成プロジェクトまで様々なアセットを販売、購入できるプラットフォーム 高品質なアセット(普通に発注すればうん百万は下らなさそうなもの)も100$前後で買えたりします Unityを使う一つの理由と言っても過言ではないんですが・・・ 地雷が多いんじゃ 審査さえ通れば誰でも販売できる・・・そのため 品質がまちまち まともに動かすためには特定の手順が必要 他のアセットと競合 importするとエラー etc などなどの問題が多発します C#やUnityスクリプトなどに深い知識がない人は、エラーを解決できずに泣く泣くアセットを使わない選択をすることもあると思います なので、アセットストア
Zenjectについて github.com 導入を躊躇っていたものの、あるところから脅しがかかったので本格的に使い始めた 基本的な使い方などはこちらをご参考いただければわかるのではないかと思います Unity3DのDIフレームワーク、Zenjectの紹介 | Aiming 開発者ブログ 今回はちょっと具体的な使い方を模索してみました。 何ができるのか リポジトリのreadmeを読めばわかる DI(Dependancy Injection)を行うためのライブラリで、すっごい簡単に言うと newの引数とか、シングルトンで引っ張ってきてたオブジェクトを、登録しておいたオブジェクトの中から勝手に引っ張ってきて自動で参照を入れてくれるやつ って認識でいいと思う、もちろんこれは機能のごく一部に過ぎない 他にもいろいろできる、公式読んで 中身の話 Zenjectの基本は Containerにオブジェク
誰か俺にVSforMacを入れる勇気を— ザツヨウペンギン (@YutaDevelop) 2017年2月23日 入れました、導入した後にやった設定と感想をつらつらと書きます とりあえずPreview版とはいえ、まあなかなかでした 導入・インストール New Release Preview: Visual Studio for Mac | Visual Studio ここからインストールしてください 導入・Unity側の設定 Preferences を開いて External Tools からExternal Script Editor でインストールした Visual Studio for Macを指定してあげる。 これでスクリプトファイルを開くと動くぞ! とはいかない、このままだとインテリセンス(補完)が効かない 導入・VSforMac側の設定 ※機密プロジェクトがあるので名前がバレない
StateMachineBehaviourとは 過去記事 yutakaseda3216.hatenablog.com yutakaseda3216.hatenablog.com AnimatorのStateにAddComponentできるスクリプト (MonoBehaviourみたいな感じ) クラスに継承させることで使用できる 役に立たない公式リファレンスはこれ https://docs.unity3d.com/jp/540/ScriptReference/StateMachineBehaviour.html 動作 基本的には用意されたコールバックをoverrideすることで使用する OnStateEnter ステートマシンがこのステートを評価している場合、最初の Update のフレームで呼び出されます。 MonoBehaviourで言うところのStart() OnStateUpdate
こちらも合わせてどうぞ yutakaseda3216.hatenablog.com はじめに こちらの記事を読んで、最近Unity開発でよく言われるようになった MVPについてだいぶ浸透(あるいは導入)してきたのではないかと思った。 developers.cyberagent.co.jp ただ、すべてのゲームがこの思想でカバーできるかというとそうでもないと思っている。 「そりゃ仕様によって最適解は変わるだろw」と思うかもしれないが 言いたいことはそういうことではなく MVP設計というのは元々Web業界で浸透した設計であり WebのフロントはユーザーがUIを操作するものであるということだ。 つまりこの設計思想をそのまま、あるいは少しのアレンジを加え適用できるのはユーザーがUIを操作することが基本となる モバイル向けソーシャルゲームアプリということである。 それを意識せず、ユーザーがコントロー
こんにちは。 開発が進んでいくと、一つのクラスの中身が膨大な行数になることがあると思います。 その理由は様々あり、解決策もまた様々あると思います。 その中で、今回はpartialを使ってクラスを分割するということを行います。 どのような時にpartialを使うのか まず、クラスの中身が膨大な行数になっていく場面はいつなのかを考えます。 クラスの役割を明確に分けられておらず、なんでもできる神クラスになっている 役割は明確だが、メソッドなどが抽象化できていないので同じ処理を複数回書いている 役割も明確で抽象化もできているが、仕様が多い 1の場合はまずクラスの役割を定めましょう。partialで分けるとさらに可読性が低くなります。 2の場合はまず同じメソッドを呼び出していないか、同じ計算を書いていないかを探して最適化しましょう。DRY原則を守れの一言に尽きます。 3の場合。お待たせしました、pa
RemoteProfilerとは 実機上で動作しているUnityアプリケーションの動作状態をEditor上のProfilerで確認出来る logcat使うよりグラフィカルに見れて割と便利なのでまとめておく 準備 ビルドするときにDevelopmentBuildとAutoconnect Profilerにチェックを入れる 自動ビルドしてると入れそこねてたりする(した) コード上で書く場合は BuildOptions opt |= BuildOptions.Development|BuildOptions.ConnectWithProfiler; とかで指定してBuildPipelineに渡しましょう iOS iOSはめっちゃ楽です 実機にipa入れる PCとUSB接続してアプリ起動 PlatformをiOSにSwitch Editor上でProfilerタブを開く Profilerタブの上の
BatchBuildってなんですか コマンドラインからUnityEditorを起動し、プロジェクトをビルドすることです。 バックグラウンドでビルドを走らせることができ、エディタを立ち上げる必要がないです。 何に使うの? 主に自動ビルドを行いたい場合などに用いられます。 継続的インテグレーションといえばわかる人がいるかもしれません。 詳しくは調べてみてください、Jenkinsなどが代表的なビルドサーバーですかね。 今回の例ではiOSとAndroidのビルドについてを挙げます(XCodeとandroidsdkは設定済みの体で進めます) 準備 まずはプロジェクトのAssets/Editorフォルダ内にBatchBuildフォルダを作成し、その中にBatchBuild.csをCreate->C#スクリプトから作成しましょう。 スクリプトの中身はこんな感じです。 giste16b45825009cf
このページを最初にブックマークしてみませんか?
『yutakaseda3216.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く