万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

【満員御礼/増員400名】第4回 渋谷Unity技術勉強会 xコロプラUnity事例発表

http://atnd.org/events/25102

テクスチャのメモリが結構時間かかる
=>動的読み込みにする方がベター=>大きいデータは固まるので小さい単位で読み込ませた方が良い

昔:140M(ヒエラルキーに全部宣言)
=>今100M 程度 ・・うーん。実行時のこのメモリ使用量って 2.3系以上が対象なんだろうな・・・(古いのはもっとメモリ厳しいはず

参照をはずしてから、UnloadUnusedAssets()
テクスチャをnullしてから UnloadUnusedAssetsを呼び出してメモリー解放
配列として格納するものをリソースロードにしてる。シーンの中でもたないようにしてる…

http://unity3d.com/support/documentation/ScriptReference/Resources.UnloadUnusedAssets.html

Instantiateしなくても紐付いているだけで、メモリー使うので、Resources.Loadを使う。ただし、同期処理なので、一瞬止まってしまうので、使い所が肝心。

Asset>Resourcesのファイルのかなに画像を入れておけば、Sceneに紐付けておかなくても、ビルド時に読みこんでくれる

逐次ロード=>逐次解放 は基本なのか・・。 動的に読む前:動かすだけで50M程度メモリを食ってしまっていたらしい Resouce.Load
=>くま射的だと 熊が振り返ったときに行っている(演出の一部にしてしまう


Resources.Load / Unloadがメモリ使用量には一番効く

Assetファイル名からの動的読み込みなので、ファイル名の正規化は重要

・Prefab・・Assetを束ねたテンプレートクラス
・Hierarchy・・階層構造オブジェクト=>シーン読み込み時に全部関連を読んでしまうらしい=>Resource.Loadで動的にやりましょう
シーンの初期化時に端末差が多く出るなら、1シーン完結できないゲームはシーンは細分化した方が良い?

利用例) ・プロジェクト、会社固有のルール=>拡張で自動チェック ・入力処理の自動化(プログラマーじゃない人の支援とか


そういえばメニュー拡張はパラメータないとか言ってたけど、メニューのdisableとかはできないのかな

別途、有効無効を判定するメソッドを用意します。次のサンプルのValidateLogSelectedTransformName()のようなやり方です。
http://unity3d.com/support/documentation/ScriptReference/MenuItem.html


できるだけ、C#で書くほうがいい。
そして、Unity依存しなくていいものは、C#でライブラリ化しておいたほうが後々幸せになる
C#の人・・publicフィールドは気持ち悪い(テクニカルガイドライン違反)=>アクセサーを作る(get、set関数) SerializeField の宣言を使えばprivate参照も見らる。

・Extending the Editor Introduction
http://unity3d.com/support/documentation/Components/gui-ExtendingEditor

CSS Preprocessor一覧

・LESS
URL:http://lesscss.org/

→インストール
gitでnpm落として入れて、npmからインストール nodeもいる。

・下準備(環境変数
NODE_HOME にnode.exeを設定 僕は「C:\node\v0.6.0」
さらにPATHへ%NODE_HOME%を追加しておく

git clone https://github.com/isaacs/npm.git
cd npm
git submodule update --init --recursive
node cli.js install -gf

・これでインストールできる

npm install less

・Sass

CSSフレームワークCompass

compass

gem update --system
gem install compass

compass createは全体を囲むフォルダを作ってくれないので

mkdir compass_app
cd compass_app
compass create


CoffeeScript

npm install -g coffee-script

XAMPPのPHPインタラクティブシェル

C:\xampp\php\php -a