Unreal Engine 5
このガイドでは、Hive SDKをインストールした後に実行するタスクについて説明します。
画面の自動回転機能を設定する¶
画面の向きを両方向(横向きと縦向き)に設定する場合、次の構成が必要です。
アンドロイド¶
Androidアプリのビルドで画面の向きを両方の方向(横向きと縦向き)に設定したときに、画面の自動回転機能が正しく動作するようにするには、以下のコードの修正が必要です。
- /Engine/Build/Android/Java/src/com/epicgames/unreal/GameActivity.java.templateに移動します。
HiveActivity.onConfigurationChanged()
APIを追加します。@Override public void onConfigurationChanged(Configuration newConfig) { HiveActivity.onConfigurationChanged(this, newConfig); // 追加 super.onConfigurationChanged(newConfig); // 向きを前方に進める boolean bPortrait = newConfig.orientation == Configuration.ORIENTATION_PORTRAIT; nativeOnConfigurationChanged(bPortrait); }
iOS¶
Hive SDK Unreal Engine 5 iOSの画面自動回転に追加の設定は必要ありません。
Xcodeビルドの変更(iOS)¶
Hive SDK v4を適用するには、Xcodeビルドシステムをレガシービルドに変更する必要があります。以下のように、左パネルのプロジェクト設定 > プラットフォーム > Xcodeプロジェクトセクションで最新のXcodeのチェックを外してください。
HIVEAppDelegateを適用する (iOS)¶
iOS開発環境でHive SDKを使用するには、Swizzlingを使用してAppDelegateを修正します。アプリが起動する際の初期化段階で以下のコードを追加してください。
////////////////////////////////////////////////////////////////
// Add IOSAppDelegate.h header
#if PLATFORM_IOS
#include "Runtime/ApplicationCore/Public/iOS/IOSAppDelegate.h"
#endif
////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
// Additional AppDelegate code
#if PLATFORM_IOS
UIApplication * dummyApplication = [UIApplication sharedApplication];
Class clzHIVEAppDelegate = NSClassFromString(@"HIVEAppDelegate");
SEL selApplicationDidFinishLaunchingWithOptions = NSSelectorFromString(@"application:didFinishLaunchingWithOptions:");
if( clzHIVEAppDelegate != nil && [clzHIVEAppDelegate respondsToSelector:selApplicationDidFinishLaunchingWithOptions] ) {
NSMethodSignature *method = [clzHIVEAppDelegate methodSignatureForSelector:selApplicationDidFinishLaunchingWithOptions];
if (method != nil) {
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:method];
[invocation setSelector:selApplicationDidFinishLaunchingWithOptions];
[invocation setTarget:clzHIVEAppDelegate];
[invocation setArgument:(void*)&dummyApplication atIndex:2];
NSDictionary *localLaunchOptions = [IOSAppDelegate GetDelegate].launchOptions;
if( localLaunchOptions != nil ) {
[invocation setArgument:(void*)&localLaunchOptions atIndex:3];
}
[invocation invoke];
}
}
#endif
////////////////////////////////////////////////////////////////
FmallocAnsi (iOS)の設定¶
Unreal Engine iOSとC++標準テンプレートライブラリの互換性を確保するために、FMallocAnsi設定が必要です。次のコードをアプリプロジェクトの{YourProject}.Target.csファイルに追加してください。