Enviar búsqueda
Cargar
第10回UE4勉強会 UE4初心者たちの卒業制作
•
Descargar como PPTX, PDF
•
1 recomendación
•
4,515 vistas
G
gcasato
Seguir
第10回 UE4勉強会 in 大阪にて、三毛猫まいくとあさとが発表に使った資料です。
Leer menos
Leer más
Ingeniería
Vista de diapositivas
Denunciar
Compartir
Vista de diapositivas
Denunciar
Compartir
1 de 96
Descargar ahora
Recomendados
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
Recomendados
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
Introduction to C Programming Language
Introduction to C Programming Language
Simplilearn
Más contenido relacionado
Destacado
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
Introduction to C Programming Language
Introduction to C Programming Language
Simplilearn
Destacado
(20)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
ChatGPT webinar slides
ChatGPT webinar slides
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Introduction to C Programming Language
Introduction to C Programming Language
第10回UE4勉強会 UE4初心者たちの卒業制作
1.
UE4初心者たちの卒業制作 -オンラインアクションゲーム- UE4勉強会 in 大阪 三毛猫まいく あさと
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.
全体のお話 第10回 UE4勉強会 in
大阪 2
4.
恥ずかしながらコレ HandleName: 三毛猫まいく
Occupation: プログラマー学科二年制の学生 Twitter: @mike928neko UE4歴 : 本格的には半年ぐらい? それまでは就職作品を必死に作成 実は第10回ぷちコンに参加して ました。 第10回 UE4勉強会 in 大阪 3
5.
HandleName: あさと
Occupation: プログラマー学科二年制の学生 UE4歴 : 半年程度 (BPのみ、UnrealC++は最近始めた) 熊本出身、大阪在住 第10回 UE4勉強会 in 大阪 4C++作品 3D対戦アクションゲーム UE4作品 VRアクションRPG(制作中)
6.
初期メンバープログラマー3人 同じ授業を受ける仲間
途中加入アーティスト3人 第10回 UE4勉強会 in 大阪 5
7.
チ ー ム 結 成 3 D ア ー テ ィ ス ト 加 入 ア ー テ ィ ス ト 2 人 加 入 仮 完 成 ( 予 定 ) 卒 業 制 作 展 10月
11月 12月 1月 2月 2018年 2019年 第10回 UE4勉強会 in 大阪 6
8.
第10回 UE4勉強会 in
大阪 7
9.
企画の発端 • 作りたいものって何?
作業分担 • それぞれが活きる役割 始動 • はじまり はじめてのしようしょ • Lv1の仕様書から。 仕様書参考資料 第10回 UE4勉強会 in 大阪 8
10.
モチベーションが上 がってわいわいでき るゲームを作りたい。 アクションゲームを 作ってみたい。 卒業後でもみんな で遊べるネットワー ク対戦にしてみたい。 ...プログラマー三人衆は考える 第10回 UE4勉強会 in
大阪 9
11.
オンライン アクションだ! オンライン アクションだ! オンライン アクションだ! ...ジャンルが決まり、 第10回 UE4勉強会 in
大阪 10
12.
虹を使ったゲームを 作りたい。 レインボー。 武器たくさん使いた い。剣とかハンマー。 アイテムで俺好み の強化をしたい。 第10回 UE4勉強会 in
大阪 11
13.
武器たくさん使いた い。剣とかハンマー。 アイテムで俺好み の強化をしたい。 私の案が消滅して この2つを採用 第10回 UE4勉強会 in
大阪 12
14.
仕様書作成 デザイン周り 全体の管理 アクション部分 ネットワーク まいく あさと
A氏 第10回 UE4勉強会 in 大阪 13
15.
仕様書 作ってみたい レベルデザイン してみたい ネットワーク 早めに研究した 方が良い アクション 作ってみたい できるだけやりたい所 得意な所をお願いした。 第10回 UE4勉強会 in
大阪 14
16.
仕様書を作成するのは人生はじめて そういう授業を受けたことがない
ネット情報と本の知識で作成 OpenOfficeの表計算で作成 第10回 UE4勉強会 in 大阪 15
17.
※実際に作った仕様書...コンテンツメインページ 第10回 UE4勉強会 in
大阪 16
18.
※実際に作った仕様書...コンテンツからプレイヤーキャラクターページ 第10回 UE4勉強会 in
大阪 17
19.
※実際に作った仕様書...プレイヤーキャラクターから基本アクションページへ 第10回 UE4勉強会 in
大阪 18
20.
作ってよかった大きな3要素 各担当が確認したい仕様や数値があれば 仕様書で確認できた
スケジュール表を作ったことによって残りの期間で 何を優先すべきかおおよその検討ができた 途中参入してくれたメンバーにどんなゲームか説明す るのが楽だった。 第10回 UE4勉強会 in 大阪 19※実際に作った仕様書...スケジュール
21.
作って駄目だった?大きな3要素 同時進行だったので間に合わなかったところもあった。 結局その場の話し合いで決めた。
小規模開発に報告版はLineで十分。 私の仕様書の経験と知識が足りなかった。 思った以上に詳細を考えることが多い。 第10回 UE4勉強会 in 大阪 20
22.
• ・【ゲームプランナー基礎講座】「仕様書の書き方」 • https://www.otwo.jp/blog/specification_writing/ •
・アプリ・ゲームプランナー完全マニュアル 岸 知秀 (著), 大久保 磨 (著) • (入学当時は7000円、今は10000円超えてるみたい・・・( ꒪⌓꒪)) 第10回 UE4勉強会 in 大阪 21
23.
これぐらいのお話 中級者 (初心者?) 上級者 神 初心者 三毛猫まいく開発担当 第10回 UE4勉強会 in
大阪 22 ・仕様書作成 ・デザイン周り ・全体の管理
24.
使用したアセット • 紹介
パイプライン • 突貫工程 ポストプロセス • 数値をちょっと変更した っぽい物を作る • ジオメトリを使ってみる バランス調整 • アイテムスポナー 第10回 UE4勉強会 in 大阪 23
25.
UltraDynamicSky • とりあえずオーロラと地球を映して 「なんとなく綺麗」を演出
SCIFI TOWN • 未来感のあるゲームを イメージしてチョイス SoulCity ちょっとだけ使用 第10回 UE4勉強会 in 大阪 24
26.
ホワイトボックス アートプロトタイプ 1stPass 2nd Pass 磨き Polish 完成
Shiping ホワイトボックス 1stPass 2nd Pass 仮完成 第10回 UE4勉強会 in 大阪 25
27.
第10回 UE4勉強会 in
大阪 26 ホワイトボックス
28.
第10回 UE4勉強会 in
大阪 27 仮完成
29.
• DepthOfFeild マップ範囲外の距離の数値を変更 遠いオブジェクトはぼやけるように •
LensFlares エミッシブのかかっているものをより未来感を出 すために 第10回 UE4勉強会 in 大阪 28
30.
第10回 UE4勉強会 in
大阪 29
31.
• あるものだけで「っぽい物」 宇宙にありそうなもの •
そうだ!宇宙船だ!(衛星てきなもの) →参考画像を探す 第10回 UE4勉強会 in 大阪 30
32.
コレ 第10回 UE4勉強会 in
大阪 31
33.
+ ジオメトリ アセット 第10回 UE4勉強会 in
大阪 32
34.
ジオメトリでそれっぽい胴体を作成! 第10回 UE4勉強会 in
大阪 33
35.
第10回 UE4勉強会 in
大阪 34
36.
木や草、石以外はだいたい元ジオメトリから ちなみに電線はコレ→ ジオメトリだけでも雰囲気作りはできる ※過去の制作物 第10回 UE4勉強会 in
大阪 35
37.
アイテムはBox範囲内からランダムにスポーン ゲーム開始後は一番強くない プレイヤーの近くにスポーンさせてます。 第10回 UE4勉強会 in
大阪 36
38.
マテリアルで作ってみたもの • 例えば...
マテリアルで波動砲その1 • 分解して考える マテリアルで波動砲その2 • 合わせてみる 第10回 UE4勉強会 in 大阪 37
39.
第10回 UE4勉強会 in
大阪 38
40.
※最初にBlenderでピボットが底にあ る筒を作っておきます。 ※資料ではデフォルトのCylinder使用してます。 第10回 UE4勉強会 in
大阪 39
41.
スキルで宇宙戦艦ヤマトみたいな 波動砲を作りたい! でも難しいことは分からないので 分解して考えてみた 1 2 3 第10回
UE4勉強会 in 大阪 40
42.
波動砲の土台 Fresnelでレーザーっぽさを。 TimeとLinerSineで点滅を。 1 第10回 UE4勉強会 in
大阪 41
43.
2 Panerで渦巻を表現。 BPでScaleを変更して伸ばすので UVの値を変更できるようにしておく 第10回 UE4勉強会 in
大阪 42
44.
3 同じくPanerで。 ペイントで黒と白で描いただけ。 UVの値を変更できるようにしておく。 第10回 UE4勉強会 in
大阪 43
45.
Scaleを調整してMergeActor 合わせてみる 第10回 UE4勉強会 in
大阪 44
46.
Actorを作成後、 作ったStaticMeshをコンポーネントへ ConstructionScriptで CreateDynamicMaterialInstance 第10回 UE4勉強会 in
大阪 45
47.
後はActorのZ軸を伸ばし続けて 作ったマテリアルインスタンスから SetScalarParameterValueでUVを調整 その他揺らしたりパーティクルだしたり。 第10回 UE4勉強会 in
大阪 46
48.
実行! 第10回 UE4勉強会 in
大阪 47
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.
テーマを決める • デザインなんてどうしたら...
とりあえず作ってみる アニメーションさせてみる • 動かしたい! UIを豪華にしてみる • ちょっと特殊? 第10回 UE4勉強会 in 大阪 49
51.
企画の段階でステータスが7種類 ステータスのUIに悩む 六角形だと収まりが良いことに気づく 六角形と近未来をUIテーマに決める 六角形編集しやすい! 第10回 UE4勉強会 in
大阪 50
52.
ロビー画面 ルームを作るボタン (セッション) ルームサーチボタン (セッション) Exitボタン ルームリスト (セッション) 第10回 UE4勉強会 in
大阪 51
53.
問題点(例) ルームサーチボタン ルームサーチ(セッション探索)に 早くて3秒かかってしまう。 その間ちゃんとサーチされているか わからない 第10回 UE4勉強会 in
大阪 52
54.
問題点(例) ルーム探索中は FindingRoom アニメーションさせてみる 第10回 UE4勉強会 in
大阪 53
55.
結構地道な作業&ごり押し 六角形7個分の OffsetとOpacityを 地道に打ち込む 第10回 UE4勉強会 in
大阪 54
56.
注意した点など 分かりにくいけど ここで時間指定できる (Ver4.20) 第10回 UE4勉強会 in
大阪 55
57.
注意した点など 例えば、打ち込む際に 「PositionX」「PositionY」両方 数値を変更してから 「X」を打ち込むと「Y」がリセットされる 第10回 UE4勉強会 in
大阪 56
58.
空想曲線 様よりお借りしました。 https://kopacurve.blog.fc2.com/ UE4内でメッセージウインドウを ボタンに変えてみる 第10回 UE4勉強会
in 大阪 57
59.
Draw AsのImage→Box ButtonだとデフォルトでBoxです 第10回 UE4勉強会
in 大阪 58
60.
Box(画像は公式より) Border(画像は公式より) 例えば、上下左右の青線が 画像サイズの25%だったら Mergin Left 0.25 Top 0.25 Right0.25 Bottom
0.25 だいたい左の様に Boxの他にもBorderがあり、 こちらは指定した所 以外を空白にするっぽいです。 色々用途がありそうですが、 編集上だとZoomの具合で 形状が変わるので注意。 第10回 UE4勉強会 in 大阪 59
61.
というわけで Merginを調整してウインドウを ボタンにしました。 第10回 UE4勉強会 in
大阪 60
62.
寂しくない? 第10回 UE4勉強会 in
大阪 61
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.
マテリアルのパラメータをWidgetに使ってみる http://historia.co.jp/archives/7463/ ヒストリア様の記事を参考にしました。 [UE4] UMGで手軽にマテリアルのパラメーターをアニメーションさせる裏技 http://historia.co.jp/archives/7463/ 第10回 UE4勉強会
in 大阪 63
65.
あさと開発担当 これぐらいのお話 中級者 (初心者?) 上級者 神 初心者 ・アクション周りプログラム 第10回 UE4勉強会 in
大阪 64
66.
• 目的 チーム制作をする上で、自身が気を付けたことなどを通して、実際どのよう な実装を行ったかを初心者向けに説明すること • どのような人向けの内容か? Unreal
Engineでブループリントを書き始めた人 多様的なものを実装したい人 • 何を話すか? 使った手法の概要(簡単なオブジェクト指向の話含む) その手法が今回のチーム制作でどのように寄与したか ※ブループリント上での操作は説明しません UnrealEngine4の公式ドキュメントを参照した方が細かいため 第10回 UE4勉強会 in 大阪 65
67.
• ゲーム内の各オブジェクトの関係性は以下の通りである 第10回 UE4勉強会
in 大阪 66 キャラクター アイテム スキル バレット (弾) ウェポン (武器) スキル アイテム ステータス アイテム 拾う 派生 攻撃 スキル サポート スキル 派生 使う 効果 拾う・使う 放つ
68.
• アイテムや武器、スキルは沢山の種類が実装される見込み があるので、仕様書の変更に対応できるような設計にする • 後続で、誰が担当してもわかるように、同じような処理は、 出来るだけまとめて、変更させたい部分だけ見えるように する 第10回
UE4勉強会 in 大阪 67 抽象化と共通化が重要
69.
• 主に以下の3項目を用いて、クラス設計を行った。 • クラスの継承 親クラスの機能を継承した子クラスの作成 •
オーバーライド 親クラスの関数を子クラスの関数で上書きして、同一の呼び出し口で処理 • ブループリントインターフェース 異なる親クラス間でも共通の入り口を用意することで、同一の呼び出 し口で処理する 第10回 UE4勉強会 in 大阪 68
70.
• クラスの継承とは何か? • 既存クラスの関数や引数などの機能を引き継いだクラスを作ることが でき、更に新しい機能を追加できる。 •
既存クラスを継承したクラスを、子クラスまたは派生クラスと呼び、 元となったクラスを親クラスまたは基底クラスと呼ぶ。 • 親クラスの機能変更は、子クラスに引き継いだ部分にも変更が受け継 がれる 第10回 UE4勉強会 in 大阪 69 受け継がれる「うどんを食べる」機能
71.
第10回 UE4勉強会 in
大阪 70 ×クラスの継承を使わない実装 爆発する弾 クラス 凍る弾 クラス 痺れる弾 クラス Etc... 性質の違う弾を作る度に 「弾」と「何か起こさせる」機能の実装が必要・・・。 「弾」 機能 「爆発」 機能 「弾」 機能 「凍る」 機能 「弾」 機能 「痺れる」 機能 ※以下の箱の中身は、追加すべき機能を示す • 例:「何か起こさせる弾」を実装する時
72.
〇クラスの継承を使った実装 爆発する弾 クラス Etc... 「爆発」機能 「弾」機能は共通 弾 クラス 「弾」機能 凍る弾 クラス 「凍る」機能 痺れる弾 クラス 「痺れる」機能 必要な機能を使いまわし、 新しい機能を追加するだけで性質の違う物が作れる! 親クラス 子クラス • 例:「何か起こさせる弾」を実装する時 子クラス 子クラス 第10回
UE4勉強会 in 大阪 71
73.
第10回 UE4勉強会 in
大阪 72 爆発する弾 クラス 凍る弾 クラス 痺れる弾 クラス Etc... 作っていた「何か起こさせる弾」の 個数分修正が必要・・・。 「武器」 機能に 修正 「武器」 機能に 修正 「武器」 機能に 修正 ×クラスの継承を使わない実装 • 機能の変更時・・・「弾」から「武器」に変更する
74.
第10回 UE4勉強会 in
大阪 73 〇クラスの継承を使った実装 爆発する武器 クラス Etc... 弾 クラス 「弾」機能 凍る武器 クラス 痺れる武器 クラス 機能を受け継いでいたクラスにも 修正が反映される! 「武器」 機能に修正 • 機能の変更時・・・「弾」から「武器」に変更する
75.
弾クラス ホーミング レーザー 弾 衝突判定 ダメージ ヒットSE ヒット エフェクト 移動機能 誘導 させる 重力 弾 衝突点に敵 を引き寄せ る重力を発 生させる ミサイル 弾 独特な挙動 の後、誘導 させる 波動砲 弾 弾を伸長さ せる 基本機能は先に実装しておいたので、 円滑に多様な弾を作ることができた あさと 担当 あさと まいく 担当 追加した機能 クラス 第10回 UE4勉強会 in
大阪 74
76.
第10回 UE4勉強会 in
大阪 75 • オーバーライドとは何か? • 親クラスの持つ関数を、子クラスで定義し直して、動作を 上書きすることである。 • 子クラスを親クラスにキャスト(アップキャスト)して、 同一の関数呼び出し口で異なった動作をさせることができ る。
77.
弾 クラス • 例:色々な移動を弾にさせたいとき ×オーバーライドを使わない実装 「直進する」関数 「曲がる」関数 移動のさせ方が増える度に、関数が増え、 呼び出し方も選択する必要がある・・・。 配列:弾 「直進する」関数 「上昇する」関数 「曲げる」関数 移動のさせ方が 10個や100個 あったら・・・? 「上昇する」関数 呼び出す関数 Etc... Enumや他変数で 分岐するか・・・? Etc… 76 第10回 UE4勉強会
in 大阪
78.
移動毎に分岐 移動毎の関数呼出 • 例:色々な移動を弾にさせたいとき ×オーバーライドを使わない実装 移動毎の関数 弾のブループリント 第10回 UE4勉強会
in 大阪 77
79.
弾クラス 〇オーバーライドを使った実装 「移動する」 関数 親クラス 子クラス 弾を継承したクラス 「移動する」 関数 子クラス 弾を継承したクラス 「移動する」 関数 「曲がる」 処理 「上昇する」 処理 「移動する」関数を 「曲がる」処理で 上書き(オーバーライド) 「移動する」関数を 「上昇する」処理で 上書き(オーバーライド) 「移動する」関数には 直進する処理が書かれている • 例:色々な移動を弾にさせたいとき 第10回 UE4勉強会
in 大阪 78
80.
• 例:色々な移動を弾にさせたいとき 〇オーバーライドを使った実装 呼び出す関数は同じなのに、異なった処理をさせることが出来る! 配列:弾 「移動する」関数 「移動する」関数 「移動する」関数 呼び出す関数 Etc… 親 子 子 子 継承関係 「直進する」 「上昇する」 「曲がる」 実際の処理 Etc… 第10回 UE4勉強会
in 大阪 79
81.
• 例:色々な移動を弾にさせたいとき 〇オーバーライドを使った実装 移動の関数呼出 親クラスの「移動」関数の定義 子クラスの「移動」関数の定義
子クラスの「移動」関数の定義 定義 オーバーライド 第10回 UE4勉強会 in 大阪 80 オーバーライド
82.
• 例:色々な移動を弾にさせたいとき 〇オーバーライドを使った実装 呼び出す関数は同じなのに、異なる処理をさせることが出来た! 第10回 UE4勉強会
in 大阪 81 それぞれをレベルに 配置してプレイ
83.
スキルクラス 「使う」関数 使用可否 管理 キャラクター とのバインド クールタイム 管理 あさと 担当 追加した機能 クラス オーバーライド ジャンプ クラス 「使う」 ジャンプ 発射系 クラス 「使う」 任意方向に 指定の弾を 発射する 自動回復 クラス 近くの 自分含む 仲間を常に 自動回復 あさと まいく 担当 アクティブ、パッシブに関わらず、 幅広く対応できる設計ができた。 ジャンプ力 計算 ハイジャンプ クラス 「使う」 大ジャンプ 2段ジャンプ クラス 「使う」 2段ジャンプ 第10回 UE4勉強会
in 大阪 82
84.
• ブループリントインターフェースとは何か? • 異なる親クラス間でも共通の入り口を用意することで、同 一の呼び出し口で処理することができるもの 第10回
UE4勉強会 in 大阪 83
85.
アイテムクラス 「使う」関数 回復する処理 武器クラス • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 前提条件 「使う」関数 剣を振る処理 クラスの定義 持っている アクター プレイヤー プレイヤーは 物を持てる 第10回 UE4勉強会
in 大阪 84
86.
• 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 ×BPインターフェースを使わない実装 持っている アクター アイテム 使います 何持ってるの? キャストして確認しよう! キャストできたら「使う」関数を呼び出そう! 第10回 UE4勉強会
in 大阪 85
87.
• 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 ×BPインターフェースを使わない実装 実装できたけど・・・? プレイヤーのブループリント 持っている物を使う関数定義 第10回 UE4勉強会
in 大阪 86
88.
持って使える物を増やして! 敵 防具 Etc… を使えるようにして。 • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 ×BPインターフェースを使わない実装 第10回 UE4勉強会
in 大阪 87
89.
• 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 ×BPインターフェースを使わない実装 クラス毎 に分岐 クラス毎の 関数呼出 第10回 UE4勉強会
in 大阪 88
90.
アイテムクラス武器クラス 「使う」関数 回復する処理 • 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 BPインターフェース 「使う」関数 宣言のみ 「使う」関数 剣を振る処理 BPインターフェースを 持たせる 「使う」関数を 定義する BPインターフェースを 持たせる 「使う」関数を 定義する 第10回 UE4勉強会
in 大阪 89
91.
• 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 持っている アクター アイテム 使います BPインターフェース 「使う」関数 アイテムクラス 武器クラス 「使う」関数 回復する処理 「使う」関数 剣を振る処理 対応するBPインターフェースを持っていれば、 キャストを行わなくても各クラスで定義された 関数が自動的に呼ばれる インターフェース 呼び出し 第10回 UE4勉強会
in 大阪 90
92.
• 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 プレイヤーのブループリント 持っている物を使う関数定義 第10回 UE4勉強会
in 大阪 91
93.
• 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 実際にGrabActor変数にアクターを格納して実行してみる 各クラスにBPインターフェースを持たせて、 以上のようにそれぞれ関数を定義 Use関数定義 WeaponのBP ItemのBP
EnemyのBP 第10回 UE4勉強会 in 大阪 92
94.
• 例:武器とアイテムのような異なるクラスではあるが、 持って「使う」という行動が同じ場合 〇BPインターフェースを使った実装 実際にGrabActor変数にアクターを格納して実行してみる Weapon格納時 定義したそれぞれの処理が行われている! Item格納時 Enemy格納時 第10回
UE4勉強会 in 大阪 93
95.
本チーム制作では、用いなかった ・仕様書がかなり固まっており、前述のような仕様ではなかっ たため。 (本制作と別であさとが作成するアクションRPGでは用いた) ・デザインとネットワーク以外の基本アクションは自身が担当 したため、インターフェースを揃えることをあまり考慮しなく てよかったため。 ただし、仕様変更を見越して、WeaponとItemに インタフェースを用いた設計をしておくべきであった。 第10回 UE4勉強会 in
大阪 94
96.
• 本チーム制作では、仕様書がかなり固まっていた状態かつ、 メンバーとのやり取りも簡単に行える状態だったため、大 きな問題の発生や巻き戻りもなく、円滑に作業できた。 • 実現場では、より規模が大きく、設計の分担もより細かに なるであろうため、より良い分割設計手法を覚えていきた い 第10回
UE4勉強会 in 大阪 95
Descargar ahora