1:解决的问题
Android获取unity 中Texture的纹理数据。尝试过传递参数的方式解决问题,发现效率太低。目前解决方案是传递texture纹理指针,Android 通过纹理指针绑定,然后获取纹理数据。
2:注意的问题
unity需要关闭多线程渲染.
3:关键代码
unity
/// <summary>
/// 设置共享纹理ID
/// Android 端需要调用
/// </summary>
/// <param name="ptr"></param>
/// <param name="w"></param>
/// <param name="h"></param>
public static void SetPtr(long ptr, int w, int h)
{
mediapipeJavaBridge.CallStatic("SetNativeTexturePtr", ptr, w, h);
}
//获取图片数据
public static void DetectHandPose()
{
mediapipeJavaBridge.CallStatic("DetectImg");
}
Java
//绑定纹理指针
public void BindTexture(int textureID1, int w, int h) {
unityContext = EGL14.eglGetCurrentContext();
unityDisplay = EGL14.eglGetCurrentDisplay();
if (unityContext == EGL

本文介绍了如何在Unity中通过传递Texture指针来提高从Android获取Texture数据的效率,同时强调了关闭多线程渲染的重要性,并提供了关键代码片段,包括设置共享纹理ID、绑定纹理和获取纹理数据的步骤。

1616

被折叠的 条评论
为什么被折叠?



