java - Android 到虚幻引擎接口(interface) (C++)

标签 java android c++ gps

我应该如何将相机/GPS 信息从 Android 设备获取到虚幻引擎?我到处都搜索过,但不知道如何继续。

我是否需要为 Android 编写一个通过 JNI 与 Unreal 通信的 Java 应用程序,或者是否有更直接的方法通过包含库来通过 C++ 访问 Unreal 中的相机/GPS?

是否有任何 API 可以弥补这一差距?

谢谢!

最佳答案

假设您使用的是 UE4。 Unreal Engine4 的概念是可以由 C++ 代码使用的模块,而不依赖于平台(只要可能)。

基本上,您需要创建一个具有 C++ 接口(interface)和针对不同平台的实现的模块。您的模块很可能位于 /Engine/Source/Runtime/<module_name> 中。它必须包含 <module_name>.Build.cs UnrealBuildTool 的文件和两个文件夹:PublicPrivate 。第一个将包含 header 以及所需功能的界面。 Private应包含特定平台的文件夹集,例如Android , IOS 。每个平台都应该实现接口(interface)中描述的功能。对于 Android,您必须使用 JNI 绑定(bind),对于 iOS,您将需要对 iPhoneSDK 进行 native Objective-C 调用。 这里棘手的部分是为所有平台定义通用接口(interface),该接口(interface)将设置给定的功能并使用其所有必需的功能。

有关引用,您可以查看 WebBrowser该模块具有独立的 android 实现和 unreal 的新 JNI 包装器。

附注您创建的模块可以作为拉取请求推送到 UE4 存储库。当其他人需要与您相同的功能时,这将对其有所帮助。

关于java - Android 到虚幻引擎接口(interface) (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652999/

相关文章:

java - ArrayList 与队列时间复杂度

java - JPA 在使用 FlushModeType.AUTO 进行 native 查询之前不会刷新

c++ - 是否可以使用c++获取与WinCE中指定进程关联的所有Dll的内存使用情况?

c++ - 错误 : invalid conversion from 'void (*)()' to 'void (*)()' -- what?

java - 为什么 Map 中的键必须是对象而不是原始类型,为什么我不能使用原始类型作为 map 中的键

java - 如何在Google-Guice中实现动态绑定(bind)?

android - 如何直接打开图库应用挑选图片

android - 在 Gradle 中禁用 jCenter 存储库

android - 容器如何传递给 fragment ?

c++ - 从主进程执行多个进程