O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
知って得する

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(無料)
ありがとうございました
Próximos SlideShares
Carregando em…5
×

知って得するUnity

12.035 visualizações

Publicada em

Publicada em: Tecnologia
  • Seja o primeiro a comentar

知って得する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. ありがとうございました

×