https://* はじめに
このブログに投稿した記事の中から、人気があったモノや有益っぽい気がするモノを厳選し、
カテゴリ別にまとめてみました!
目次
- 目次
- Unityの機能
- Unityの設定
- Unityでの実装
- Unity用便利クラス
- エディタ拡張
- エディタ拡張で作った便利機能
- 拡張メソッド
- 属性
- C#
- モバイル
- PC
- uGUI
- アセット
- サービス
- ツール
- ゲーム演出
- 最適化
- その他
Unityの機能
RayCast
- RayCastその1、使い方
- RayCastその2、衝突するオブジェクトの制限
- RayCastその3、Rayを画面に表示
- RayCastその4、Raycastを2Dで使う
Effector2D
- 風やバリアを表現できるAreaEffector2Dの使い方やパラメータ
- 下からだけ貫通する床を表現できるPlatformEffector2Dの使い方やパラメータ
- 浮力や水流を表現できるBuoyancyEffector2Dの使い方やパラメータ
- ムービングウォークやエスカレーターを表現できるSurfaceEffector2Dの使い方やパラメータ
- 重力や磁力を表現できるPointEffector2Dの使い方やパラメータ
パーティクル
- パーティクルの大きさをScaleで調整する
- エフェクトをキャラクターと一緒に動かす、向きに合わせてエフェクトを出す
- 衝突位置にエフェクトを発生させる
- 2Dのエフェクトを前面に表示する
Sprite
- Spriteをパックする新しい仕組み、SpriteAtlasを使ってみた
- SpriteやImageでMaskを使う
- SpriteやImageで9Sliceを使う
- SpriteCreatorで仮のSpriteを作成する
- Unityの2D(Sprite Renderer)でLightを使う
Post-processing Stack(ポストプロセス)
- ポストプロセス入門(前編)
- ポストプロセス入門(後編)
SendMessageを置き換えるために設計されたというメッセージシステムとやら
timeScaleに影響しない時間、unscaledDeltaTimeとunscaledTime
Unityでの実装
データ管理
- PlayerPrefsの暗号化
- クラスを丸ごと保存するデータ管理方法
- ビットフラグを使いやすくするアレコレ
- 外部ファイルの読み書きと暗号化(Dictionary⇔JSON)
- シーンを切り替えても引き継げて、簡単に書き換えられるデータ
- PlayerPrefsでListやDictionaryの保存
- ScriptableObjectの参照をちょっと楽にしてみる
全てのシーンに存在し、かつ、一つしか存在してはいけないマネージャー的存在の実装方法
Prefabの状態を保ったままのオブジェクトをプログラムから作成する
Unity用便利クラス
AudioManager
- ぼくがかんがえたさいきょうのAudioManager
- ぼくがかんがえたさいきょうのAudioManager2
MonoBehaviourを継承し、初期化メソッドを備えたシングルトンなクラス
SliceしたSpriteの取得を簡単にし、キャッシュもする便利クラス
エディタ拡張
データ保存
- プロジェクト内でデータを保存
- プロジェクトをまたいでデータを保存
OnPreprocessTextureなどをディレクトリ移動時も実行する
エディター上で選択しているオブジェクトを取得したり、任意のオブジェクトを選択したり
エディタ拡張でオブジェクトを生成した場合にシーンを保存する方法
エディタ拡張で作った便利機能
XcodeAPI
- C#だけで簡単にXcodeプロジェクトの自動設定
- XcodeAPIの使い方
テンプレ機能
- スクリプトのテンプレを複数使えるようにしつつ、作成日や作成者名等も追加する
- スクリプトからテンプレを自動作成
- テンプレメニューを自動で更新する
定数自動作成&更新
- 定数を管理する様々なクラスを作成するエディタ拡張
- シーン名、タグ名、レイヤー名、ソーティングレイヤー名の定数を自動作成&更新
- オーディオのファイル名を定数で管理するクラスを作成するエディタ拡張
- Resources内にあるファイルとディレクトリへのパスを自動作成する
Scripting Define Symbolsを劇的に使いやすくするエディタ拡張
選択したオブジェクトに対する日本語のドキュメントを表示するためのエディターウィンドウ
拡張メソッド
拡張メソッドとは、全ての子オブジェクトにレイヤーとマテリアル設定を行ってみる
Time.timescaleを変更せずにRigidbodyの一時停止&再開処理
keyが存在しない場合はデフォルト値を返すDictionaryの拡張メソッド
モバイル
ランキングとアチーブメント
- プラグインを書かずにランキングとアチーブメントを実装
- プラグインを書かずにGameCenterのランキングとアチーブメントを実装
- プラグインを書かずにGoogle Play Game Servicesのランキングとアチーブメントを実装
iOSのアプリサイズ
- 最近アプデorリリースしたアプリのサイズがiOS9では大きく表記されている件
- Unity製アプリをXcode6でArchiveしたらアプリサイズの表記が倍に
Unityで開発したAndroidアプリが50MBを超えた時の対処法
アセット
エッセンシャルパック
- 「2D環境にて高品質な光と影の演出」が出来ると謳われている2DDL Pro
- 「デバッグを簡単にして生産性を上げられる」と謳われているEditor Console Pro
NGUI
- タッチした所が始点になるバーチャルジョイスティック
- Tweenリスタート、Tween終了後の呼び出し、UILabelの色変え
- Depthを設定する事によりNGUIでDrawCallsを減らす
- 9スライスを用いて綺麗に画像を拡大
Mesh Bakerを使ってメッシュをまとめ、Draw Callsを1306から6にしてみた
簡単ローカライズアセット「AutoLocalization」をリリース!
サービス
Photon
- iOSでオンラインゲーム開発はじめました
- photonの基本的な流れ
- 頭上に名前を表示してオンラインで同期
- ルームに入れる人数制限の方法、指定したルームに入る方法
UnityCloudBuild
- UnityCloudBuildで有効になるDefineはUNITY_CLOUD_BUILD
- UnityCloudBuildでの身に覚えのないエラーを解決するかもしれない方法
試しにUnityAnalyticsを使ってみたら簡単過ぎた件
ニフティクラウドモバイルバックエンドでデータストア機能を使ってみた
デバイス毎に違うURLへ飛ばせるURLを無料で作成してくれるsmartURL