Angenommen, Sie verwenden UE4. Das Konzept von Unreal Engine4 ist Module, die von C++ - Code unabhängig von der Plattform verwendet werden können (wann immer es möglich ist).
Grundsätzlich müssen Sie ein Modul mit C++ - Schnittstelle und Implementierungen für verschiedene Plattformen erstellen. Ihr Modul wird höchstwahrscheinlich in der /Engine/Source/Runtime/<module_name>
sein. Es muss <module_name>.Build.cs
Datei für das UnrealBuildTool und zwei Ordner enthalten: Public
und Private
. Der erste enthält Header mit Ihrer Schnittstelle der erforderlichen Funktionalität. Private
sollte Satz von Ordnern für bestimmte Plattformen enthalten, z. Android
, IOS
. Jede Plattform sollte die in der Schnittstelle beschriebene Funktionalität implementieren. Für Android müssen Sie JNI-Bindungen verwenden, für iOS benötigen Sie native Objective-C-Aufrufe für das iPhoneSDK. Der knifflige Teil hier ist die Definition einer gemeinsamen Schnittstelle für alle Plattformen, die sowohl die gegebene Funktionalität einrichten als auch alle erforderlichen Funktionen davon verwenden werden.
Für Referenzen können Sie WebBrowser
Modul überprüfen, das separate Android-Implementierung mit unreal neuen JNI-Wrapper hat.
P.S. Von Ihnen erstellte Module können Sie als Pull-Request an das UE4-Repository senden. Dies wird anderen helfen, wenn sie dieselbe Funktionalität benötigen wie Sie.