猫でもわかるUnreal Engine4

30,297 views

Published on

2014/11/1に行われた第2回 関西Unreal Engine4勉強会の
講演で使用したスライドです。
https://atnd.org/events/57368

pdfファイル
https://www.dropbox.com/s/44mf3o73lbbp3v2/%E7%8C%AB%E3%81%A7%E3%82%82%E3%82%8F%E3%81%8B%E3%82%8BUE4.pdf?dl=0

pptxファイル+動画ファイルhttps://www.dropbox.com/s/i757bzkeugdzvg0/%E7%8C%AB%E3%81%A7%E3%82%82%E3%82%8F%E3%81%8B%E3%82%8BUE4.ZIP?dl=0

質問などありましたら、以下の連絡先にお願いします。
twitter: @pafuhana1213

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

No Downloads
Views
Total views
30,297
On SlideShare
0
From Embeds
0
Number of Embeds
7,157
Actions
Shares
0
Downloads
128
Comments
0
Likes
52
Embeds 0
No embeds

No notes for slide

猫でもわかるUnreal Engine4

  1. 1. 第2回関西UE4勉強会 2014/11/1 おかず@pafuhana1213 スライド公開してます 1 http://www.slideshare.net/pafuhana/ unreal-engine4ue4-2014111
  2. 2.  Twitter やってます  おかず@pafuhana1213  ブログやってます  ぼっちプログラマのメモ  UE4 やってます  UE4歴:約6ヶ月  OculusRift やってます  社畜プログラマやってます 2
  3. 3.  ○nityちゃんが走るゲーム  第1回UE4ぷちコン  製作期間:約1週間  360度シューティングゲーム  第2回UE4ぷちコン  製作期間:約3週間  UE4でMMDしてみた  アニメーションリターゲット 3
  4. 4.  株式会社ヒストリアさん主導の UE4を用いたゲームコンテスト  動画を投稿するだけ!  景品が豪華!  次は年末らしい… 4 http://historia.co.jp/ ue4petitcon
  5. 5.  ○nityちゃんが走るゲーム  第1回UE4ぷちコン  製作期間:約1週間  360度シューティングゲーム  第2回UE4ぷちコン  製作期間:約3週間 大賞受賞!YATTA!  UE4でMMDしてみた  アニメーションリターゲット 5
  6. 6. 時間がなくても 『見た目のリッチ』な ゲーム作れる! UE4でゲーム作ろうよ! 6
  7. 7.  これさえ覚えればゲーム作れる!  キャラクターの動かし方  コリジョン(当たり判定)  ゲームのルールづくり  いろいろ  ゲームの見た目をリッチに!  マテリアル, エフェクト  ポストプロセス 7
  8. 8. 間違ってたら、ゴメンナサイ!  間違いの指摘、疑問などありましたら、 “#UE4Study”でツイートすると反応あるかも… 8 本スライド作成時の UE4のバージョンは【4.5】です 最新版では本スライドで紹介 している機能・手法は使えない 可能性があります その点、ご了承お願いします
  9. 9. テンプレートの中から選ぶ! 以上! 9
  10. 10. アリガトウゴザイマス! ( ‘д‘⊂彡☆))Д´) パーン UE4のテンプレ、充実しすぎ! 10
  11. 11.  Characterクラスで用意されている コンポーネント ThirdPersonテンプレの MyCharacterブループリント キャラクターを親クラスに 11
  12. 12. 12
  13. 13.  Add Movement Input  単位方向ベクトル×大きさ(入力量) 13
  14. 14. 14
  15. 15.  簡単!ジャンプもあるよ!  豊富なプロパティ!  移動速度・加速度  空中・水中での制御  向きの自動設定フラグ  その他いろいろ…  コリジョンの考慮  Animation BPとの連携 迷ったらとりあえずコレ 15
  16. 16.  移動・回転命令を直接実行  CharacterMovementを介さずに 16
  17. 17. 17
  18. 18.  CharacterMovementの利点を全無視  用途:動く床(StaticMesh)のような簡単なBP  UE4 5分で作れてしまう動く床の作り方 18
  19. 19. 19
  20. 20. 位置・向きのパラメータを上書き 20
  21. 21. 可変フレームレート 対応 21
  22. 22. ハイパー行列計算タイム  あまりオススメはできない… 22
  23. 23.  (Simple) Move to~  Navmeshによる経路探索用  UE4のNavmeshを使ってみる  Add~  Characterに紐付けたコンポーネントの操作 23
  24. 24. Sceneコンポーネントで 階層構造 24
  25. 25. これで動けるようになったぞ! 25
  26. 26.  コリジョンを使えば色んなゲームを作れる!  衝突判定→ ダメージ判定・ギミック起動  エリア内への侵入を検出 26
  27. 27. 27
  28. 28.  Characterのカプセル型だけでは不都合なとき  「衝突したのは横から?上?下?」の判定など  少し離れた箇所にコリジョン置きたい(バリアなど) 28
  29. 29. ルゥちゃんかわいい 29
  30. 30.  Block  衝突検出  Overlap  重複検出  Ignore  無視 https://docs.unrealengine.com/latest/JPN/ Engine/Physics/Collision/index.html 30
  31. 31. Block Overlap Ignore 球壁結果イベント Block Block A Hit Block Overlap B Overlap Block Ignore C Ignore Overlap Block B Overlap Overlap Overlap B Overlap Overlap Ignore C Ignore Ignore C Ignore A B C
  32. 32.  『衝突した』という判定が欲しいか、欲しくないか  欲しい▶ Block 欲しくない▶ Overlap  主に何が影響するのか?  めりこみの問題  当たり判定後の移動 32 Overlapの時 Blockの時 用途に応じて 使い分けましょう
  33. 33.  Block  Hit  Overlap  Actor Begin Overlap  Actor End Overlap 33 チェック付けないと イベント発生しないので注意!
  34. 34. 34  Block :衝突毎  Overlap:重複開始・終了時
  35. 35.  Blockの場合  ダメージ壁  衝突毎に判定くるから…  Overlapの場合  範囲内の敵に ダメージを与え続けたい  開始・終了時しかイベント来ない… 35
  36. 36.  毎フレームHitイベントが発生する可能性…  ダメージ処理のインターバルを用意すればいい 36 Hitイベント発生 過ぎた! 前回のダメージ処理から ○○秒過ぎた? おわり まだっす ダメージ処理 インターバルの リセット
  37. 37.  Get Real Time Seconds:ゲーム開始からの経過時間(秒単位, Float型)  Hit Time:前回のダメージ処理を行った時の経過時間(変数, Float型)  ブランチ: 37
  38. 38.  範囲内に対象がいることを知りたい  Overlap開始・終了時に 範囲内にいる情報をON・OFFする  範囲内にいたら、毎フレーム攻撃する OFF ON! ON OFF! OFF 38
  39. 39.  IsOverlap:範囲内にいる情報(変数, bool型)  OverlapActors:OverlapしたActorの保存(配列, Actor型)
  40. 40.  コリジョンって結構ややこしい…  なぜか判定が発生したり、しなかったり…  怪しいと思ったら、各設定の確認+ Print Stringやブレークポイントで確認 40
  41. 41. 再開 41
  42. 42.  Apply Damage  当たった相手(Other)にダメージを与える  BaseDamage:与えるダメージ量(初期値:0) 42
  43. 43.  Any Damageイベント  Damage:受けたダメージ量  体力用変数(Life float型)を用意・管理 43
  44. 44.  Point Damage :ダメージ位置情報を付加  Radial Damage :範囲ダメージ 44
  45. 45.  Point Damage  弱点・部位破壊  ふっ飛ばし  Radial Damage  爆弾・爆発  回復魔法  DamageType 45
  46. 46.  Hitした相手(Other)にダメージ与える!  Otherが味方でも…? 46 誰かに当たった あなたは誰 ? 味方でした 敵でした テヘペロ 攻撃
  47. 47.  GetDiplayName  相手の名前で判定  Cast~  クラス継承関係で判定  Actor Has Tag  タグで判定  保存していたActorと比較  アセット直選択と比較 タグ判定がオススメ! 47
  48. 48.  複数のタグを設定することも! 48
  49. 49.  移動できます  当たり判定取れます  相手に攻撃できます 49 ゲーム作れそう…
  50. 50. 50
  51. 51. 時間はタイマー変数 (Float型)で 管理するのが一般的 …たぶん 51
  52. 52. 52
  53. 53.  Teleportノードを使用 53
  54. 54. 54
  55. 55.  これさえ覚えればゲーム作れる!  キャラクターの動かし方  コリジョン(当たり判定)  ゲームのルールづくり  いろいろ  ゲームの見た目をリッチに!  マテリアル, エフェクト  ポストプロセス 55
  56. 56.  マネージャ的なBPを自作  サクッと作りたいなら…  管理が大変…存在を忘れたり…  Level BP  各ステージ・オブジェクトへの 依存度が高いもの  制限時間の設定  ステージ特有のオブジェクト  Gamemode BP  ゲーム全体・各ステージで共通するもの  ゲームオーバー処理など  他のBPからアクセス可能56
  57. 57.  各BPが持つパラメータは レベル遷移時にリセットされる…  リザルトでスコア出したいのに… 57  Game Instance  パラメータがリセットされない!  どのBPからもアクセスできる!  乱用注意! http://unrealengine.hatenablog.com/ entry/2014/08/28/203638
  58. 58.  UE4 レベルを跨いで値を保持する GameInstanceについて  http://unrealengine.hatenablog.com/entry/201 4/08/28/203638 いや、たぶん残り時間少ないですし 記事分かりやすいですし まあ、その、手抜きでごめんなさい 58
  59. 59.  3回見つかったら、ゲームオーバー処理 59
  60. 60.  他のBPにイベントを通知(処理をお願いする)  ゲームルールを管理するBPに 処理をまとめることができる GameOverになった! ゲームオーバー時の 処理、皆よろしくー! 60
  61. 61.  色んな箇所に同じ処理を書く必要がある  見落としや作成ミスなどの問題  単純にめんどくさい  対象となる処理を変更する場合 ↑で作成した全ての箇所で変更作業する必要がある 61 ライフ0 時間切れ ゲームオーバー 処理 ゲームオーバー 処理 ライフ0 時間切れ ゲームオーバー 処理
  62. 62. UE4 ブループリントで イベントディスパッチャーを使う  http://unrealengine.hatenablog.com/entr y/2014/10/20/223445 ・・・ゴメンナサイ 62
  63. 63.  DeltaSeconds(前フレームからの経過時間)を利用 (Tickイベント、またはGetWorldDeletaSecond) 63
  64. 64.  UI表示は2種類の機能があります  HUD BP  BPで表示内容を設定・管理  実装簡単・調整超面倒  UMG(Unreal Motion Graphics)  開発途中(2014/11/1現在)  ロジックとデザインの分離 64 https://docs.unrealengine.com/latest/JPN/ Engine/UMG/UserGuide/index.html
  65. 65.  [UE4] HUD入門  http://historia.co.jp/archives/555 65 はい
  66. 66.  MyCharacterが持つパラメータを 参照・表示する場合  文字列の結合処理も 66
  67. 67.  GameInstanceが持つパラメータを表示 67
  68. 68.  データ型の変換(プログラミング用語)  親クラスから子クラスへの移動 68 キャスト 親クラスの選択 BPシステム
  69. 69.  Play Sound at Location  アセット直設定  設定項目  再生位置・音量・ 再生速度・開始時間  フェードイン・アウト などの特殊効果は不可能 …たぶん 69
  70. 70.  Audio Component  特殊効果を使用可能 70
  71. 71.  Attenuation(減衰)プロパティ  SEにオススメ https://docs.unrealengine.com/latest/JPN/ Engine/Audio/SoundActors/index.html 71
  72. 72.  これさえ覚えればゲーム作れる!  キャラクターの動かし方  コリジョン(当たり判定)  ゲームのルールづくり  いろいろ  ゲームの見た目をリッチに!  マテリアル, エフェクト  ポストプロセス 72
  73. 73.  シーン内のアセットは使い放題!  他プロジェクトへのアセットの移動も簡単!  http://historia.co.jp/ archives/275  勿論、勉強にもなります 73
  74. 74.  Spawn Emitter at Location  サウンドとは異なり、実行後に設定変更可能 74
  75. 75.  ゲーム画面に対してのフィルター処理 75 セルルック表現が今熱い!(一部で) •ポストプロセスマテリアルを使用 https://docs.unrealengine.com/latest/JPN/Engine/Rendering/PostProc essEffects/PostProcessMaterials/index.html •Epicの中の人(@junyashさん)のサンプル https://twitter.com/junyash/status/523059646282493953
  76. 76.  Matineeデモ 76 Before After
  77. 77.  UE4 Document@com04  http://com04.sakura.ne.jp/unreal/wiki/index.php?%A5%DD%A5%B9%A5%C8%A 5%D7%A5%ED%A5%BB%A5%B9- %A5%DE%A5%C6%A5%EA%A5%A2%A5%EB-Toon% A5%B7%A5%A7%A1%BC%A5%C9 77
  78. 78.  カメラレンズの「ボケ」を再現  見た目がグッと良くなるのでオススメ  やり過ぎ注意 78 https://docs.unrealengine.com/latest/ JPN/Engine/Rendering/ PostProcessEffects /DepthOfField/index.html
  79. 79.  AA  ブルーム  レンズフレア  自動露光  色収差  ビネット効果  その他いろいろ 79
  80. 80. 80
  81. 81.  UE4の各機能を使えば、 見た目のリッチなゲームをサクッと作れます  BluePrintの学習は必須  従来のプログラミング言語に比べれば、かなり簡単!  皆でUE4コミュニティを盛り上げていきましょう!  UE4 公式フォーラム  UnrealEngineユーザ助け合い所  Twitter #UE4, #UE4Study 81
  82. 82. ご清聴頂き ありがとう ございました! 82

×