俺に解るように説明する "Unreal.Engine.4" 入門+

UnrealEngine4とかチュートリアルとか入門とか

知らないうちに出来てるアクタ!?

ちょっと質問。

たぶん多くの人は、アンリアルエンジンの勉強って、最初は、「みんな大好き"Third Person Template"「サードパーソンテンプレート」」を使っての、ブループリントの学習から入ると思うんだ。ブループリントはアンリアルエンジンの目玉だから、これはこれでいいんだ。だけどそれで、まーまーブループリントに関しては理解したなと思って、「じゃあ、いっちょ、ゲームを1本完成させるか(しょぼくてもいいから)」となると、な~んか出来そうにない。なんか分からない、なんだか難しい、どうなってんだ、ふ~、やーめた。

こんな流れに、皆さんならなかった?

俺はなった。で、この「やーめた。」に繋がる入り口は、もしかしたら"Get Player Controller"とか"Get Player Character"とかじゃなかった? 俺はこれだった。

チュートリアル動画では、よく、"Get Player Controller"とか"Get Player Character"とか何のためらいもなく使ってるでしょ。あれって不思議じゃなかった? だって、"Player Controller"とか"Player Character"とか、レベル(シーン、マップ、ゲームワールド、ってどの言い方がいい?)に「自分では」置いてないし、変数としても「自分では」設定してないのに使ってるんだよ。"Get"とかして。どこから来たんだよお前は、って思わなかった? 俺は思った。そして、これが、ゲームを作るのは無理だなという結論に至る原因になっていたんだよ。

それで、一体君たちは何者なんだ? っていうのを俺なりに調べてみたら、どうも、組み込みクラス(built-in class「ビルトインクラス」)とかフレームワークとか言う概念から来ているものらしい(全然違うかも!)と分かったんだ。もうちょっと「俺に解る」ように具体的に言うと、こいつらは、「EPICさんが、ゲーム起動時に、ユーザーに黙って勝手にレベル上に置くアクタ」なんだ。大事なのは、ユーザーに黙って勝手に作って置いていくってことだ。いらないって言っても、無理やり置いていく。知らないって言ってもゲームの中心的役割として機能する。そういうもの。さらに、これはビューポート内では見えない。

うん、実にやっかいだ。こんな、実に厄介だが重要な存在のことを、チュートリアル動画だとサーっと流して先に行っちゃうじゃん。もうちょっと詳しく説明してくれよ。俺に解るようにさ!って思うのも当然だろ?

いや、まー愚痴はこれくらいにして、ちょっと話を"Get Player Controller"まで戻すぞ。なんで、これがいきなり使えたのか。もう大丈夫だよな。ズバリ、これは「EPICさんが勝手に作って置いてったもの」だから。ユーザーが「自分で作らなくても」使えちゃったってことだ。これで謎は解けたな。一言、作っときましたよ~って知らせてくれてもいいよな、ホントは。

ささっ。証拠の写真を出そう。見てくれ。何もないレベルを作って、[Play]してみる。どうだ。[Play]後の"World Outliner"にいろいろと勝手にアクタが出来ているのが見て分かる。試してみて。"Player Controller"もある。("Player Character"の方は"Default Pawn"の変形だと思う、たぶん。)

f:id:ore2wakaru:20160315194437j:plain

さらに具体的に"Player Controller"が、何をしているか、どんなプロパティを持っているかなどは、面倒くさいから書かない。というより、誰か詳しく調べて分かりやすく俺に教えてくれ。(カメラとマウス、あとキー入力に関係してることだけは確か。)

そしてこいつらの一番の大親分は、"GameMode"「ゲームモード」らしいんだ。ぼんやりとは分かっているんだが、その実態解明にまでは至っていない。ん~ん、エンジンの完全支配にはまだまだ時間がかかりそうだな。(、、、そこまでする気はないけど)