>100 Views
December 05, 25
スライド概要
本講演へのアンケートにご協力をお願い致します:
https://forms.gle/LJwRLLukMdqYNPzn7
YouTube Link:https://youtu.be/29JQmrHqbE8
講演内容:
前半は、Unityのみ扱える状態からUEの学習も始め、現在はフリーランスとして活動している自分の経験をもとに、Unity経験者がUEの学習も始める際に役立つUE入門Tipsを紹介します。 後半は、Unity経験者がUEを習得するための教材設計、段階的な実習プログラムを通して得た指導方法や具体的な教育事例とその成果をご紹介します。
講演者:
橋本 翼(フリーランス)
織田 拳丞(フリーランス)
ツバサムス/pateについてはこちら:
https://tsubasamusu.com
https://x.com/pate_fox
Unreal Fest Tokyo 2025公式サイト:
https://www.unrealengine.com/ja/events/unreal-fest-tokyo-2025
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
Unity使いがUEも習得するための入門Tips & Unity使いへのUE教育事例紹介 ツバサムス(橋本翼) pate(織田拳丞) #unrealfest
本日の内容 • Unity使いがUEも習得するための入門Tips(by ツバサムス) ⚬ 注意事項 ⚬ 環境 ⚬ 自己紹介 ⚬ 入門Tips • Unity使いへのUE教育事例紹介(by pate) ⚬ Unity使いにUEを教えることになった経緯 ⚬ 専門学校について ⚬ 授業内容の紹介 ⚬ 苦労したこと 2 #unrealfest
Unity使いがUEも習得するための入門Tips ツバサムス(橋本翼) 3 #unrealfest
注意事項 • 「Unreal Engine」を「UE」と表記することがあります。 • UnityとUnreal Engineの優劣を比較したり、どちらかを否定したりする内容ではありません 。それぞれのゲームエンジンに独自の強みがあり、目的や状況に応じて使い分けるものだ と考えています。 • 「Unityの○○はUnreal Engineの△△に近い!」といった抽象的・概念的な話が多く、個人的 な見解も多く含まれています。 4 #unrealfest
環境 • OS:Windows • Unity:6000.0.41f1 • UE:5.6.1 • プロジェクト:Third Person Template、Parrot Game Sample 5 #unrealfest
自己紹介 ツバサムス(@tsubasamusu) 橋本翼 • 高校在学中にUnityを勉強 • 高校卒業後に富山のスタートアップに入社 ⚬ Unity:メタバースプラットフォームのワールド制作や技術検 証など ⚬ UE:iOS/Androidアプリ開発やそのアプリ開発で使う最適化 自動化ツール開発など • 今年からフリーランスでUnityやUnreal Engineのお仕事してます ! 6 #unrealfest
高校在学中にUnityを勉 強 高校3年の5月にオンラインのプログラミングスクールに入 学してUnityを勉強 • ひたすら作りたいゲームをいくつも作る • 15分考えてわからなかったら講師に聞く • 理解したことを技術ブログでアウトプットする 高校3年の11月にプログラミングスクールを卒業 技術ブログ「ツバサムスBlog」 7 #unrealfest
Unreal Engineと出会ったきっかけ 富山で開催されたIT系のイベントに行ってみる 面白そうな企業のブースを発見&挨拶! 展示していたサービスの開発画面を少し見せてもらう (その時にそのブースにいたのがpateさん) (イベントの日に撮影し た富山城の写真) 8 #unrealfest
ビジュアルプログラミングの使用頻度 簡単な処理はブループリントで作って実際の本格的な開発 は全てC++で書くんでしょ! • ほとんどブループリントで書いてる! Unity Visual Scripting • ビジュアルプログラミング(ブループリント)の使用 頻度が高い ブループリント 9 #unrealfest
「UE研修」スタート 高校卒業後にその企業に入社 「UE研修」スタート 1.エディタ画面の構成やアセットの種類などの説明を受ける 2.お題を自力でクリアしていく 例:キャラクターに触れたら「 Hit」と表示する 10 #unrealfest
エディタ画面について 11 #unrealfest
座標系・単位 UE:Zが上で単位はcm Unity:Yが上で単はm ※ UE5からUE6にかけて現在の「Z-Up」 から「Y-Up」に移行する予定だそうです ( https://x.com/TimSweeneyEpic/status/193 0678660098408669 より) 12 #unrealfest
基本的な画面構成 ヒエラルキー シーンビュ ー プロジェクト インスペクタ ー アウトライナ ー 詳細パネル ビューポート コンテンツドロワー 13 #unrealfest
プレイ画面の表示場所(Unityの場合) シーンビュー(編集画面) ゲームビュー(プレイ画面) 別のウィンドウ 14 #unrealfest
プレイ画面の表示場所(UEの場合) 編集中 プレイ中 1つの画面(ビューポート)で編集画面とプレイ画面を切り替える (モードが「Selected Viewport」の場合) 15 #unrealfest
ゲーム実行中にアクタを編集するには 通常のプレイ 編集(Eject) プレイ中に「F8」を押す or で自由に動き回ってレベル上のアクタを編集できる 16 #unrealfest
コンソールとアウトプットログ コンパイルエラーやランタイムのログ、 エディタ側のエラーなど ←の内容 + あらゆるエディタ操作のログ など (ログカテゴリでフィルタをかけること もできる) 17 #unrealfest
Unity HubとEpic Games Launcher ≒ Unity Hub Epic Games Launcher 18 #unrealfest
プロジェクトの作成 Unity Hub Epic Games Launcherからエンジンを起動後 にプロジェクトを作成する 19 #unrealfest
未保存のアセットを識別しやすい アスタリスクが付いてる = 未保存のアセット 20 #unrealfest
アセットについて 21 #unrealfest
プレハブ = ブループリント? • GameObject = アクタ • プレハブ = アクタ ブループリントでもC++でもアクタを作れる 22 #unrealfest
シェーダーとマテリアル UnityのShader Graph Unityのマテリアル Unreal Engineのマテリアル Unreal Engineのマテリアルインスタンス 23 #unrealfest
リダイレクタ 同名のアセットがあるというエラーが出てる... リダイレクタを修正しよう! エクスプローラーで見るとなんか残ってる... 24 #unrealfest
アセット名の接頭辞(プレフィックス) • アセットの命名規則に関する推奨事項 • Third Person Template • First Person Template 25 #unrealfest
ここからは「お題」に取り組む 26 #unrealfest
キャラクターが触れたら「Hit」と表示させる とりあえずブループリントでアクタを作ってレベルに 配置!! ん?既にCollisionコンポーネント?がアタッチされて る?? 27 #unrealfest
レベルエディタでの「詳細パネル」の見方 ルート を選択 コンポーネント を選択 アクタ の情報 コンポーネント の情報 アクタ自体を選択しているとき アクタの中のコンポーネントを選択しているとき 28 #unrealfest
コンポーネントを追加する ブループリントエディタを開く StaticMeshComponentを追加 29 #unrealfest
OnComponentHit()をグラフに追加して完成 1.StaticMeshComponentを選択 2.「詳細」でOnComponentHit()をグラフに追加 3.触れた相手がBP_ThirdPersonCharacterなら「Hit」と表示させる 30 #unrealfest
GameObjectとコンポーネント プレハブの中で階層構造にできるもの GameObject アクタの中で階層構造にできるもの アクタ コンポーネント(SceneComponent) 31 #unrealfest
往復して動く床 最初にC#で書いてからそれをブループリントで再現してた 32 #unrealfest
Start()とUpdate()は、BeginPlay()とTick() 33 #unrealfest
カウントダウンするタイマー WBP_Timer BP_ThirdPersonCharacter 34 #unrealfest
ウィジェットはレベルに置くわけではない ①レベルエディタではなく、ウィジェットブ ループリントの中でUIをデザイン ②レベルブループリントやキャラクターなど の中でCreateWidget() & AddToViewport() 35 #unrealfest
ウィジェットブループリントの使い方 ③デザイナー → グラフ ①パレットからヒエラルキーに ドラッグ&ドロップ ②詳細パネルで「Is Variable」 にチェックを付けて変数化 36 #unrealfest
ウィジェットやコンポーネントの参照方法 ウィジェットブループリントの中でウィジェ ットを参照する場合 アクタブループリントの中でコンポーネント を参照する場合 37 #unrealfest
UE研修終了! & 実際の開発に参加! 38 #unrealfest
カスタムイベントは戻り値を持てない カスタムイベントはインプットのみ 関数はアウトプットも持てる 39 #unrealfest
ブループリントは親クラスの選択が重要 コンテンツドロワーの中で右クリック 選択した親クラスによってで きることがかなり変わってく る 40 #unrealfest
クラスよって書くべき処理が違う Game Mode Character (Pawn) Level Player Controller Game Instance Widget Level 41 #unrealfest
ワールド設定(World Settings) None Default Pawnが出現 BP_ThirdPersonCharacterが出現 BP_ThirdPersonGameMode 42 #unrealfest
C++の勉強を開始 CTOしか自動化用のツールを開発できない状況... C++を学ぶとできることも広がるし、勉強しよう! 最適化の作業で実際に使うツールを開発 & 社内で利用 勉強を始めたばかりの頃に書い ていたUnity C#との比較記事 43 #unrealfest
エディタ拡張にハマる 一瞬で配列を作れる機能 コメントノードの中のノードの 情報を読み取ってコメントを生 成してくれる機能 AIが理解しやすい形式の文 字列でノードをコピーでき る機能 44 #unrealfest
Unity使いへのUE教育事例紹 介 pate(織田拳丞) 45 #unrealfest
自己紹 介 織田拳丞 / Oda Kenjou(pate ) 富山県でスタートアップを共同創業し、取締役CTOとし て Unreal Engineを使ったモバイルアプリ開発を経験。 現在はフリーランス 。 富山県の専門学校でUnreal Engineの非常勤講師をしている 。 愉快な家族たち。 @pate_fox 46 #unrealfest
Unity使いにUEを教えることになった経 緯 1.ツバサムスが入社す 2. 専門学校の非常勤講師を頼まれる る 47 #unrealfest
Unity使いにUEを教えることになった経 緯 2. 専門学校の非常勤講師を頼まれる 48 #unrealfest
専門学校の生徒につい て • 学校がメインで教えているのはUnity • プログラミングは専門学校に来て初めてという生徒が多 数 • Unreal Engineは名前だけ聞いたことがある程度 • 1クラス10~13人ほど 会社で使っていたUE研修(製作者pate)を改良し、教えてみることに 。 49 #unrealfest
どうなってほしいかを考える(教育目標の明確化 ) 3時間 × 15回 = 45時間で何を教えられるか・・ ・ とりあえず ブループリントを扱えるようにするこ と 50 #unrealfest
教え方を使い分け る 生徒がわからないのはUEであって、(ゲーム)プログラミングはわかっているという前提での関わり 方 まずはコードを書いてもらい、それをBPで再現させる 慣れてきたらコードは卒業 考え方は合っているが BPでの作り方がわからない場合 考え方がわからない場 合 ティーチング コーチング (答えを教える (答えに誘導する ) ) 51 #unrealfest
授業内容を一部ご紹 介 ※ 写真は全てUE5.4.4で撮影したものです ※ 52 #unrealfest
1. 往復で動く 床 教えたいこと:ブループリントエディターの使い方、やりたいことをプログラムに落とし込 む 53 #unrealfest
2. 制限時 間 教えたいこと:Widgetの作り方、Tickでゲーム内経過時間を取 得 ThirdPersonCharacterに記 述 WidgetBlueprintに記 述 54 #unrealfest
3. インタラクトできる 扉 教えたいこと:イベント駆動型開発、カスタムイベントの使い方 55 #unrealfest
3. インタラクトできる 扉 ThirdPersonCharacterに記 述 Doorアクターに記 述 WidgetBlueprintに記 述 56 #unrealfest
4. 鍵付き 扉 教えたいこと:表示するUIの制御、今までの復習 57 #unrealfest
5. 敵キャラ(NPC ) 教えたいこと:NPCの作り方、キャラクターを動かす仕組 み 58 #unrealfest
6. ブループリントクラスの継 承 教えたいこと:ブループリントクラスの継承のやり方と使い 方 Box Collisionのみを持つ親アクターを作 成 59 #unrealfest
6. ブループリントクラスの継 承 60 #unrealfest
6. ブループリントクラスの継 承 61 #unrealfest
7. その 他 • マテリアル • Niagara • マーケットプレイ ス マテリアルの主要ブレンドモードの説明 簡単なエフェクトを作成してみる FabがLauncherと統合されましたね! 62 #unrealfest
7. フォルダ構成はしっかり決めておこ う フォルダ構成をなめていると痛い目にあう 結局リダイレクタは教えなければいけない Conten t SchoolTes t Blueprin t Acto r GameMod e Ma p Widge t Materia l 63 #unrealfest
8. 課題制 作 全15回の授業の内、7回ほどは課題制作の時間に充ててい る 64 #unrealfest
8. 課題制 作 65 #unrealfest
教育方針につい て プログラマーとして必要な能力を身につけて欲し い 命名規 則 66 #unrealfest
注意した命名の実 例 67 #unrealfest
注意した命名の実 例 68 #unrealfest
ここが苦労した・・・ ! • 初回の授業でだいたい「Unityだったら○○なんですけど・・・」と言われ る • やたらTickを使いたが る • コードで書きたいと言われる(生成AIを使いたい ) • 課題制作で2Dゲームを作りたいと言われて泣きそうになっ た • 1回休んだ生徒のフォローがバグレベルで難し い 69 #unrealfest
この後、Unreal Hubで相談受け付けます! • 11:20~12:20にホールBの前 • 講演内容への質疑 • UnityとUnreal Engine関連の質問など 70 #unrealfest