Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
Uploaded by
Masahiko Nakamura
PDF, PPTX
40,581 views
UE4とUnrealC++について
Event for Diverse Game Engineersというイベントで喋った時のスライドです。 Unreal Engine 4のC++環境についての解説です。
Engineering
◦
Read more
61
Save
Share
Embed
Save to Drive
Download now
Download as PDF, PPTX
1
/ 45
2
/ 45
3
/ 45
4
/ 45
5
/ 45
6
/ 45
7
/ 45
8
/ 45
9
/ 45
10
/ 45
11
/ 45
12
/ 45
13
/ 45
14
/ 45
15
/ 45
16
/ 45
17
/ 45
18
/ 45
19
/ 45
20
/ 45
More Related Content
PDF
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
by
historia_Inc
158 slides
31.8K views
PDF
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
by
エピック・ゲームズ・ジャパン Epic Games Japan
115 slides
13.1K views
PPTX
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
77 slides
30.9K views
PDF
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
141 slides
29.4K views
PDF
猫でも分かる UE4の新しいサンプル「Action RPG」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
136 slides
37K views
PDF
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
226 slides
32.9K views
PPTX
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
158 slides
20.9K views
PDF
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
by
エピック・ゲームズ・ジャパン Epic Games Japan
136 slides
21K views
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
by
historia_Inc
158 slides
31.8K views
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
by
エピック・ゲームズ・ジャパン Epic Games Japan
115 slides
13.1K views
UE4のためのより良いゲーム設計を理解しよう!
by
Masahiko Nakamura
77 slides
30.9K views
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
141 slides
29.4K views
猫でも分かる UE4の新しいサンプル「Action RPG」について
by
エピック・ゲームズ・ジャパン Epic Games Japan
136 slides
37K views
UE4でマルチプレイヤーゲームを作ろう
by
エピック・ゲームズ・ジャパン Epic Games Japan
226 slides
32.9K views
[CEDEC2018] UE4アニメーションシステム総おさらい
by
エピック・ゲームズ・ジャパン Epic Games Japan
158 slides
20.9K views
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
by
エピック・ゲームズ・ジャパン Epic Games Japan
136 slides
21K views
What's hot
PPTX
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
174 slides
78.6K views
PDF
UE4におけるエフェクトの為のエンジン改造事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
243 slides
36.2K views
PPTX
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
108 slides
79.1K views
PDF
猫でも分かるUE4.22から入ったSubsystem
by
エピック・ゲームズ・ジャパン Epic Games Japan
85 slides
23.9K views
PPTX
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
45 slides
21.3K views
PDF
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
by
エピック・ゲームズ・ジャパン Epic Games Japan
153 slides
21.5K views
PDF
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
by
com044
116 slides
29K views
PDF
猫でも分かる Control Rig UE4.25 版
by
エピック・ゲームズ・ジャパン Epic Games Japan
164 slides
30.7K views
PPTX
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
by
エピック・ゲームズ・ジャパン Epic Games Japan
63 slides
13.8K views
PDF
UE4におけるキャラクタークラス設計
by
Masahiko Nakamura
57 slides
18.3K views
PDF
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
153 slides
38.8K views
PDF
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
163 slides
49.8K views
PPTX
UE4のスレッドの流れとInput Latency改善の仕組み
by
エピック・ゲームズ・ジャパン Epic Games Japan
56 slides
21.1K views
PDF
もっとNiagaraを楽しもう!~UE4.25での作例と解説~ (UE4 VFX Art Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
102 slides
40.7K views
PDF
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
29 slides
10.1K views
PDF
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
by
Tatsuya Iwama
68 slides
24.8K views
PDF
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
by
エピック・ゲームズ・ジャパン Epic Games Japan
103 slides
28.4K views
PDF
UE4を使った映像制作 (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
105 slides
19.4K views
PDF
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
79 slides
12.1K views
PPTX
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
by
エピック・ゲームズ・ジャパン Epic Games Japan
143 slides
48.1K views
マテリアルとマテリアルインスタンスの仕組みと問題点の共有 (Epic Games Japan: 篠山範明) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
174 slides
78.6K views
UE4におけるエフェクトの為のエンジン改造事例
by
エピック・ゲームズ・ジャパン Epic Games Japan
243 slides
36.2K views
猫でも分かる UE4のAnimation Blueprintの運用について
by
エピック・ゲームズ・ジャパン Epic Games Japan
108 slides
79.1K views
猫でも分かるUE4.22から入ったSubsystem
by
エピック・ゲームズ・ジャパン Epic Games Japan
85 slides
23.9K views
UE4ローカライズ事例 (UE4 Localization Deep Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
45 slides
21.3K views
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
by
エピック・ゲームズ・ジャパン Epic Games Japan
153 slides
21.5K views
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
by
com044
116 slides
29K views
猫でも分かる Control Rig UE4.25 版
by
エピック・ゲームズ・ジャパン Epic Games Japan
164 slides
30.7K views
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
by
エピック・ゲームズ・ジャパン Epic Games Japan
63 slides
13.8K views
UE4におけるキャラクタークラス設計
by
Masahiko Nakamura
57 slides
18.3K views
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
by
エピック・ゲームズ・ジャパン Epic Games Japan
153 slides
38.8K views
UE4のシーケンサーをもっともっと使いこなそう!最新情報・Tipsをご紹介!
by
エピック・ゲームズ・ジャパン Epic Games Japan
163 slides
49.8K views
UE4のスレッドの流れとInput Latency改善の仕組み
by
エピック・ゲームズ・ジャパン Epic Games Japan
56 slides
21.1K views
もっとNiagaraを楽しもう!~UE4.25での作例と解説~ (UE4 VFX Art Dive)
by
エピック・ゲームズ・ジャパン Epic Games Japan
102 slides
40.7K views
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
by
エピック・ゲームズ・ジャパン Epic Games Japan
29 slides
10.1K views
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
by
Tatsuya Iwama
68 slides
24.8K views
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
by
エピック・ゲームズ・ジャパン Epic Games Japan
103 slides
28.4K views
UE4を使った映像制作 (UE4 Character Art Dive Online)
by
エピック・ゲームズ・ジャパン Epic Games Japan
105 slides
19.4K views
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
by
エピック・ゲームズ・ジャパン Epic Games Japan
79 slides
12.1K views
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
by
エピック・ゲームズ・ジャパン Epic Games Japan
143 slides
48.1K views
Similar to UE4とUnrealC++について
PDF
第1回UE4名古屋勉強会
by
Masahiko Nakamura
24 slides
68.1K views
PDF
日本一詳しい人が教えるUE4
by
エピック・ゲームズ・ジャパン Epic Games Japan
56 slides
38K views
PPTX
Unreal Engine 4 勉強会 福岡 2014/05/25
by
Daisuke Nakamura
47 slides
5.8K views
PDF
UnrealEngine の VR 事情
by
Masaaki Suga
11 slides
1K views
ODP
Unityは神,Unrealは現実
by
Linea319
11 slides
91.7K views
PDF
2017年06月17 cluster. スライド
by
Seiki Okude
42 slides
568 views
PPTX
はじめてのUnreal Engine 4
by
Shun Sasaki
33 slides
147.2K views
PPTX
UNREAL ENGINE 基本操作編
by
Yuuki Ogino
38 slides
7.2K views
PDF
Unreal Engine 4 Education 2 UnityとUE4の違いは?
by
エピック・ゲームズ・ジャパン Epic Games Japan
38 slides
5.6K views
PDF
Unreal Engine 4 Education 1 基礎の基礎・最初は何から学ぶ?
by
エピック・ゲームズ・ジャパン Epic Games Japan
33 slides
4K views
PPTX
Unity5とUE4の比較
by
Masahiko Nakamura
12 slides
57.6K views
PDF
徹底比較Unreal engine4&unity5
by
Seiki Okude
53 slides
897 views
PPTX
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
by
Mio Ku-tani
7 slides
5.9K views
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
110 slides
912 views
PDF
Unreal Engine 4 Powering Independent Game Developers
by
エピック・ゲームズ・ジャパン Epic Games Japan
39 slides
46.1K views
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
109 slides
961 views
PDF
Unreal Engine 4 Meetup Sapporo LT
by
Hiraku Komuro
39 slides
2.4K views
PDF
Unreal Studio+機械CADのワークフロー
by
エピック・ゲームズ・ジャパン Epic Games Japan
36 slides
2K views
PPTX
BIMBraSto3 UnrealEngine4のすすめ(+Unreal Engine Pixel Streaming)
by
Tatsuya Sumisaki
22 slides
1.6K views
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
109 slides
1.3K views
第1回UE4名古屋勉強会
by
Masahiko Nakamura
24 slides
68.1K views
日本一詳しい人が教えるUE4
by
エピック・ゲームズ・ジャパン Epic Games Japan
56 slides
38K views
Unreal Engine 4 勉強会 福岡 2014/05/25
by
Daisuke Nakamura
47 slides
5.8K views
UnrealEngine の VR 事情
by
Masaaki Suga
11 slides
1K views
Unityは神,Unrealは現実
by
Linea319
11 slides
91.7K views
2017年06月17 cluster. スライド
by
Seiki Okude
42 slides
568 views
はじめてのUnreal Engine 4
by
Shun Sasaki
33 slides
147.2K views
UNREAL ENGINE 基本操作編
by
Yuuki Ogino
38 slides
7.2K views
Unreal Engine 4 Education 2 UnityとUE4の違いは?
by
エピック・ゲームズ・ジャパン Epic Games Japan
38 slides
5.6K views
Unreal Engine 4 Education 1 基礎の基礎・最初は何から学ぶ?
by
エピック・ゲームズ・ジャパン Epic Games Japan
33 slides
4K views
Unity5とUE4の比較
by
Masahiko Nakamura
12 slides
57.6K views
徹底比較Unreal engine4&unity5
by
Seiki Okude
53 slides
897 views
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
by
Mio Ku-tani
7 slides
5.9K views
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
110 slides
912 views
Unreal Engine 4 Powering Independent Game Developers
by
エピック・ゲームズ・ジャパン Epic Games Japan
39 slides
46.1K views
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
109 slides
961 views
Unreal Engine 4 Meetup Sapporo LT
by
Hiraku Komuro
39 slides
2.4K views
Unreal Studio+機械CADのワークフロー
by
エピック・ゲームズ・ジャパン Epic Games Japan
36 slides
2K views
BIMBraSto3 UnrealEngine4のすすめ(+Unreal Engine Pixel Streaming)
by
Tatsuya Sumisaki
22 slides
1.6K views
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
by
ai BlogOnly
109 slides
1.3K views
More from Masahiko Nakamura
PPTX
UE4のコンポジット機能をもっと深く使ってみた
by
Masahiko Nakamura
32 slides
13.2K views
PPTX
映像制作者向け UE4で作る映像制作ワークショップ
by
Masahiko Nakamura
20 slides
7.4K views
PPTX
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
by
Masahiko Nakamura
62 slides
14.7K views
PDF
ゲームエンジンを活用して同人ゲームを完成させるノウハウについて
by
Masahiko Nakamura
63 slides
7.6K views
PPTX
UE4でパノラマVRをやってみよう
by
Masahiko Nakamura
12 slides
3.7K views
PPTX
モバイルゲームにもっとクオリティを!UE4を使ったハイクオリティなモバイルゲーム制作について
by
Masahiko Nakamura
83 slides
19.1K views
PPTX
GGJ2017 事前勉強会 UE4編
by
Masahiko Nakamura
22 slides
4.1K views
PPTX
拳と筋肉とバーチャリアリズム
by
Masahiko Nakamura
11 slides
2.1K views
PPTX
ブループリントマニアックス
by
Masahiko Nakamura
98 slides
22.6K views
PPTX
UE4映像制作ハンズオン@大阪
by
Masahiko Nakamura
21 slides
10.3K views
PPTX
絵心がなくてもわかるUE4絵作りのコツ
by
Masahiko Nakamura
56 slides
13.8K views
PPTX
はじめてのAI~ 愛のあるAIを作ろう
by
Masahiko Nakamura
46 slides
27K views
PDF
Unreal engine 4でのリアルタイムセルルック3DCGアニメーション
by
Masahiko Nakamura
17 slides
5.1K views
PDF
ブループリント+ビジュアルスクリプトと仲良くやる方法
by
Masahiko Nakamura
20 slides
3.4K views
PDF
ゲームジャムでのチーム制作における大事なこと
by
Masahiko Nakamura
15 slides
13.6K views
PPTX
Bullet TrainとOculus Touchの衝撃
by
Masahiko Nakamura
21 slides
3.1K views
PPTX
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
by
Masahiko Nakamura
45 slides
103.3K views
PDF
第5回ue4ハンズオンセミナー
by
Masahiko Nakamura
89 slides
144.4K views
PDF
Powerful of blueprint visual scripting
by
Masahiko Nakamura
81 slides
17.4K views
PPTX
50分でわかるブループリントについて
by
Masahiko Nakamura
30 slides
71.9K views
UE4のコンポジット機能をもっと深く使ってみた
by
Masahiko Nakamura
32 slides
13.2K views
映像制作者向け UE4で作る映像制作ワークショップ
by
Masahiko Nakamura
20 slides
7.4K views
UE4の攻略方法を伝授! より効率よく楽しく学ぶ ための鉄則について
by
Masahiko Nakamura
62 slides
14.7K views
ゲームエンジンを活用して同人ゲームを完成させるノウハウについて
by
Masahiko Nakamura
63 slides
7.6K views
UE4でパノラマVRをやってみよう
by
Masahiko Nakamura
12 slides
3.7K views
モバイルゲームにもっとクオリティを!UE4を使ったハイクオリティなモバイルゲーム制作について
by
Masahiko Nakamura
83 slides
19.1K views
GGJ2017 事前勉強会 UE4編
by
Masahiko Nakamura
22 slides
4.1K views
拳と筋肉とバーチャリアリズム
by
Masahiko Nakamura
11 slides
2.1K views
ブループリントマニアックス
by
Masahiko Nakamura
98 slides
22.6K views
UE4映像制作ハンズオン@大阪
by
Masahiko Nakamura
21 slides
10.3K views
絵心がなくてもわかるUE4絵作りのコツ
by
Masahiko Nakamura
56 slides
13.8K views
はじめてのAI~ 愛のあるAIを作ろう
by
Masahiko Nakamura
46 slides
27K views
Unreal engine 4でのリアルタイムセルルック3DCGアニメーション
by
Masahiko Nakamura
17 slides
5.1K views
ブループリント+ビジュアルスクリプトと仲良くやる方法
by
Masahiko Nakamura
20 slides
3.4K views
ゲームジャムでのチーム制作における大事なこと
by
Masahiko Nakamura
15 slides
13.6K views
Bullet TrainとOculus Touchの衝撃
by
Masahiko Nakamura
21 slides
3.1K views
C++コードはいらない!UE4で作るお手軽マルチプレイネットワークゲームについて
by
Masahiko Nakamura
45 slides
103.3K views
第5回ue4ハンズオンセミナー
by
Masahiko Nakamura
89 slides
144.4K views
Powerful of blueprint visual scripting
by
Masahiko Nakamura
81 slides
17.4K views
50分でわかるブループリントについて
by
Masahiko Nakamura
30 slides
71.9K views
UE4とUnrealC++について
1.
Unreal Engine 4と Unreal
C++での プログラミング環境について Event for Diverse Game Engineers by alwei
2.
自己紹介 HN : alwei
(アルウェイ) 関西アンリアル勢 Twitterよくやっています → @aizen76 元々はゲームプログラマーを8年ほどやっていました。 今は独立してフリーになってゲーム制作に関連する お仕事を受けるようになり、ゲーム作りの何でも屋。 ゲームをやるのも作るのも大好き。 趣味でお絵描きやモデリングもやりながらゲーム制作。
3.
Unreal Engine 4について 最近無料化したゲームエンジン。 3Dゲームから2Dゲームまで割りと何でも作れる。 最新作のドラクエ11のPS4版がUE4採用という事で話題に。 なんとドラマ版デスノートのリュークのCGもUE4だとか。 その他日本のゲームでも沢山採用されており、 業界内外から注目を集めている。 Epic
Games Launcherより
4.
UE4でのロジック制作環境 先に断わっておくと、UE4ではC++コードを書くよりも ブループリントと呼ばれるビジュアルスクリプトシステムで ゲームは完全に制作可能です。 特にこだわりがなければ、 C++よりもブループリントを 使う事をおすすめします。 ブループリント超強力なんで!!
5.
じゃあなんでC++を使うの?
6.
なんでC++を使うの? 『パフォーマンスがもっと欲しい』 『エンジンやエディターを拡張したい』 『外部ライブラリーやSDKを使いたい』 『独自デバイスを繋ぎたい』 『C++の勉強に』 等々…ブループリントだけでは不可能なあらゆる事が 可能となるので、用法要領を守ってお使いください
7.
早速ですが…
8.
Unreal C++は素晴しい!
9.
Unreal C++って何? C++を初心者でも使いやすくし、 更に沢山の独自拡張を施す事によって Unreal Editorとの親和性を高めている。 その独自拡張故に、既存のC++にはないメリットがある。 C#やJavaやJava
Scriptの特徴も取り込んでおり、 そういった言語を学んだプログラマーなら入りやすい。
10.
ビルドアーキテクチャー
11.
ビルドシステムについて Unreal Build Toolがプロジェクト全体を解析。 独自拡張されたC++部分のメタ情報も作りだす。 Mono
C#はクロスプラットフォームで動作する、 Unreal C++のモジュールシステムやライブラリーの 管理やリンクを行ない、プロジェクトデータを生成する。 最終的な情報をVisualStudioやXcodeに 渡す事によってビルドを完了させる。 実はWindows、MacだけではなくLinuxでも動作する。
12.
Unreal C++の特徴 • 比較的モダンC++ •
エンジン全体で統一されたコーディングルール • C++11ベースでC#にも近いスタンダードライブラリー • 徹底的に自動化されたコード生成環境 • 完全なメモリー管理とガベージコレクション搭載 • メタ情報による独自リフレクションシステム • ブループリントとの完全な連携 • 実行中にC++コードを書き換えるホットリロード
13.
比較的モダンC++ 近年のC++の特徴は大体取り込んでいる。 ライブラリーのコンテナはRange based forに対応。 同様にコンテナはムーブセマンティクスにも対応しており、 一時オブジェクトのコピーは発生しない。 コンテナのアルゴリズムには無名関数による、 ラムダ式での記述も可能。 autoキーワードや強い型付けのenumなどのC++11で 追加された機能の使用を推奨している。
14.
比較的モダンC++ ただし全てのコンパイラーが対応していない機能には 慎重になっており全てがモダンというわけではない。 コンパイラーの対応により少しずつ機能が拡充されている。 しかしあくまでもC++を簡単に扱えるようにするために、 C++の難解部分の使用は避けられている。
15.
コーディングルール
16.
コーディングルール https://docs.unrealengine.com/latest/JPN/Programming /Development/CodingStandard/index.html エンジン全体で統一されたコーディングルールがあるため、 プロジェクトでもこれを採用すれば混乱が少ない。 コーディングルール自体はC#の標準にかなり近い。 読み易さ重視により、クセのない書き方になっている。 変な文化のルールに従うよりもこれを採用した方が良い。
17.
コーディングルール
18.
コードの宗教戦争はやめよう\(^o^)/
19.
スタンダードライブラリー C++のスタンダードライブラリーは使いません。 Unreal C++ではゲーム用に特化したライブラリーが用意 されており、マルチプラットフォームで統一された動作、 メモリー管理、独自拡張が提供されます。 ベースはC++11になっており、その他の言語の特徴を ライブラリーに沢山取り入れている。
20.
コンテナ
21.
コンテナ C++標準よりも圧倒的に数が多い。 std::vector → TArray std::unordered_set
→ TSet std::unordered_map → TMap どれもベースはあるが、C#のようなメソッドが追加されて 更に使い勝手が良くなっている。 もちろんラムダ式やムーブセマンティクスにも対応。 イテレーターはRange based for形式で使用可能。
22.
文字列 ■FString std::stringがベースであるものの、ほぼ別物。 使い勝手はC#のString型そのものに近い。 SplitやTrimなどの分割や豊富な文字列検索機能あり。 ■FText 文字列を実際に表示するためのシステム。 完全なマルチ言語対応になっていて、UE4の言語切り替えで 別の言語表示にネイティブ対応出来るようになっている。
23.
文字列 ■FName データ上、完全に静的な扱いとなる文字列。 FStringやFTextと違い、ランタイム変更が出来ないので、 キーによる参照が圧倒的に速い。 アセットの名前などゲーム中に変わらない文字列に使う。 UE4の文字列は最初から多言語対応を前提としており、 エンコードシステムに従えばあらゆる言語に対応可能。 ネットワークを通じてのシリアライズ、デシリアライズにも しっかりと対応している。エンディアン変換もOK。
24.
デリゲート C#にあるデリゲートのような機能を持ちながら、 std::functionのように完全に型安全な関数コールが可能。 MyDelegate.BindUObject(&MyClass::MyFunction); MyDelegate.Execute(true, 20); いくつでも関数を追加・削除、更に一度でブロードキャスト 呼び出し出来るマルチキャストデリゲートや、 シリアライズ可能なダイナミックデリゲートという 特殊なデリゲートもある。
25.
自動化されたコード生成環境 プロジェクトファイルにコードを追加する際に、 IDEから直接追加せずにUnreal Editorが自動で行なう。 また生成されたコードの配置やテンプレートコードも 同時に作成されるため、追加も楽でミスも少ない。 .cppと.hを個別に作成する必要もなく、 ヘッダーのインクルードも同時に行なわれる。
26.
自動化されたコード生成環境 手間のかかるコード生成はエディターのGUIから クラスウィザードでクラス名を入力するだけでOK!
27.
完全なメモリー管理とGC搭載 C++だけど、ガベージコレクションあり。 全てのクラスのベースクラスである、 UnrealObject(UObject)を継承したクラスであれば、 自動的にUE4のガベージコレクターへ登録。 MyGCType* DoomedObject =NewObject<MyGCType>(); これで後は適切なタイミングで破棄してくれる。
28.
GCの最適化 GCの制御も可能。 GCの呼び出し間隔や 強制的なGC呼び出しも可能。 更に並列化GCや、 一定サイズパーマネントの オブジェクトプール化も可能。
29.
メモリーの可視化 当然全てのメモリーは トラッキングされているので 使用状況はいつでも確認可能! 使用状況だけでなく、 GCやオブジェクトプール 情報やメモリーによる負荷を 知る事が出来る。 より詳細は更に各々の プロファイラーで確認可能。
30.
スマートポインター UObjectでないものはGC対象にならないので、 そういう場合にはスマートポインターを使う。 TSharedPtr(共有ポインター) TSharedRef(参照型の共有ポインター) TWeakPtr(弱参照ポインター) 基本はBoostやSTLにあるものと同様だが、 ゲームで使用する前提の設計になっている。
31.
標準スマートポインターとの違い • コンソール、ハードウェアやコンパイラーを意識した実装 • BoostやSTLよりも高速に動作 •
デフォルトはスレッドセーフではない • スレッドセーフ版が存在(TThreadSafeSharedPtr等) • スレッドセーフ版はロック・フリー採用 • コピー時にメモリー割り当てを行なわない 基本的にパフォーマンスを優先。 無駄なメモリー確保をしない。 コンソールでの実用を考えて例外機構を使用しない。
32.
メタ情報によるリフレクション C++にはリフレクション機能がない。 RTTI(実行時型情報)はあるが、無駄が多く機能が弱い。 Unreal Build Toolの中にUnreal
Header Toolというものが あり、コンパイラー実行前にヘッダーのメタ情報を解析する。 このメタ情報から自動的にリフレクション用のヘッダーを 生成する事が出来る。このヘッダーは自動生成でかつ クラス追加時に自動的にインクルードされるので、 何も意識しなくても使用する事が可能になっている。
33.
メタ情報について
34.
メタ情報について 通常のC++には存在しない書き方になっている。 クラスや変数や関数、構造体につける事が可能。 • UCLASS • UPROPERTY •
UFUNCTION • USTRUCT もし記法にミスがあるとUnreal Header Toolが エラーを表示してくれるようになっている。
35.
リフレクション // イテレーターを使用して、クラスの名前を取得。 for (TObjectIterator<UObject>
It; It; ++It) { UObject* CurrentObject = *It; UE_LOG(LogTemp, Log, TEXT("Found UObject named: %s"), *CurrentObject.GetName()); }
36.
更にメタ情報について メタ情報はリフレクションだけのためのものではない。 クラスや変数、関数に様々な機能を追加する事が出来る。 ブループリントへの情報、カテゴリー分け、 ローカライズ変数、セーブデータ変数、ネットワーク変数、 サーバー関数、クライアント関数などなど… Unreal C++にとってメタ情報は なくてはならないコア機能となっている。
37.
ブループリントとの完全な連携 メタ情報を使いこなす事により、 ビジュアルスクリプトシステムと完全な連携が可能。 // プレイヤーのライフを宣言 UPROPERTY(BlueprintReadWrite, Category=“Player”) float
Life; // プレイヤーのライフを表示 UFUNCTION(BlueprintCallable, Category=“Player") void DisplayLife();
38.
ブループリントへ公開 C++に書いた内容がブループリント上へと追加されています。
39.
ホットリロード エディター、ゲーム実行中にC++コードを 書き換える事が可能です。
40.
何言ってんの?
41.
いやいや、冗談でしょ?
42.
ホットリロード エディター、ゲーム実行中にC++コードを 書き換える事が可能です。 Unreal C++は完全なモジュールシステムを 採用しているため、実行時に書き換えた部分のみ、 DLLをリロードする事でC++コードを読み直す。 C++を使っている人には一番衝撃を受ける機能のひとつ。
43.
ホットリロード実演
44.
Unreal C++は素晴らしい! 以上でUnreal C++の基礎部分だけですが、 様々な事が判ったと思います。 ブループリントの凄さに隠れがちですが、 Unreal
C++はC++の煩わしさを軽減し、 C++をストレスフリーに使える機能が沢山あります。 ただし、C++を無理して使う必要はありません。 ブループリントだけでも十分にゲームを作れる ということは忘れないでください。
45.
Unreal Fest 2015
横浜 エピック・ゲームズ・ジャパン公式の Unreal Engineセミナーイベント! 参加募集人数なんと1000人! 10/18(日)9:30~19:00 こちらでも登壇しますのでよろしくネ!