【发布时间】:2016-08-07 18:31:43
【问题描述】:
我应该如何将相机/GPS 信息从 Android 设备获取到虚幻引擎?我到处搜索,但我不知道如何继续。
我是为 Android 编写一个通过 JNI 与 Unreal 通信的 Java 应用程序,还是有更直接的方法通过 C++ 通过包含库从 Unreal 访问相机/GPS?
是否有任何 API 已经弥合了这一差距?
谢谢!
【问题讨论】:
我应该如何将相机/GPS 信息从 Android 设备获取到虚幻引擎?我到处搜索,但我不知道如何继续。
我是为 Android 编写一个通过 JNI 与 Unreal 通信的 Java 应用程序,还是有更直接的方法通过 C++ 通过包含库从 Unreal 访问相机/GPS?
是否有任何 API 已经弥合了这一差距?
谢谢!
【问题讨论】:
假设您使用的是 UE4。 Unreal Engine4 的概念是 C++ 代码可以使用的模块,不依赖于平台(只要可能)。
基本上你需要为不同平台创建一个具有 C++ 接口和实现的模块。您的模块很可能在/Engine/Source/Runtime/<module_name> 中。它必须包含 UnrealBuildTool 的 <module_name>.Build.cs 文件和两个文件夹:Public 和 Private。第一个将包含带有所需功能接口的标题。 Private 应该包含一组特定平台的文件夹,例如Android,IOS。每个平台都应该实现接口中描述的功能。对于 android,您必须使用 JNI 绑定,对于 iOS,您将需要对 iPhoneSDK 的本机 Objective-C 调用。
这里棘手的部分是为所有平台定义通用接口,这些接口既可以设置给定的功能,也可以使用它的所有必需特性。
对于参考,您可以检查WebBrowser 模块,该模块具有单独的android 实现和虚幻的新JNI 包装器。
附:您创建的模块可以作为拉取请求推送到 UE4 存储库。当其他人需要与您相同的功能时,这将对其有所帮助。
【讨论】: