知って得するUnity

9,859 views

Published on

Published in: Technology
0 Comments
38 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
9,859
On SlideShare
0
From Embeds
0
Number of Embeds
472
Actions
Shares
0
Downloads
44
Comments
0
Likes
38
Embeds 0
No embeds

No notes for slide

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

×