SlideShare una empresa de Scribd logo
1 de 141
最新UE4タイトルでの
ローカライズ事例
ソレイユ株式会社
エンジニア 郷津 風
2019/10/31
目次
• 自己紹介
• 事前情報
• 概要
• 実装手順(StringTable, LocalizationDashboard, Blueprint)
• 設定手順(Config,C++側)
• 応用編(設定,字幕)
• 注意点
• まとめ
自己紹介
自己紹介
• 郷津 風(ごうづ ふう)
• エンジニア
• 元 Webのサーバエンジニア
• 現 ゲームのプログラマ
• 直近
• UI全般
• 多言語対応
• プラットフォーム対応
• とかとか
事前情報
事前情報
• 三人称視点のシングルプレイ アクションゲーム
• UE4のバージョンは4.20->4.22
• 新しいバージョンが出る度に調査してからアップデート
• 多少のバージョンアップによる問題は力づくで対応
(シーケンサーとかシーケンサーとかシーケンサーとか)
事前情報
• 対応した言語は10言語
※ゲームの言語設定はコンソールの設定を反映
言語 言語タグ
英語 en
フランス語 fr
フランス語
(カナダ)
fr-CA
スペイン語 es
スペイン語
(ラテンアメリカ)
es-419
言語 言語タグ
日本語 ja
ドイツ語 de
中国語
(簡体字)
zh-Hans
ロシア語 ru
ポルトガル語
(ブラジル)
pt-BR
事前情報
• 対応した言語は10言語
言語 言語タグ
英語 en
フランス語 fr
フランス語
(カナダ)
fr-CA
スペイン語 es
スペイン語
(ラテンアメリカ)
es-419
何が違うのかわからない…
事前情報-おまけ フランス語(カナダ)-
• フランス語(カナダ)とは…
• ケベック州で話されケベコアと呼ばれる
日本語 フランス語 ケベコア
ガード Blocage Parade
ロングソード Broadsword Épée à deux mains
デバッグ Débogue Débogage
翻訳者のさじ加減
のような気もする
事前情報
• ローカライズの対象
• テキスト全般
• アセット(フォントのみ)
• 決定、キャンセルボタンの位置
• ※音声は非対応
事前情報
• 対応したプラットフォームは4つ
• PS4
• XboxOne
• Nintendo Switch
• Steam
事前情報
• Widget Blueprintについての知識
• LocalizationDashboardについての知識
• Localizationの公式ドキュメント
(https://docs.unrealengine.com/en-
US/Gameplay/Localization/index.html)
概要
概要-ポイント-
• LocalizationDashboardだけを使っている
• デフォルト言語に”使わない言語”を設定
• 追加・編集が簡単、動作が確認しやすい
概要-ポイント-
• LocalizationDashboardだけを使っている
• 自社ツール、素敵なシステムは一切使っていない
• 問題が起こったらEngineのコードいじって対応
概要-ポイント-
• デフォルト言語に”使わない言語”を設定
• パブリッシャーが海外→デフォルト言語は日本語にできない
• 翻訳データは頻繁に更新されるもの
• LocalizationDashboardにおいて、
デフォルト言語の翻訳変更はクリティカル!!!!!
※後ほど解説
概要-ポイント-
• 追加・編集が簡単、動作が確認しやすい
あのテキストも必要だった
追加して
翻訳変わったからよろしく
翻訳追加になったから
やっといて
最大文字数いくつですか?
はみ出し確認したいんですけど
ここ字幕も出したいんだけど
企画
アート
このテキストの
全言語翻訳ください
概要-ポイント-
• 追加・編集が簡単、動作が確認しやすい
あのテキストも必要だった
追加して
翻訳変わったからよろしく
翻訳追加になったから
やっといて
最大文字数いくつですか?
はみ出し確認したいんですけど
ここ字幕も出したいんだけど
企画
アート
このテキストの
全言語翻訳ください
プログラマだけでは対応しきれない!!!
概要-ポイント-
• 追加・編集が簡単、動作が確認しやすい
• どのセクションの人でも簡単に確認・設定できる
• 企画 :どの部分にテキストを表示するか決める
• レベル :レベルギミックでテキストを表示したい
• アニメーター :字幕表示したい
• UIアーティスト:表示される最大文字数を確認したい
:
テキスト・翻訳の追加方法、テキストの確認方法を
ドキュメント化しておけばプログラマの仕事が減る
概要-実装の流れ-
• StringTableにローカライズタグを設定
• LocalizationDashboardの作業
• ターゲットの追加
• カルチャーの追加
• テキストの収集→翻訳→コンパイル
• (テキストのインポート/エクスポート)
• Widgetにローカライズタグをセット
概要-実装の流れ-
• StringTableにローカライズタグを設定
→ローカライズ対象となるテキストを一覧で用意する
Widgetにセット
するときに使う
ローカライズタグ
としてデフォルト
言語に収集される
概要-実装の流れ-
• LocalizationDashboardの作業
→ローカライズ対象のテキストを集めて翻訳データを設定する
LoadingPolicyの設定(翻訳
のタイミング)→Always
翻訳対象の収集先設定
→StringTable
翻訳言語に対する操作
ターゲットの追加(翻訳
データのまとまり)
概要-実装の流れ-
• Widgetにローカライズタグをセット
→翻訳データが紐付いたローカライズタグを設定する
StringTableのNamespaceと
Keyで翻訳データを取得
実装手順(エディタ側)
実装手順-LocalizationDashboardの仕組み-
• デフォルト言語1つに対して、各種言語の翻訳データが紐づく
デフォルト言語
実装手順-LocalizationDashboardの仕組み-
こんにちは
Hello
GutenTag
Здравствуйте
Bonjour
「こんにちは」に「Hello」や「GutenTag」が
紐付いている
実装手順-LocalizationDashboardの仕組み-
ご機嫌いかが?
???
???
???
???
「こんにちは」から「ご機嫌いかが?」に書き換え
られると、紐付いていたテキストが切られる
実装手順-LocalizationDashboardの仕組み-
• デフォルト言語1つに対して、各種言語の翻訳データが紐づく
→使用しない言語をデフォルト言語にして固定する
デフォルト言語
実装手順-LocalizationDashboardの仕組み-
Knight_Greeting_01
こんにちは
Hello
GutenTag
Здравствуйтеローカライズタグに各言語の翻訳が紐付いている
実装手順-LocalizationDashboardの仕組み-
Knight_Greeting_01
ご機嫌いかが?
How Are You?
GutenTag
Здравствуйте
各言語の翻訳が変更されてもローカライズタグは変
わらないので紐付けが切られない
完成しているゲームに対して
LocalizationDashboardで対応
→デフォルト言語が書き換わらないため、
LocalizationDashboardを使うことで簡単
に多言語対応が可能
実装手順-LocalizationDashboardの仕組み-
開発中のゲームに対して
LocalizationDashboardで対応
→使いづらい。デフォルト言語の翻訳が
変わるとややこしくなるので工夫が必須
(デフォルト言語に使わない言語を設定す
るなど)
実装手順-実装の流れ-
• StringTableにローカライズタグを設定
• LocalizationDashboardの作業
• ターゲットの追加
• カルチャーの追加
• テキストの収集→翻訳→コンパイル
• (テキストのインポート/エクスポート)
• Widgetに設定
実装手順-ローカライズタグ設定-
実装手順-ローカライズタグ設定-
Namespace...
Dashboard上にテキストが収集されたときにここ
がソートの基準になるので意外と重要
実装手順-ローカライズタグ設定-
Key:Namespace内でプライマリ
SourceString:翻訳対象のテキストだが、ローカ
ライズタグとして扱う。
実装手順-ローカライズタグ設定-
CSV形式でImport/Exportが可能なのでExcelとか
でも管理ができる
実装手順-StringTableの運用ルール-
• アセット名とNamespace名
• ST_XXXXX
• KeyとSourceString
• 基本的に同じ文字列(※例外あり)
• アイテム名などある程度決まっているものは開発名
• NPCの会話などまったく未定なものは連番をふったもの
• 字幕は表示箇所別のタグ+ボイスの喋りだし数単語をつけたもの
Namespace内で、
・Key:プライマリ
・SourceString:セカンダリ
ではあるが、Namespaceの垣根なく両方と
もプライマリであったほうが後々便利
実装手順-実装の流れ-
• StringTableにローカライズタグを設定
• LocalizationDashboardの作業
• ターゲットの追加
• カルチャーの追加
• テキストの収集→翻訳→コンパイル
• (テキストのインポート/エクスポート)
• Widgetに設定
実装手順-LocalizationDashboard-
• GameTargetsの追加
→総合的にみるとターゲットは少ないほうがいい
実装手順-LocalizationDashboard-
• どこからテキストを収集するか設定
→ターゲット毎にStringTableのディレクトリを分けておく
実装手順-LocalizationDashboard-
• デフォルト言語を選定して追加
→ローカライズ対象以外の言語を設定する
実装手順-LocalizationDashboard-
• Gather->翻訳->Compile
実装手順-LocalizationDashboard-
• デフォルト言語の編集画面
Source : StringTableから収集されたテキスト
Translation : デフォルト言語の翻訳(ローカライズタグ)
実装手順-LocalizationDashboard-
• 日本語の編集画面
Source : デフォルト言語の翻訳(ローカライズタグ)
Translation : 日本語の翻訳データ
実装手順-LocalizationDashboard-
• 翻訳
→poファイル形式でインポート/エクスポートも可能
実装手順-おまけ .poファイル-
• Portable Object file
• 翻訳用のファイル形式(.pot, .mo などの仲間)
• Key:Value形式で翻訳データの入力が可能
• 1つのGameTargetにつき、1言語1poファイルができる
UI
(GameTarget)
UI.po
(デフォルト言語)
UI.po
(日本語)
UI.po
(ドイツ語)
実装手順-おまけ .poファイル-
• .poファイルの中身
実装手順-おまけ .poファイル-
• Poedit(poファイル編集用の無料ツール)
実装手順-LocalizationDashboard-
• 翻訳
→poファイル形式でインポート/エクスポートも可能
Gather→Export→翻訳→Import→Compile
企画 企画Publisher
実装手順-LocalizationDashboard-
• 翻訳
→poファイル形式でインポート/エクスポートも可能
1ターゲット(計2000ワード)にコンパイル -> 10分
5ターゲット(計2000ワード)にコンパイル -> 50分
→ワード数ではなくターゲット数に比例して時間がかかる
実装手順-GameTargetsの運用ルール-
• ターゲットの粒度
• ローカライズタグがプライマリにできるくらい
• なるべくターゲットは増やさない
• ターゲットに設定するStringTableの分類
• 更新頻度が高くなりそうなものはまとめる(無理)
• StringTableはターゲット毎にディレクトリをわける
※全ターゲットの翻訳データを一括で操作していたため、このよ
うな運用になった。更新されるターゲット数が少ないのであれば
必ずしも少なくする必要はない。
概要-実装の流れ-
• StringTableにローカライズタグを設定
• LocalizationDashboardの作業
• ターゲットの追加
• カルチャーの追加
• テキストの収集→翻訳→コンパイル
• (テキストのインポート/エクスポート)
• Widgetに設定
組み込み-Widgetに設定-
• 後から書き換える必要がない場合
→WidgetのUMG側で設定
組み込み-Widgetに設定-
• 後から書き換える必要がない場合
→WidgetのUMG側で設定
組み込み-Widgetに設定-
• 後から書き換える必要がない場合
→WidgetのUMG側で設定
設定するとエディタの設定言語に即時翻訳されるた
め、長さやサイズ感を確認しながら作業可能
※フォントのローカライズはされないので注意!
組み込み-Widgetに設定-
• 後から書き換える必要がある場合
→WidgetのBlueprint側で設定
組み込み-Widgetに設定-
• 後から書き換える必要がある場合
→WidgetのBlueprint側で設定
組み込み-Widgetに設定-
• マスターデータから設定
→FindTextInLocalizationTable()を使用する
ローカライズの流れまとめ
• StringTableのSourceStringがデフォルト言語のSourceになる
StringTableの編集画面 デフォルト言語の編集画面
ローカライズの流れまとめ
• デフォルト言語のTranslationが翻訳対象のSourceになる
デフォルト言語の編集画面 翻訳対象言語の編集画面
ローカライズの流れまとめ
• WidgetにStringTableのKeyを設定すると、翻訳対象の
Translationが表示される
StringTableの編集画面 翻訳対象言語の編集画面
設定手順(Config,C++側)
デフォルト言語に”使わない言語”を設定したことによる問題の解決
設定手順-おまけ 言語タグ-
言語 言語タグ
英語 en
フランス語 fr
フランス語
(カナダ)
fr-CA
スペイン語 es
スペイン語
(ラテンアメリカ)
es-419
言語 言語タグ
日本語 ja
ドイツ語 de
中国語
(簡体字)
zh-Hans
ロシア語 ru
ポルトガル語
(ブラジル)
pt-BR
設定手順-おまけ 言語タグ-
• 言語タグってなに?
• ハイフンによって接続された、
言語に関する下位タグの集まりのこと
language - script - region -…
言語 文字体系 地域
設定手順-おまけ 言語タグ-
• 言語タグの使い方は結構自由!
• よく使われるスタイル
• language下位タグのみ : ja, en, de,…
• language-region : en-UK, en-US, pt-BR,…
• その他スタイル
• language-script-region : zh-Hans-CN,…
設定手順-CultureMappingの変更-
オーストラリア英語の言語タグはen-AU
Windows10の設定画面
設定手順-CultureMappingの変更-
あっ…
設定手順-CultureMappingの変更-
• 検出された言語がデフォルト言語だった場合、ローカライズタ
グが表示されてしまう
SettingCulture = en-AU
ViewCulture = en-AU
そうなっちゃいますよね
設定手順-CultureMappingの変更-
• 検出された言語がデフォルト言語だった場合、ローカライズタ
グが表示されてしまっていた!!
• さらに…
設定手順-CultureMappingの変更-
言語 言語タグ
英語 en
フランス語 fr
フランス語
(カナダ)
fr-CA
スペイン語 es
スペイン語
(ラテンアメリカ)
es-419
言語 言語タグ
日本語 ja
ドイツ語 de
中国語
(簡体字)
zh-Hans
ロシア語 ru
ポルトガル語
(ブラジル)
pt-BR
アルゼンチンとかチリとかではスペイン
語(ラテンアメリカ)を表示してほしい…
ポルトガルではポルトガル語(ブラジ
ル)を表示してほしい…
設定手順-CultureMappingの変更-
• 検出された言語がデフォルト言語だった場合、ローカライズタ
グが表示されてしまう
• さらに…
• 検出された言語がローカライズ対象じゃないときは、
Publisherの要望に沿った言語に書き換える必要がでた!
設定手順-CultureMappingの変更-
• 翻訳対象ではない言語が設定されていた場合、
設定された言語のlanguage下位タグの翻訳になる
en
en-UK en-US en-AU en-US設定 → en-USの翻訳
en-UK設定 → enの翻訳
en-AU設定 → enの翻訳
翻訳あり 翻訳なし
設定手順-CultureMappingの変更-
• enとen-AU(デフォルト言語)の翻訳データがある場合
en
en-UK en-US en-AU
en-UK, en-USの設定のときはenの翻訳に
自動的なるが、en-AUのときもenの翻訳
にしてほしい!
翻訳あり 翻訳なし
こうしたい
設定手順-CultureMappingの変更-
• エンジンとConfigに処理を追加
• Config
自前のCultureMappingの設定を記述
• EngineCode
検出した言語をCultureMappingに登録されている言語で
上書き
設定手順-CultureMappingの変更-
• ~XXXXConfig_Platform__Platform_Game.ini
• Internationalization.CultureMappingは検出用の文字列
• 検出された言語がen-AUのときにenに変更する
• 左辺は各プラットフォーム側の言語タグ(※UE4の言語タグとは異なる
可能性があるので、プラットフォームのドキュメント参照)
• 右辺はUE4側の言語タグ
[Internationalization.CultureMappings]
en-AU=en
設定手順-CultureMappingの変更-
• UE4EngineSourceRuntimeCorePrivate
InternationalizationTextLocalizationManager.cpp
• ReadSettingsFromConfigにCultureMappingsの
取得処理を追加
• 検出された言語のバリデート処理が入る前でCultureMappings
を照らし合わせて上書きする
設定手順-CultureMappingの変更-
• UE4EngineSourceRuntimeCorePrivate
InternationalizationTextLocalizationManager.cpp
設定手順-CultureMappingの変更-
• 社内に書き換えのノウハウがあったため、それを少しアレンジ
して流用
• ※UE4公式の書き換え方法もあります。
(https://dq8iqaixvew1d.cloudfront.net/en-
US/Gameplay/Localization/ManageActiveCultureRuntime/index.html#cultureremapping)
設定手順-FallbackCultureの設定-
• 検出した言語がローカライズ対象外の言語の場合、デフォルト
言語がそのまま表示されてしまう
SettingCulture = it
ViewCulture = en-AU
そうなっちゃいますよね
設定手順-FallbackCultureの設定-
• 例
Knight_Greeting_01
こんにちは
Hello
Здравствуйте
Bonjour
日本語(ja)
英語(en)
ロシア語(ru)
フランス語(fr)
デフォルト言語(en-AU)
設定手順-FallbackCultureの設定-
• 例
language=ru で起動
(本体設定をロシア語で起動)
Knight_Greeting_01
こんにちは
Hello
Здравствуйте
Bonjour
日本語(ja)
英語(en)
ロシア語(ru)
フランス語(fr)
デフォルト言語(en-AU)
設定手順-FallbackCultureの設定-
• 例
language=it で起動
(本体設定をイタリア語で起動)
Knight_Greeting_01
こんにちは
Hello
Здравствуйте
Bonjour
デフォルト言語(en-AU)
日本語(ja)
英語(en)
ロシア語(ru)
フランス語(fr)
設定手順-FallbackCultureの設定-
• エンジンとConfigに処理を追加
• Config
翻訳対象外の言語が選択されたとき用の言語を設定
• EngineCode
翻訳対象外を検出し設定された言語で上書き
設定手順-FallbackCultureの設定-
• ~XXXXConfig_Platform__Platform_Game.ini
• InternationalizationとFallbackCultureは検出用の文字列
• 翻訳対象外の言語時にenで上書きする
[Internationalization]
FallbackCulture=en
設定手順-FallbackCultureの設定-
• UE4EngineSourceRuntimeCorePrivate
InternationalizationTextLocalizationManager.cpp
• ReadSettingsFromConfigにFallbackCultureの取得処理を追加
• FallbackLanguageがデフォルト言語に設定される処理がある
ので、そこで自前のFallBackCultureが設定されていればそち
らを優先するように処理追加
• ※FallbackLanguageは元々UE4にある変数
設定手順-FallbackCultureの設定-
• UE4EngineSourceRuntimeCorePrivate
InternationalizationTextLocalizationManager.cpp
応用-設定編-
応用-1つのキーに対して複数の値-
• マスターデータに複数の翻訳キーを持たせるのはややこしい…
→IDなどに紐づくキーに関しては別々に用意する必要はない
かさばりがちなマスターデータのカラムを削減
応用-1つのキーに対して複数の値-
ItemA
(開発名など)
ItemAの名前
ItemAの説明
こっちをキーにする
• NamespaceとSourceStringを分けKeyは同じにする
応用-1つのキーに対して複数の値-
• NamespaceとSourceStringを分けKeyは同じにする
応用-1つのキーに対して複数の値-
Namespaceが異なるため_Nameや_Infoは付ける必要はないが、これらの
SourceStringをダッシュボードで同じターゲットにしてテキストを収集す
るとSourceStringが混ざってややこしいので_Nameとか_Infoを付ける
→翻訳やデバッグのわかりやすさを考慮
• マスターからキーを取得してNameSpaceだけ指定する
応用-1つのキーに対して複数の値-
応用-翻訳内の一部を可変させる-
• テキストの一部分を可変的に扱いたい
ローカライズタグを削減
応用-翻訳内の一部を可変させる-
• 翻訳データ側に識別用のテキストをおいてもらって検出し、
参照したパラメータに置き換える
String =
敵を[n]体倒す
n=10
Array[] =
{‘敵を’, n, ‘体倒す’}
String =
敵を10体倒す
マスターから取得 翻訳データを分解して
可変部分を検出
置き換えて出力
Task_DefeatEnemy
翻訳データ取得
応用-翻訳内の一部を可変させる-
• 翻訳データ側に識別用のテキストをおいてもらって検出し、
参照したパラメータに置き換える
String =
敵を[n]体倒す
n=10
Array[] =
{‘敵を’, n, ‘体倒す’}
String =
敵を10体倒す
マスターから取得 翻訳データを分解して
可変部分を検出
置き換えて出力
Task_DefeatEnemy
翻訳データ取得
FindTextInLocalizationTable()
応用-翻訳内の一部を可変させる-
• 翻訳データ側に識別用のテキストをおいてもらって検出し、
参照したパラメータに置き換える
String =
敵を[n]体倒す
n=10
Array[] =
{‘敵を’, n, ‘体倒す’}
String =
敵を10体倒す
マスターから取得 翻訳データを分解して
可変部分を検出
置き換えて出力
Task_DefeatEnemy
翻訳データ取得
ParseIntoArray()
Split()
応用-翻訳内の一部を可変させる-
• 翻訳データ側に識別用のテキストをおいてもらって検出し、
参照したパラメータに置き換える
String =
敵を[n]体倒す
n=10
Array[] =
{‘敵を’, n, ‘体倒す’}
String =
敵を10体倒す
マスターから取得 翻訳データを分解して
可変部分を検出
置き換えて出力
Task_DefeatEnemy
翻訳データ取得
Append()
応用-翻訳内の一部を画像にする-
• チュートリアルなど、文章中にボタンの画像を入れたい!
RichTextBlock?
なにそれ?
参考:
https://www.unrealengine.com/ja/tech-blog/advanced-text-styling-with-rich-text-block
https://docs.unrealengine.com/en-US/Engine/UMG/UserGuide/UMGRichTextBlock/index.html
応用-翻訳内の一部を画像にする-
• チュートリアルなど、文章中にボタンの画像を入れたい!
• ただこれには問題が…
応用-翻訳内の一部を画像にする-
• 画像を入れるとUE4のテキストボックスの機能
[AutoWrapText]は使えなくなる!!
• それでもいい!とにかく文章中に画像を入れたいんだ!!
改行は翻訳側に明示するから画像を入れさせてくれ!!
応用-翻訳内の一部を画像にする-
• VerticalBox内に明示的に改行された数だけHorizontalBoxを作る
応用-翻訳内の一部を画像にする-
• HorizontalBox内にテキストと画像を詰めていく
応用-翻訳内の一部を画像にする-
• 処理の流れ
• 翻訳データから画像の識別テキストを検出
• テキスト部分と画像部分がわかるように配列に格納
• テキストや画像を作りながらHorizontalBoxに詰める
• 改行用識別テキストの場合はHorizontalBoxを新たに作る
• VerticalBoxにHorizontalBoxを詰める
応用-翻訳内の一部を画像にする-
• 翻訳データ側に識別用のテキストをおいてもらって検出する
String = ‘普通の攻撃は
[Btn_A][BR]強い攻撃は
[Btn_B][BR]で出ます’
Array[] = {
‘普通の攻撃は’,
Btn_A,
BR,
‘強い攻撃は’,
Btn_B,
BR,
‘で出ます’
}
翻訳データを分解して
可変部分を検出
翻訳データ取得
Btn_A
Btn_B
:
マスターから取得
Tutorial_Attack
識別テキスト
応用-翻訳内の一部を画像にする-
• 識別用テキストによって、HorizontalBoxやテキストや画像を
生成する
生成された要素をHorizontalBoxに、
HorizontalBoxをVerticalBoxに格納
配列の各要素を生成翻訳データを分解して
可変部分を検出
Array[] = {
‘普通の攻撃は’,
Btn_A,
BR,
‘強い攻撃は’,
Btn_B,
BR,
‘で出ます’
}
テキストの生成
画像の生成
HorizontalBox
の生成
普通の攻撃は
強い攻撃は
で出ます
応用-翻訳内の一部を画像にする-
• VerticalBoxの設定用変数
• EVerticalAlignment:VerticalBoxのアライン
• HorizontalBoxの設定用変数
• EHorizontalAlignment:HorizontalBoxのアライン
• テキストの設定用変数
• SlateFontInfo:フォント、サイズなど
• SlateColor:フォントの色
• float x2:テキストの上下の幅(Padding用)
• 画像の設定用変数
• Vector2D:画像のサイズ
• float x2:画像の左右の幅(Padding用)
応用-Mediaplayerに字幕-
Localized Overlays?
Basic Overlays?
なにそれ?
公式ドキュメントがない!!!!!
応用-MediaPlayer中に字幕を表示-
• TimeLineを追加
応用-MediaPlayer中に字幕を表示-
• TimelineにEventTrackを作成しキーを置く
応用-MediaPlayer中に字幕を表示-
• キーは横軸が字幕開始タイミング(Valueは適当)
応用-MediaPlayer中に字幕を表示-
• Mediaの再生とともにTimelineを起動(Play)
• Timelineに実行ピンが追加される
(Subtitle)
• Timeline上の表示タイミングに合
わせて、処理が実行される
• 出てきたタイミングで字幕Widget
の表示を行う
応用-MediaPlayer中に字幕を表示-
• 表示する字幕テキストと表示秒数は予め配列で持っておき、カ
ウンタ変数で配列番号を指定して表示
注意点
注意点-StringTableの読み込み-
• マスターデータからキーを取得して表示!
注意点-StringTableの読み込み-
• あれぇ…?
設定
ローカライズデータがみつからない
ローカライズデータがみつからない
ローカライズデータがみつからない
ローカライズデータがみつからない
注意点-StringTableの読み込み-
• FindTextInLocalizationTable()を呼ぶだけではロードされない
• 変数や初期値に設定するなどしてメモリに読み込
んでおく必要があります。
注意点-デフォルト言語の選定-
• ローカライズ対象にできる言語は多い(言語タグ)
注意点-デフォルト言語の選定-
•ニャンコレ語(nyn)
・響きがかわいい!
・言語タグもかわいい!!
• デフォルト言語に採用!!!
注意点-デフォルト言語の選定-
•ニャンコレ語(nyn)
・響きがかわいい
・言語タグもかわいい
• デフォルト言語に採用!
某コンソールの
Buildが通らない
注意点-デフォルト言語の選定-
• ニャンコレ語(nyn)
・響きがかわいい
・言語タグもかわいい
• デフォルト言語に採用!
• マイナーすぎる言語は避けましょう。
オーストラリア英語
でいいんじゃない?
注意点-GameTargetsの数-
• GameTargetsを分けて翻訳データの管理をしや
すくしよう!
• GameTargetsを細かい粒度で設定!
翻訳データを反映するぞ!
注意点-GameTargetsの数-
• GameTargetsを分けて翻訳データの管理をしや
すくしよう!
• GameTargetsを細かい粒度で設定!
翻訳データを反映するぞ!
GameTargets数に比例して
コンパイル時間が増える
注意点-GameTargetsの数-
• GameTargetsを分けて翻訳データの管理をしやすくしよう!
• GameTargetsを細かい粒度で設定!
• むやみに増やさないようにしましょう。
注意点-デフォルトターゲットの扱い-
• デフォルトで用意されているターゲットGame
注意点-デフォルトターゲットの扱い-
•自分たちの任意の粒度でターゲットを設定
しよう!
• デフォルトであったターゲットGameは使わない!削除!
注意点-デフォルトターゲットの扱い-
•自分たちの任意の粒度でターゲットを設定
しよう!
• デフォルトであったターゲットGameは使わない!削除!パッケージに翻訳データが
一切入らなくなる
注意点-デフォルトターゲットの扱い-
• パッケージの設定を確認してみたところ…
注意点-デフォルトターゲットの扱い-
• パッケージングの設定を確認してみたところ…
翻訳対象の言語に黄色い
ビックリマークがついてる
注意点-デフォルトターゲットの扱い-
• パッケージングの設定を確認してみたところ…
• どうやら他にターゲットがあっても、デフォルトターゲットの
Gameからローカライズ言語を取得しているらしい…
注意点-デフォルトターゲットの扱い-
• 自分たちの任意の粒度でターゲットを設定
• デフォルトであったターゲットGameいらない!削除!
• 削除しないで最低限の状態でおいておきましょう。
まとめ
まとめ
• UE4だけでローカライズを実装!
• デフォルト言語に”使わない言語”を設定することで翻訳データ
の変更に強い実装になった
→要エンジンの改造
• タグの追加(StringTable)、ローカライズの確認(UE4Editor)、
タグのセット(Blueprint,C++)が誰でも容易
→要ワークフロー整備、ドキュメント化
まとめ
• UE4だけでローカライズを実装!
• デフォルト言語に”使わない言語”を設定することで翻訳データ
の変更に強い実装になった
• タグの追加(StringTable)、ローカライズの確認(UE4Editor)、
タグのセット(Blueprint,C++)が誰でも容易
• 新しい機能の追加や隠された機能の情報には敏感に!!
おまけもあるよ!
本編に入らなかったおまけ
地域によるボタンの入れ替え
• 日本では決定ボタンは右ボタンがオーソドックスだが、他国で
は下ボタンが多い
地域によるボタンの入れ替え
• FPlatformInput::GetGamepadAcceptKey().GetFName()
• Gamepad_FaceButton_Bottom
• Gamepad_FaceButton_Left
• 決定ボタンの位置が分かれば、それに合わせてKeyMapを書き
換えるだけ!
ローカライズの対象
• ゲームのタイトル画面での「Press Any Button」
• 新しいコンテンツが追加されたときの「New」
• などなど…
• 英語→日本語に”あえてしない”という選択肢もある。
ゲームの雰囲気やゲームの年齢層に沿ってローカライ
ズ対象を決めるのがいい(フランス語圏は知らない)
おまけもあるよ!
ほろかわいい!

Más contenido relacionado

La actualidad más candente

50分でわかるブループリントについて
50分でわかるブループリントについて50分でわかるブループリントについて
50分でわかるブループリントについてMasahiko Nakamura
 
Editor Utility Widgetで色々便利にしてみた。
Editor Utility Widgetで色々便利にしてみた。Editor Utility Widgetで色々便利にしてみた。
Editor Utility Widgetで色々便利にしてみた。IndieusGames
 
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてcom044
 
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい![UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!com044
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-Tatsuya Iwama
 
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-com044
 
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERSAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
UE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないことUE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないことSatoshi Kodaira
 

La actualidad más candente (20)

50分でわかるブループリントについて
50分でわかるブループリントについて50分でわかるブループリントについて
50分でわかるブループリントについて
 
【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について
 
Editor Utility Widgetで色々便利にしてみた。
Editor Utility Widgetで色々便利にしてみた。Editor Utility Widgetで色々便利にしてみた。
Editor Utility Widgetで色々便利にしてみた。
 
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られたNintendo Switch『OCTOPATH TRAVELER』はこうして作られた
Nintendo Switch『OCTOPATH TRAVELER』はこうして作られた
 
UE4.25 Update - Unreal Insights -
UE4.25 Update - Unreal Insights -UE4.25 Update - Unreal Insights -
UE4.25 Update - Unreal Insights -
 
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動についてUE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
UE4プログラマー勉強会 in 大阪 -エンジンの内部挙動について
 
[UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい![UE4]自動テストでもっと楽したい!
[UE4]自動テストでもっと楽したい!
 
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
メカアクションゲーム『DAEMON X MACHINA』 信念と血と鋼鉄の開発事例
 
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
UE4 コリジョン検証 -HitとOverlapイベントが発生する条件について-
 
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
 
UE4におけるレベル制作事例
UE4におけるレベル制作事例  UE4におけるレベル制作事例
UE4におけるレベル制作事例
 
猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について猫でも分かる UE4の新しいサンプル「Action RPG」について
猫でも分かる UE4の新しいサンプル「Action RPG」について
 
なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -なぜなにFProperty - 対応方法と改善点 -
なぜなにFProperty - 対応方法と改善点 -
 
UE4ローカライズ事例 (UE4 Localization Deep Dive)
UE4ローカライズ事例 (UE4 Localization Deep Dive)UE4ローカライズ事例 (UE4 Localization Deep Dive)
UE4ローカライズ事例 (UE4 Localization Deep Dive)
 
UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編UE4における大規模背景制作事例 最適化ワークフロー編
UE4における大規模背景制作事例 最適化ワークフロー編
 
猫でも分かるUMG
猫でも分かるUMG猫でも分かるUMG
猫でも分かるUMG
 
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERSAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
 
[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい
 
UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順
 
UE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないことUE4のレイトレで出来ること/出来ないこと
UE4のレイトレで出来ること/出来ないこと
 

Similar a 最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)

Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことKatsutoshi Makino
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境Fumihito Yokoyama
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaHiroshi Sakate
 
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化Fujio Kojima
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミングYuma Ohgami
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)泰 増田
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2specialKatsuhito Katoh
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developer Camp 2012 Japan Fall
 
20130316 プログラミング言語Go
20130316 プログラミング言語Go20130316 プログラミング言語Go
20130316 プログラミング言語GoYoshifumi Yamaguchi
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組みTakayuki Shimizukawa
 
20160619_LPICl304 技術解説セミナー in AP浜松町
20160619_LPICl304 技術解説セミナー in AP浜松町20160619_LPICl304 技術解説セミナー in AP浜松町
20160619_LPICl304 技術解説セミナー in AP浜松町Takahiro Kujirai
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」ericsagnes
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版Masami Yabushita
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another ApproachDaisuke Miyakawa
 
デスクトップ アプリがこの先生きのこるには (2)
デスクトップ アプリがこの先生きのこるには (2)デスクトップ アプリがこの先生きのこるには (2)
デスクトップ アプリがこの先生きのこるには (2)Manato KAMEYA
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot FrameworkKazumi IWANAGA
 
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使うAtsushi Hayakawa
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングRyohei Kamiya
 

Similar a 最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive) (20)

Unity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだことUnity * スマートフォン開発で学んだこと
Unity * スマートフォン開発で学んだこと
 
密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境密着!わたしのコンソールアプリ開発環境
密着!わたしのコンソールアプリ開発環境
 
ここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alphaここが変わったTizen sdk2.0alpha
ここが変わったTizen sdk2.0alpha
 
Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化Visual Studio による開発環境・プログラミングの進化
Visual Studio による開発環境・プログラミングの進化
 
UEFIベアメタルプログラミング
UEFIベアメタルプログラミングUEFIベアメタルプログラミング
UEFIベアメタルプログラミング
 
Firefox OS アプリ開発
Firefox OS アプリ開発Firefox OS アプリ開発
Firefox OS アプリ開発
 
Python languageupdate (2004)
Python languageupdate (2004)Python languageupdate (2004)
Python languageupdate (2004)
 
Dev camp2012jpn day2special
Dev camp2012jpn day2specialDev camp2012jpn day2special
Dev camp2012jpn day2special
 
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
Developr Camp 2012 Japan Fall Day2 Special Session - Visual Studio 2012 で始める ...
 
20130316 プログラミング言語Go
20130316 プログラミング言語Go20130316 プログラミング言語Go
20130316 プログラミング言語Go
 
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
Sphinxで作る貢献しやすいドキュメント翻訳の仕組みSphinxで作る貢献しやすいドキュメント翻訳の仕組み
Sphinxで作る貢献しやすい ドキュメント翻訳の仕組み
 
20160619_LPICl304 技術解説セミナー in AP浜松町
20160619_LPICl304 技術解説セミナー in AP浜松町20160619_LPICl304 技術解説セミナー in AP浜松町
20160619_LPICl304 技術解説セミナー in AP浜松町
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
Firefox OSアーキテクチャクイックツアー - FxOSコードリーディングミートアップ#21向け追記版
 
"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach"Continuous Publication" with Python: Another Approach
"Continuous Publication" with Python: Another Approach
 
デスクトップ アプリがこの先生きのこるには (2)
デスクトップ アプリがこの先生きのこるには (2)デスクトップ アプリがこの先生きのこるには (2)
デスクトップ アプリがこの先生きのこるには (2)
 
TypeScript x Bot Framework
TypeScript x Bot FrameworkTypeScript x Bot Framework
TypeScript x Bot Framework
 
Visual Studio CodeでRを使う
Visual Studio CodeでRを使うVisual Studio CodeでRを使う
Visual Studio CodeでRを使う
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 

Más de エピック・ゲームズ・ジャパン Epic Games Japan

『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 

Más de エピック・ゲームズ・ジャパン Epic Games Japan (20)

初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
 
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
 
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめUnreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
 
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
 
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
 
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)
 
