Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

第10回UE4勉強会 UE4初心者たちの卒業制作

1.424 visualizaciones

Publicado el

第10回 UE4勉強会 in 大阪にて、三毛猫まいくとあさとが発表に使った資料です。

Publicado en: Ingeniería
  • Sé el primero en comentar

第10回UE4勉強会 UE4初心者たちの卒業制作

  1. 1. UE4初心者たちの卒業制作 -オンラインアクションゲーム- UE4勉強会 in 大阪 三毛猫まいく あさと
  2. 2. 目次:  1.全体のお話 登壇者、自己紹介 チーム構成 作品紹介 企画と仕様書について  2.三毛猫まいく開発担当 お手軽レベルデザイン マテリアルを使ってみる UIデザイン 第10回 UE4勉強会 in 大阪 1  3.あさと開発担当 概要 クラス継承 オーバーライド BPインターフェース 本制作を通しての感想 ・・・ 2 ・・・ 3 ・・・ 5 ・・・ 7 ・・・ 8 ・22 ・・・ 23 ・・・ 37 ・・・ 49 ・・・64 ・・・ 65 ・・・ 69 ・・・ 75 ・・・ 83 ・・・ 95
  3. 3. 全体のお話 第10回 UE4勉強会 in 大阪 2
  4. 4. 恥ずかしながらコレ  HandleName: 三毛猫まいく  Occupation: プログラマー学科二年制の学生  Twitter: @mike928neko  UE4歴 : 本格的には半年ぐらい? それまでは就職作品を必死に作成 実は第10回ぷちコンに参加して ました。 第10回 UE4勉強会 in 大阪 3
  5. 5.  HandleName: あさと  Occupation: プログラマー学科二年制の学生  UE4歴 : 半年程度 (BPのみ、UnrealC++は最近始めた)  熊本出身、大阪在住 第10回 UE4勉強会 in 大阪 4C++作品 3D対戦アクションゲーム UE4作品 VRアクションRPG(制作中)
  6. 6.  初期メンバープログラマー3人  同じ授業を受ける仲間  途中加入アーティスト3人 第10回 UE4勉強会 in 大阪 5
  7. 7. チ ー ム 結 成 3 D ア ー テ ィ ス ト 加 入 ア ー テ ィ ス ト 2 人 加 入 仮 完 成 ( 予 定 ) 卒 業 制 作 展 10月 11月 12月 1月 2月 2018年 2019年 第10回 UE4勉強会 in 大阪 6
  8. 8. 第10回 UE4勉強会 in 大阪 7
  9. 9.  企画の発端 • 作りたいものって何?  作業分担 • それぞれが活きる役割  始動 • はじまり  はじめてのしようしょ • Lv1の仕様書から。  仕様書参考資料 第10回 UE4勉強会 in 大阪 8
  10. 10. モチベーションが上 がってわいわいでき るゲームを作りたい。 アクションゲームを 作ってみたい。 卒業後でもみんな で遊べるネットワー ク対戦にしてみたい。 ...プログラマー三人衆は考える 第10回 UE4勉強会 in 大阪 9
  11. 11. オンライン アクションだ! オンライン アクションだ! オンライン アクションだ! ...ジャンルが決まり、 第10回 UE4勉強会 in 大阪 10
  12. 12. 虹を使ったゲームを 作りたい。 レインボー。 武器たくさん使いた い。剣とかハンマー。 アイテムで俺好み の強化をしたい。 第10回 UE4勉強会 in 大阪 11
  13. 13. 武器たくさん使いた い。剣とかハンマー。 アイテムで俺好み の強化をしたい。 私の案が消滅して この2つを採用 第10回 UE4勉強会 in 大阪 12
  14. 14. 仕様書作成 デザイン周り 全体の管理 アクション部分 ネットワーク まいく あさと A氏 第10回 UE4勉強会 in 大阪 13
  15. 15. 仕様書 作ってみたい レベルデザイン してみたい ネットワーク 早めに研究した 方が良い アクション 作ってみたい できるだけやりたい所 得意な所をお願いした。 第10回 UE4勉強会 in 大阪 14
  16. 16.  仕様書を作成するのは人生はじめて  そういう授業を受けたことがない  ネット情報と本の知識で作成  OpenOfficeの表計算で作成 第10回 UE4勉強会 in 大阪 15
  17. 17. ※実際に作った仕様書...コンテンツメインページ 第10回 UE4勉強会 in 大阪 16
  18. 18. ※実際に作った仕様書...コンテンツからプレイヤーキャラクターページ 第10回 UE4勉強会 in 大阪 17
  19. 19. ※実際に作った仕様書...プレイヤーキャラクターから基本アクションページへ 第10回 UE4勉強会 in 大阪 18
  20. 20.  作ってよかった大きな3要素  各担当が確認したい仕様や数値があれば 仕様書で確認できた  スケジュール表を作ったことによって残りの期間で 何を優先すべきかおおよその検討ができた  途中参入してくれたメンバーにどんなゲームか説明す るのが楽だった。 第10回 UE4勉強会 in 大阪 19※実際に作った仕様書...スケジュール
  21. 21.  作って駄目だった?大きな3要素  同時進行だったので間に合わなかったところもあった。 結局その場の話し合いで決めた。  小規模開発に報告版はLineで十分。  私の仕様書の経験と知識が足りなかった。 思った以上に詳細を考えることが多い。 第10回 UE4勉強会 in 大阪 20
  22. 22. • ・【ゲームプランナー基礎講座】「仕様書の書き方」 • https://www.otwo.jp/blog/specification_writing/ • ・アプリ・ゲームプランナー完全マニュアル 岸 知秀 (著), 大久保 磨 (著) • (入学当時は7000円、今は10000円超えてるみたい・・・( ꒪⌓꒪)) 第10回 UE4勉強会 in 大阪 21
  23. 23. これぐらいのお話 中級者 (初心者?) 上級者 神 初心者 三毛猫まいく開発担当 第10回 UE4勉強会 in 大阪 22 ・仕様書作成 ・デザイン周り ・全体の管理
  24. 24.  使用したアセット • 紹介  パイプライン • 突貫工程  ポストプロセス • 数値をちょっと変更した  っぽい物を作る • ジオメトリを使ってみる  バランス調整 • アイテムスポナー 第10回 UE4勉強会 in 大阪 23
  25. 25.  UltraDynamicSky • とりあえずオーロラと地球を映して 「なんとなく綺麗」を演出  SCIFI TOWN • 未来感のあるゲームを イメージしてチョイス  SoulCity ちょっとだけ使用 第10回 UE4勉強会 in 大阪 24
  26. 26. ホワイトボックス アートプロトタイプ 1stPass 2nd Pass 磨き Polish 完成 Shiping ホワイトボックス 1stPass 2nd Pass 仮完成 第10回 UE4勉強会 in 大阪 25
  27. 27. 第10回 UE4勉強会 in 大阪 26 ホワイトボックス
  28. 28. 第10回 UE4勉強会 in 大阪 27 仮完成
  29. 29. • DepthOfFeild  マップ範囲外の距離の数値を変更 遠いオブジェクトはぼやけるように • LensFlares  エミッシブのかかっているものをより未来感を出 すために 第10回 UE4勉強会 in 大阪 28
  30. 30. 第10回 UE4勉強会 in 大阪 29
  31. 31. • あるものだけで「っぽい物」  宇宙にありそうなもの • そうだ!宇宙船だ!(衛星てきなもの) →参考画像を探す 第10回 UE4勉強会 in 大阪 30
  32. 32. コレ 第10回 UE4勉強会 in 大阪 31
  33. 33. + ジオメトリ アセット 第10回 UE4勉強会 in 大阪 32
  34. 34. ジオメトリでそれっぽい胴体を作成! 第10回 UE4勉強会 in 大阪 33
  35. 35. 第10回 UE4勉強会 in 大阪 34
  36. 36. 木や草、石以外はだいたい元ジオメトリから ちなみに電線はコレ→ ジオメトリだけでも雰囲気作りはできる ※過去の制作物 第10回 UE4勉強会 in 大阪 35
  37. 37. アイテムはBox範囲内からランダムにスポーン ゲーム開始後は一番強くない プレイヤーの近くにスポーンさせてます。 第10回 UE4勉強会 in 大阪 36
  38. 38.  マテリアルで作ってみたもの • 例えば...  マテリアルで波動砲その1 • 分解して考える  マテリアルで波動砲その2 • 合わせてみる 第10回 UE4勉強会 in 大阪 37
  39. 39. 第10回 UE4勉強会 in 大阪 38
  40. 40. ※最初にBlenderでピボットが底にあ る筒を作っておきます。 ※資料ではデフォルトのCylinder使用してます。 第10回 UE4勉強会 in 大阪 39
  41. 41. スキルで宇宙戦艦ヤマトみたいな 波動砲を作りたい! でも難しいことは分からないので 分解して考えてみた 1 2 3 第10回 UE4勉強会 in 大阪 40
  42. 42. 波動砲の土台 Fresnelでレーザーっぽさを。 TimeとLinerSineで点滅を。 1 第10回 UE4勉強会 in 大阪 41
  43. 43. 2 Panerで渦巻を表現。 BPでScaleを変更して伸ばすので UVの値を変更できるようにしておく 第10回 UE4勉強会 in 大阪 42
  44. 44. 3 同じくPanerで。 ペイントで黒と白で描いただけ。 UVの値を変更できるようにしておく。 第10回 UE4勉強会 in 大阪 43
  45. 45. Scaleを調整してMergeActor 合わせてみる 第10回 UE4勉強会 in 大阪 44
  46. 46. Actorを作成後、 作ったStaticMeshをコンポーネントへ ConstructionScriptで CreateDynamicMaterialInstance 第10回 UE4勉強会 in 大阪 45
  47. 47. 後はActorのZ軸を伸ばし続けて 作ったマテリアルインスタンスから SetScalarParameterValueでUVを調整 その他揺らしたりパーティクルだしたり。 第10回 UE4勉強会 in 大阪 46
  48. 48. 実行! 第10回 UE4勉強会 in 大阪 47
  49. 49. • ・もんしょ氏 [UE4] マテリアルノードの解説 その1 • http://monsho.blog63.fc2.com/blog-entry-133.html (基本ノードのまとめは本当に助かりました。) • ・miyahuji111氏 • ウィンストンのシールドのマテリアル http://miyahuji111.hatenablog.com/entry/2016/05/31/203107 (真似させてもらいました。勉強になりました。) 第10回 UE4勉強会 in 大阪 48
  50. 50.  テーマを決める • デザインなんてどうしたら...  とりあえず作ってみる  アニメーションさせてみる • 動かしたい!  UIを豪華にしてみる • ちょっと特殊? 第10回 UE4勉強会 in 大阪 49
  51. 51. 企画の段階でステータスが7種類 ステータスのUIに悩む 六角形だと収まりが良いことに気づく 六角形と近未来をUIテーマに決める 六角形編集しやすい! 第10回 UE4勉強会 in 大阪 50
  52. 52. ロビー画面 ルームを作るボタン (セッション) ルームサーチボタン (セッション) Exitボタン ルームリスト (セッション) 第10回 UE4勉強会 in 大阪 51
  53. 53. 問題点(例) ルームサーチボタン ルームサーチ(セッション探索)に 早くて3秒かかってしまう。 その間ちゃんとサーチされているか わからない 第10回 UE4勉強会 in 大阪 52
  54. 54. 問題点(例) ルーム探索中は FindingRoom アニメーションさせてみる 第10回 UE4勉強会 in 大阪 53
  55. 55. 結構地道な作業&ごり押し 六角形7個分の OffsetとOpacityを 地道に打ち込む 第10回 UE4勉強会 in 大阪 54
  56. 56. 注意した点など 分かりにくいけど ここで時間指定できる (Ver4.20) 第10回 UE4勉強会 in 大阪 55
  57. 57. 注意した点など 例えば、打ち込む際に 「PositionX」「PositionY」両方 数値を変更してから 「X」を打ち込むと「Y」がリセットされる 第10回 UE4勉強会 in 大阪 56
  58. 58. 空想曲線 様よりお借りしました。 https://kopacurve.blog.fc2.com/ UE4内でメッセージウインドウを ボタンに変えてみる 第10回 UE4勉強会 in 大阪 57
  59. 59. Draw AsのImage→Box ButtonだとデフォルトでBoxです 第10回 UE4勉強会 in 大阪 58
  60. 60. Box(画像は公式より) Border(画像は公式より) 例えば、上下左右の青線が 画像サイズの25%だったら Mergin Left 0.25 Top 0.25 Right0.25 Bottom 0.25 だいたい左の様に Boxの他にもBorderがあり、 こちらは指定した所 以外を空白にするっぽいです。 色々用途がありそうですが、 編集上だとZoomの具合で 形状が変わるので注意。 第10回 UE4勉強会 in 大阪 59
  61. 61. というわけで Merginを調整してウインドウを ボタンにしました。 第10回 UE4勉強会 in 大阪 60
  62. 62. 寂しくない? 第10回 UE4勉強会 in 大阪 61
  63. 63. Widget上にモデルを映してみる 海外サイトの記事を参考にしました。 Render 3D objects in UMG Widget/HUD https://engineunreal.wordpress.com/2015/04/21/render-3d-objects-in-umg-widget-hud/ 第10回 UE4勉強会 in 大阪 62
  64. 64. マテリアルのパラメータをWidgetに使ってみる http://historia.co.jp/archives/7463/ ヒストリア様の記事を参考にしました。 [UE4] UMGで手軽にマテリアルのパラメーターをアニメーションさせる裏技 http://historia.co.jp/archives/7463/ 第10回 UE4勉強会 in 大阪 63
  65. 65. あさと開発担当 これぐらいのお話 中級者 (初心者?) 上級者 神 初心者 ・アクション周りプログラム 第10回 UE4勉強会 in 大阪 64
  66. 66. • 目的 チーム制作をする上で、自身が気を付けたことなどを通して、実際どのよう な実装を行ったかを初心者向けに説明すること • どのような人向けの内容か? Unreal Engineでブループリントを書き始めた人 多様的なものを実装したい人 • 何を話すか? 使った手法の概要(簡単なオブジェクト指向の話含む) その手法が今回のチーム制作でどのように寄与したか ※ブループリント上での操作は説明しません UnrealEngine4の公式ドキュメントを参照した方が細かいため 第10回 UE4勉強会 in 大阪 65
  67. 67. • ゲーム内の各オブジェクトの関係性は以下の通りである 第10回 UE4勉強会 in 大阪 66 キャラクター アイテム スキル バレット (弾) ウェポン (武器) スキル アイテム ステータス アイテム 拾う 派生 攻撃 スキル サポート スキル 派生 使う 効果 拾う・使う 放つ
  68. 68. • アイテムや武器、スキルは沢山の種類が実装される見込み があるので、仕様書の変更に対応できるような設計にする • 後続で、誰が担当してもわかるように、同じような処理は、 出来るだけまとめて、変更させたい部分だけ見えるように する 第10回 UE4勉強会 in 大阪 67 抽象化と共通化が重要
  69. 69. • 主に以下の3項目を用いて、クラス設計を行った。 • クラスの継承 親クラスの機能を継承した子クラスの作成 • オーバーライド 親クラスの関数を子クラスの関数で上書きして、同一の呼び出し口で処理 • ブループリントインターフェース 異なる親クラス間でも共通の入り口を用意することで、同一の呼び出 し口で処理する 第10回 UE4勉強会 in 大阪 68
  70. 70. • クラスの継承とは何か? • 既存クラスの関数や引数などの機能を引き継いだクラスを作ることが でき、更に新しい機能を追加できる。 • 既存クラスを継承したクラスを、子クラスまたは派生クラスと呼び、 元となったクラスを親クラスまたは基底クラスと呼ぶ。 • 親クラスの機能変更は、子クラスに引き継いだ部分にも変更が受け継 がれる 第10回 UE4勉強会 in 大阪 69 受け継がれる「うどんを食べる」機能
  71. 71. 第10回 UE4勉強会 in 大阪 70 ×クラスの継承を使わない実装 爆発する弾 クラス 凍る弾 クラス 痺れる弾 クラス Etc... 性質の違う弾を作る度に 「弾」と「何か起こさせる」機能の実装が必要・・・。 「弾」 機能 「爆発」 機能 「弾」 機能 「凍る」 機能 「弾」 機能 「痺れる」 機能 ※以下の箱の中身は、追加すべき機能を示す • 例:「何か起こさせる弾」を実装する時
  72. 72. 〇クラスの継承を使った実装 爆発する弾 クラス Etc... 「爆発」機能 「弾」機能は共通 弾 クラス 「弾」機能 凍る弾 クラス 「凍る」機能 痺れる弾 クラス 「痺れる」機能 必要な機能を使いまわし、 新しい機能を追加するだけで性質の違う物が作れる! 親クラス 子クラス • 例:「何か起こさせる弾」を実装する時 子クラス 子クラス 第10回 UE4勉強会 in 大阪 71
  73. 73. 第10回 UE4勉強会 in 大阪 72 爆発する弾 クラス 凍る弾 クラス 痺れる弾 クラス Etc... 作っていた「何か起こさせる弾」の 個数分修正が必要・・・。 「武器」 機能に 修正 「武器」 機能に 修正 「武器」 機能に 修正 ×クラスの継承を使わない実装 • 機能の変更時・・・「弾」から「武器」に変更する
  74. 74. 第10回 UE4勉強会 in 大阪 73 〇クラスの継承を使った実装 爆発する武器 クラス Etc... 弾 クラス 「弾」機能 凍る武器 クラス 痺れる武器 クラス 機能を受け継いでいたクラスにも 修正が反映される! 「武器」 機能に修正 • 機能の変更時・・・「弾」から「武器」に変更する
  75. 75. 弾クラス ホーミング レーザー 弾 衝突判定 ダメージ ヒットSE ヒット エフェクト 移動機能 誘導 させる 重力 弾 衝突点に敵 を引き寄せ る重力を発 生させる ミサイル 弾 独特な挙動 の後、誘導 させる 波動砲 弾 弾を伸長さ せる 基本機能は先に実装しておいたので、 円滑に多様な弾を作ることができた あさと 担当 あさと まいく 担当 追加した機能 クラス 第10回 UE4勉強会 in 大阪 74
  76. 76. 第10回 UE4勉強会 in 大阪 75 • オーバーライドとは何か? • 親クラスの持つ関数を、子クラスで定義し直して、動作を 上書きすることである。 • 子クラスを親クラスにキャスト(アップキャスト)して、 同一の関数呼び出し口で異なった動作をさせることができ る。
  77. 77. 弾 クラス • 例:色々な移動を弾にさせたいとき ×オーバーライドを使わない実装 「直進する」関数 「曲がる」関数 移動のさせ方が増える度に、関数が増え、 呼び出し方も選択する必要がある・・・。 配列:弾 「直進する」関数 「上昇する」関数 「曲げる」関数 移動のさせ方が 10個や100個 あったら・・・? 「上昇する」関数 呼び出す関数 Etc... Enumや他変数で 分岐するか・・・? Etc… 76 第10回 UE4勉強会 in 大阪
  78. 78. 移動毎に分岐 移動毎の関数呼出 • 例:色々な移動を弾にさせたいとき ×オーバーライドを使わない実装 移動毎の関数 弾のブループリント 第10回 UE4勉強会 in 大阪 77
  79. 79. 弾クラス 〇オーバーライドを使った実装 「移動する」 関数 親クラス 子クラス 弾を継承したクラス 「移動する」 関数 子クラス 弾を継承したクラス 「移動する」 関数 「曲がる」 処理 「上昇する」 処理 「移動する」関数を 「曲がる」処理で 上書き(オーバーライド) 「移動する」関数を 「上昇する」処理で 上書き(オーバーライド) 「移動する」関数には 直進する処理が書かれている • 例:色々な移動を弾にさせたいとき 第10回 UE4勉強会 in 大阪 78
  80. 80. • 例:色々な移動を弾にさせたいとき 〇オーバーライドを使った実装 呼び出す関数は同じなのに、異なった処理をさせることが出来る! 配列:弾 「移動する」関数 「移動する」関数 「移動する」関数 呼び出す関数 Etc… 親 子 子 子 継承関係 「直進する」 「上昇する」 「曲がる」 実際の処理 Etc… 第10回 UE4勉強会 in 大阪 79
  81. 81. • 例:色々な移動を弾にさせたいとき 〇オーバーライドを使った実装 移動の関数呼出 親クラスの「移動」関数の定義 子クラスの「移動」関数の定義 子クラスの「移動」関数の定義 定義 オーバーライド 第10回 UE4勉強会 in 大阪 80 オーバーライド
  82. 82. • 例:色々な移動を弾にさせたいとき 〇オーバーライドを使った実装 呼び出す関数は同じなのに、異なる処理をさせることが出来た! 第10回 UE4勉強会 in 大阪 81 それぞれをレベルに 配置してプレイ
  83. 83. スキルクラス 「使う」関数 使用可否 管理 キャラクター とのバインド クールタイム 管理 あさと 担当 追加した機能 クラス オーバーライド ジャンプ クラス 「使う」 ジャンプ 発射系 クラス 「使う」 任意方向に 指定の弾を 発射する 自動回復 クラス 近くの 自分含む 仲間を常に 自動回復 あさと まいく 担当 アクティブ、パッシブに関わらず、 幅広く対応できる設計ができた。 ジャンプ力 計算 ハイジャンプ クラス 「使う」 大ジャンプ 2段ジャンプ クラス 「使う」 2段ジャンプ 第10回 UE4勉強会 in 大阪 82
  84. 84. • ブループリントインターフェースとは何か? • 異なる親クラス間でも共通の入り口を用意することで、同 一の呼び出し口で処理することができるもの 第10回 UE4勉強会 in 大阪 83
  85. 85. アイテムクラス 「使う」関数 回復する処理 武器クラス • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 前提条件 「使う」関数 剣を振る処理 クラスの定義 持っている アクター プレイヤー プレイヤーは 物を持てる 第10回 UE4勉強会 in 大阪 84
  86. 86. • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 ×BPインターフェースを使わない実装 持っている アクター アイテム 使います 何持ってるの? キャストして確認しよう! キャストできたら「使う」関数を呼び出そう! 第10回 UE4勉強会 in 大阪 85
  87. 87. • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 ×BPインターフェースを使わない実装 実装できたけど・・・? プレイヤーのブループリント 持っている物を使う関数定義 第10回 UE4勉強会 in 大阪 86
  88. 88. 持って使える物を増やして! 敵 防具 Etc… を使えるようにして。 • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 ×BPインターフェースを使わない実装 第10回 UE4勉強会 in 大阪 87
  89. 89. • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 ×BPインターフェースを使わない実装 クラス毎 に分岐 クラス毎の 関数呼出 第10回 UE4勉強会 in 大阪 88
  90. 90. アイテムクラス武器クラス 「使う」関数 回復する処理 • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 BPインターフェース 「使う」関数 宣言のみ 「使う」関数 剣を振る処理 BPインターフェースを 持たせる 「使う」関数を 定義する BPインターフェースを 持たせる 「使う」関数を 定義する 第10回 UE4勉強会 in 大阪 89
  91. 91. • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 持っている アクター アイテム 使います BPインターフェース 「使う」関数 アイテムクラス 武器クラス 「使う」関数 回復する処理 「使う」関数 剣を振る処理 対応するBPインターフェースを持っていれば、 キャストを行わなくても各クラスで定義された 関数が自動的に呼ばれる インターフェース 呼び出し 第10回 UE4勉強会 in 大阪 90
  92. 92. • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 プレイヤーのブループリント 持っている物を使う関数定義 第10回 UE4勉強会 in 大阪 91
  93. 93. • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 実際にGrabActor変数にアクターを格納して実行してみる 各クラスにBPインターフェースを持たせて、 以上のようにそれぞれ関数を定義 Use関数定義 WeaponのBP ItemのBP EnemyのBP 第10回 UE4勉強会 in 大阪 92
  94. 94. • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 実際にGrabActor変数にアクターを格納して実行してみる Weapon格納時 定義したそれぞれの処理が行われている! Item格納時 Enemy格納時 第10回 UE4勉強会 in 大阪 93
  95. 95. 本チーム制作では、用いなかった ・仕様書がかなり固まっており、前述のような仕様ではなかっ たため。 (本制作と別であさとが作成するアクションRPGでは用いた) ・デザインとネットワーク以外の基本アクションは自身が担当 したため、インターフェースを揃えることをあまり考慮しなく てよかったため。 ただし、仕様変更を見越して、WeaponとItemに インタフェースを用いた設計をしておくべきであった。 第10回 UE4勉強会 in 大阪 94
  96. 96. • 本チーム制作では、仕様書がかなり固まっていた状態かつ、 メンバーとのやり取りも簡単に行える状態だったため、大 きな問題の発生や巻き戻りもなく、円滑に作業できた。 • 実現場では、より規模が大きく、設計の分担もより細かに なるであろうため、より良い分割設計手法を覚えていきた い 第10回 UE4勉強会 in 大阪 95

×