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.

猫でもわかるUnreal Engine4

45,482 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

  • Be the first to comment

猫でもわかる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

×