Hair Groom入門 (UE4 Character Art Dive Online)
Hair Groom入門 (UE4 Character Art Dive Online)Hair Groom入門 (UE4 Character Art Dive Online)
Hair Groom入門 (UE4 Character Art Dive Online)
 
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive OnlineUE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
 
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
 
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMERVisual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
 
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
Unreal Engineでのコンフィギュレーター制作と映像制作  UNREAL FEST EXTREME 2021 SUMMERUnreal Engineでのコンフィギュレーター制作と映像制作  UNREAL FEST EXTREME 2021 SUMMER
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
 
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏  UNREAL FEST EXTREME 2021 SUMMERバレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏  UNREAL FEST EXTREME 2021 SUMMER
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
 
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
 
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
 
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
UE4を使用したバーチャルヒューマンの映像制作  UNREAL FEST EXTREME 2021 SUMMERUE4を使用したバーチャルヒューマンの映像制作  UNREAL FEST EXTREME 2021 SUMMER
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
 
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMERオンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
 
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書  UNREAL FEST EXTREME 2021 SUMMERMetaHumanサンプル解体新書  UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
 
Twinmotion 2021とAEC分野向けソリューションのご紹介
Twinmotion 2021とAEC分野向けソリューションのご紹介Twinmotion 2021とAEC分野向けソリューションのご紹介
Twinmotion 2021とAEC分野向けソリューションのご紹介
 
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
 

最新UE4タイトルでのローカライズ事例 (UE4 Localization Deep Dive)