Upload
shota-baba
View
5.696
Download
3
Embed Size (px)
Citation preview
知って得する Unity
株式会社ハ・ン・ド
プログラマ
馬場翔太
http://baba-s.hatenablog.com/
スライド内容
1. エディタの操作について
2. エディタの拡張について
3. アセットの活用について
エディタの操作
public class Character : MonoBehaviour
{
private int id = 1;
private string name = "Mike";
}
private変数の状態を確認したい
private変数をInspectorに表示する
Inspectorの右上のボタンからDebugを選択
http://terasur.blog.fc2.com/blog-entry-252.html
エディタ停止を忘れて作業をしてしまった
エディタ再生時の色を変える
1. 「Unity>Preference...」を選択する
2. 「Colors>Genreal>Playmode tint]の色を変更する
http://terasur.blog.fc2.com/blog-entry-252.html
ログを出力したオブジェクトを特定したい
private void Start()
{
Debug.Log("Start");
}
ログを出力したオブジェクトを選択
private void Start()
{
Debug.Log("Start", this);
}
第二引数にオブジェクトやコンポーネントを渡す
オブジェクトをキレイに配置したい
オブジェクトの移動や回転でスナップ
Ctrlキーを押しながら移動や回転をさせるとスナップ可能
スナップする量は「Edit>Snap Settings...」で設定可能
深い親子階層を一気に開きたい
Altキーを押しながらアイテムの親子関係を開く
Projectビューで特定のアセットのみ表示
検索欄の右のボタンで表示したいアセットの種類を選択
オブジェクトやアセットを複製したい
複製したいアイテムを選択してCtrl+D
(アセットなら連番の適用も可能)
エディタの拡張
• テクスチャの種類をGUIに
• AudioClipの3Dサウンドをオフに
アセットの設定変更を効率化したい
アセットインポート時に設定を自動変更
http://www.buildinsider.net/consumer/charmofunity/01 http://kan-kikuchi.hatenablog.com/entry/2013/11/25/000144
using UnityEditor;
public class AssetPreprocessor : AssetPostprocessor
{
private void OnPreprocessTexture()
{
var importer = assetImporter as TextureImporter;
importer.textureType = TextureImporterType.GUI;
}
private void OnPreprocessAudio()
{
var importer = assetImporter as AudioImporter;
importer.threeD = false;
}
}
アセットインポート時に設定を自動変更
http://www.buildinsider.net/consumer/charmofunity/01 http://kan-kikuchi.hatenablog.com/entry/2013/11/25/000144
using UnityEditor;
public class AssetPreprocessor : AssetPostprocessor
{
}
AssetPostprocessorクラス
継承してクラスを記述することで
アセット読み込み時の独自の処理を実装できます
アセットインポート時に設定を自動変更
http://www.buildinsider.net/consumer/charmofunity/01 http://kan-kikuchi.hatenablog.com/entry/2013/11/25/000144
private void OnPreprocessTexture()
{
var importer = assetImporter as TextureImporter;
importer.textureType = TextureImporterType.GUI;
}
OnPreprocessTexture関数
テクスチャがインポートされた時に呼び出されます
アセットインポート時に設定を自動変更
http://www.buildinsider.net/consumer/charmofunity/01 http://kan-kikuchi.hatenablog.com/entry/2013/11/25/000144
private void OnPreprocessAudio()
{
var importer = assetImporter as AudioImporter;
importer.threeD = false;
}
OnPreprocessAudio関数
AudioClipがインポートされた時に呼び出されます
再生中にスクリプトを編集してエラーに
再生中にスクリプトを編集して保存すると
コンパイル後にエラーが出力される
スクリプト編集後に実行を自動で停止
[InitializeOnLoad]
public static class PlaymodeStop
{
static PlaymodeStop()
{
EditorApplication.update += Update;
}
private static void Update()
{
if ( EditorApplication.isCompiling &&
EditorApplication.isPlaying)
{
EditorApplication.isPlaying = false;
}
}
}
http://masa795.hatenablog.jp/entry/2013/05/10/104033
スクリプト編集後に実行を自動で停止
[InitializeOnLoad]
public static class PlaymodeStop
{
static PlaymodeStop()
{
}
}
http://masa795.hatenablog.jp/entry/2013/05/10/104033
InitializeOnLoad属性
staticコンストラクタを持つクラスに記述すると
エディタ起動時に独自のスクリプトを実行できる
スクリプト編集後に実行を自動で停止
static PlaymodeStop()
{
EditorApplication.update += Update;
}
http://masa795.hatenablog.jp/entry/2013/05/10/104033
EditorApplication.update
エディタで再生中に毎秒約100回呼ばれるコールバック
スクリプト編集後に実行を自動で停止
private static void Update()
{
if ( EditorApplication.isCompiling &&
EditorApplication.isPlaying)
{
EditorApplication.isPlaying = false;
}
}
http://masa795.hatenablog.jp/entry/2013/05/10/104033
EditorApplicationクラス
スクリプトがコンパイルされたかどうかや
エディタが再生中かどうかを確認できるクラス
アセットの活用
• Project Settingsの設定
• ゲームオブジェクトの作成
手順を効率化したい
ショートカットを追加する
Extras Toolbar(無料)
http://masa795.hatenablog.jp/entry/2013/06/14/094537
ショートカットを追加する
「Window>Extras」を選択
http://masa795.hatenablog.jp/entry/2013/06/14/094537
配列をコンソールログに出力したい
// 標準のコンソール出力
var array = new []{ "1", "2", "3", “4", “5", };
Debug.Log(array);
配列をコンソールログに出力する
Quick Debugger(無料)
http://terasur.blog.fc2.com/blog-entry-211.html
配列をコンソールログに出力する
// Quick Debuggerのコンソール出力
var array = new []{ "1", "2", "3", “4", “5", };
Debugger.Array<string>(array);
http://terasur.blog.fc2.com/blog-entry-211.html
配列をコンソールログに出力する
// 二次元配列
Debugger.Array2D<string>(array);
// List型
Debugger.List<string>(list);
// Dictionary型
Debugger.Dictionary<int, string>(dict);
http://terasur.blog.fc2.com/blog-entry-211.html
二次元配列やコレクションも出力可能
オブジェクトのパラメータを間違って変更
GameObjectをロック
UnityLock(無料)
http://terasur.blog.fc2.com/blog-entry-487.html
GameObjectをロック
1. ロックしたいオブジェクトを選択
2. 「GameObject>UnityLock>Lock GameObject」を選択
http://terasur.blog.fc2.com/blog-entry-487.html
アプリサイズのボトルネックを見つけたい
テクスチャ AudioClip モデル
アプリサイズの内訳を確認
http://terasur.blog.fc2.com/blog-entry-472.html http://plaza.rakuten.co.jp/coronasdk/diary/201305230001/
Build Report Tool($5)
アプリサイズを確認
使用しているアセットの容量を確認
使用していないアセットの確認と削除
簡単に動きをつける
http://www40.atwiki.jp/spellbound/pages/1604.html
iTween(無料)
エディタ上でiTweenを設定する
http://www.cho-design-lab.com/2013/08/07/unity-itween-visual-editor-introduction/
iTween Visual Editor(無料)
アプリの解読や改ざんを防ぐ
http://masa795.hatenablog.jp/entry/2013/06/29/131336
CodeGuard($40)
フォトショのデータをNGUIにインポート
http://terasur.blog.fc2.com/blog-entry-337.html
FastGUI for NGUI($20)
エディタ再生中に変更した値を保持する
http://terasur.blog.fc2.com/blog-entry-578.html
PlayModePersist($20)
ドローコールを減らす
http://terasur.blog.fc2.com/blog-entry-214.html
Draw Call Minimizer(無料)
オススメのパーティクルシステム
"Shuriken Magic" Effect Pack($35)
http://memo.scri.me/entry/2013/02/09/002415
オススメの3Dモデル
First Fantasy for Mobile($20)
オススメの3Dモデル
Low Poly Fantasy Village Pack.01($20)
オススメの3Dモデル
Palace of Orinthalian(無料)
ありがとうございました