Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
知って得する

Unity

株式会社ハ・ン・ド
プログラマ
馬場翔太
http://baba-s.hatenablog.com/
スライド内容
1. エディタの操作について
2. エディタの拡張について
3. アセットの活用について
エディタの操作
private変数の状態を確認したい

public class Character : MonoBehaviour
{
private int id = 1;
private string name = "Mike";
}
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-ent...
ログを出力したオブジェクトを特定したい

private void Start()
{
Debug.Log("Start");
}
ログを出力したオブジェクトを選択
第二引数にオブジェクトやコンポーネントを渡す
private void Start()
{
Debug.Log("Start", this);
}
オブジェクトをキレイに配置したい
オブジェクトの移動や回転でスナップ
Ctrlキーを押しながら移動や回転をさせるとスナップ可能
スナップする量は「Edit>Snap Settings...」で設定可能
深い親子階層を一気に開きたい
Altキーを押しながらアイテムの親子関係を開く
Projectビューで特定のアセットのみ表示
検索欄の右のボタンで表示したいアセットの種類を選択
オブジェクトやアセットを複製したい
複製したいアイテムを選択してCtrl+D
(アセットなら連番の適用も可能)
エディタの拡張
アセットの設定変更を効率化したい
• テクスチャの種類をGUIに
• AudioClipの3Dサウンドをオフに
アセットインポート時に設定を自動変更
using UnityEditor;
public class AssetPreprocessor : AssetPostprocessor
{
private void OnPreprocessTextu...
アセットインポート時に設定を自動変更
AssetPostprocessorクラス
継承してクラスを記述することで

アセット読み込み時の独自の処理を実装できます

using UnityEditor;
public class AssetPre...
アセットインポート時に設定を自動変更
OnPreprocessTexture関数
テクスチャがインポートされた時に呼び出されます

private void OnPreprocessTexture()
{
var importer = asse...
アセットインポート時に設定を自動変更
OnPreprocessAudio関数
AudioClipがインポートされた時に呼び出されます

private void OnPreprocessAudio()
{
var importer = asse...
再生中にスクリプトを編集してエラーに
再生中にスクリプトを編集して保存すると
コンパイル後にエラーが出力される
スクリプト編集後に実行を自動で停止
[InitializeOnLoad]
public static class PlaymodeStop
{
static PlaymodeStop()
{
EditorApplication.update +...
スクリプト編集後に実行を自動で停止
InitializeOnLoad属性
staticコンストラクタを持つクラスに記述すると

エディタ起動時に独自のスクリプトを実行できる

[InitializeOnLoad]
public static c...
スクリプト編集後に実行を自動で停止
EditorApplication.update
エディタで再生中に毎秒約100回呼ばれるコールバック

static PlaymodeStop()
{
EditorApplication.update +=...
スクリプト編集後に実行を自動で停止
EditorApplicationクラス
スクリプトがコンパイルされたかどうかや

エディタが再生中かどうかを確認できるクラス
private static void Update()
{
if ( Edit...
アセットの活用
手順を効率化したい
• 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);

...
配列をコンソールログに出力する
二次元配列やコレクションも出力可能
// 二次元配列
Debugger.Array2D<string>(array);
// List型
Debugger.List<string>(list);
// Dicti...
オブジェクトのパラメータを間違って変更
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...
アプリサイズのボトルネックを見つけたい
テクスチャ

AudioClip

モデル
アプリサイズの内訳を確認
Build Report Tool($5)

http://terasur.blog.fc2.com/blog-entry-472.html
http://plaza.rakuten.co.jp/coronasdk/d...
アプリサイズを確認
使用しているアセットの容量を確認
使用していないアセットの確認と削除
簡単に動きをつける
iTween(無料)

http://www40.atwiki.jp/spellbound/pages/1604.html
エディタ上でiTweenを設定する
iTween Visual Editor(無料)

http://www.cho-design-lab.com/2013/08/07/unity-itween-visual-editor-introducti...
アプリの解読や改ざんを防ぐ
CodeGuard($40)

http://masa795.hatenablog.jp/entry/2013/06/29/131336
フォトショのデータをNGUIにインポート
FastGUI for NGUI($20)

http://terasur.blog.fc2.com/blog-entry-337.html
エディタ再生中に変更した値を保持する
PlayModePersist($20)

http://terasur.blog.fc2.com/blog-entry-578.html
ドローコールを減らす
Draw Call Minimizer(無料)

http://terasur.blog.fc2.com/blog-entry-214.html
オススメのパーティクルシステム
"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(無料)
ありがとうございました
Upcoming SlideShare
Loading in …5
×

知って得するUnity

11,521 views

Published on

Published in: Technology
  • Be the first to comment

知って得するUnity

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

×