Your SlideShare is downloading. ×
基本答え&解説のみ
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

基本答え&解説のみ

1,364
views

Published on

Published in: Technology, Art & Photos

0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,364
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
9
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 問題1 答え
  • 2. 問題1 解説 http://ufcpp.net/study/csharp/sp_attribute.html引用 : ++C++ // 未確認飛行 C
  • 3. 問題1 解説
  • 4. 問題1 解説
  • 5. 問題1 解説
  • 6. 問題1 解説
  • 7. 問題1 解説
  • 8. 問題1 解説
  • 9. 問題1 解説
  • 10. 問題2 答え
  • 11. 問題2 解説
  • 12. 問題2 解説
  • 13. 問題2 解説
  • 14. 問題2 解説
  • 15. 問題2 解説
  • 16. 問題2 解説
  • 17. 問題2 解説
  • 18. 問題2 解説
  • 19. 問題2 解説
  • 20. 問題2 解説
  • 21. 問題2 解説
  • 22. 問題3 答え using UnityEditor; using UnityEngine; public class Question3 : EditorWindow { [MenuItem("Question3/EditorWindow")] static void Open() { GetWindow<Question3>(); } void OnGUI() { if (Event.current.type == EventType.ContextClick) { GenericMenu genericMenu = new GenericMenu(); genericMenu.AddItem(new GUIContent("CreateCube"), false, () => GameObject.CreatePrimitive(PrimitiveType.Cube)); genericMenu.ShowAsContext(); } } }
  • 23. 問題3 解説
  • 24. 問題3 解説 Rect ( 0, 0, 100 , 10 )
  • 25. 問題3 解説
  • 26. 問題4 解答 using UnityEditor; [CustomEditor(typeof(Question4))] public class Question4Inspector : Editor { public override void OnInspectorGUI() { Question4 question4 = (Question4)target; question4.username = EditorGUILayout.TextField("名前", question4.username); question4.hp = EditorGUILayout.IntSlider("HP", question4.hp, 0, 10); question4.atk = EditorGUILayout.IntSlider("力", question4.atk, 0, 10); question4.agi = EditorGUILayout.IntSlider("すばやさ", question4.agi, 0, 10); } } using UnityEngine; public class Question4 : MonoBehaviour { public string username; public int hp, atk, agi; }
  • 27. 問題4 解説
  • 28. 問題4 解説 GameObjectInspector TransformInspector CameraInspector
  • 29. 問題4 解説 GameObject Transform Camera GameObjectInspector TransformInspector CameraInspector
  • 30. 問題4 解説
  • 31. 問題4 解説 MonoScript MonoScriptInspector
  • 32. 問題4 解説 MonoScript MonoScriptInspector Editor4Inspector
  • 33. 問題4 解説 public override void OnInspectorGUI() { }
  • 34. 問題4 解説
  • 35. 問題5 答え using UnityEngine; public class Question5 : MonoBehaviour { public Vector3[] positions = new Vector3[] { new Vector3(0,0,0), new Vector3(-5,0,0), new Vector3(0,5,0), new Vector3(0,0,5), new Vector3(5,-5,5), }; void OnDrawGizmos() { foreach (var position in positions) { Gizmos.DrawWireSphere(position, 0.5f); } } } using UnityEngine; public class Question5 : MonoBehaviour { public Vector3[] positions = new Vector3[] { new Vector3(0,0,0), new Vector3(-5,0,0), new Vector3(0,5,0), new Vector3(0,0,5), new Vector3(5,-5,5), }; } using UnityEditor; using UnityEngine; public class Question5Editor { [DrawGizmo(GizmoType.Active)] static void OnDrawGizmo(Question5 question5, GizmoType type) { foreach (Vector3 position in question5.positions) { Gizmos.DrawWireSphere(position, 0.5f); } } }
  • 36. 問題5 解説 (25分) ヒント1は10分後 ヒント2は15分後
  • 37. 問題5 解説 (25分) ヒント1は10分後 ヒント2は15分後
  • 38. 問題5 解説 (25分) ヒント1は10分後 ヒント2は15分後 GizmoTypeによって描画を切り替える オブジェクトがどのような状態なのかを細かく監視
  • 39. 問題5 解説
  • 40. 問題6
  • 41. 問題6 答え https://gist.github.com/anchan828/8ce42635b5ce92c90c23
  • 42. 問題6 解説
  • 43. 問題6 解説
  • 44. 問題7
  • 45. 問題7 答え https://gist.github.com/anchan828/a1442127953909d2ea23
  • 46. 問題7 解説 ScriptableObjectを作成するのは簡単 ただし管理を厳密に
  • 47. 問題7 解説 UnityEditor上で値が変更されていても ファイルには保存されていない データの保存 保存されるタイミングはUnityEditor終了時
  • 48. 問題7 解説 すぐデータをファイルに保存するには、 EditorUtility.SetDirty & AssetDatabase.SaveAssets を使用する データの保存
  • 49. 問題7 解説
  • 50. 問題8 答え https://gist.github.com/anchan828/fe92724044cb47315dae
  • 51. 問題8 解説 AssetPostprocessorを継承したクラス インポートされるアセットは全てココを通る
  • 52. 問題8 解説 サポートされていないアセットのインポート結 果を取得するにはOnPostprocessAllAssetsを 使用する ShaderやScriptableObjectなど
  • 53. 問題8 解説
  • 54. 問題9答え https://gist.github.com/anchan828/6665d545062d07b8210b
  • 55. 問題9解説 EditorUtility.OpenFilePanelはファイルの絶対パスを返す キャンセルされると空文字を返す キャンセルされるまでファイルを追加する処理
  • 56. 問題9解説 EditorApplication.OpenSceneAdditive は絶対パスでは動作しないことに注意
  • 57. 問題9 解説
  • 58. 問題10 答え https://gist.github.com/anchan828/4c18205a5e4a7fa6e316
  • 59. 問題10 解説 Undo.RegisterCreatedObjectUndo オブジェクトの生成に関するUndo Undo.RegisterSceneUndo シーンに関するUndo Undo.∼Snapshot系 オブジェクト操作に関するUndo
  • 60. 問題10 解説