我在ARKit 2.0中使用UnityARKitPlugin。有一个环境纹理的示例-UnityAREnvironmentTexture。内部有一个名为ReflectionProbeGameObject.cs的类。该闩锁纹理来自UpdateEnvironmentProbe方法中的environmentProbeAnchor.Cubemap。我将此代码添加到Update()中,以将latchedTexture作为6 png图像保存到手机应用程序数据中,但是保存的全部是6幅黑色图像。
Texture2D tex = new Texture2D (latchedTexture.width, latchedTexture.height, TextureFormat.RGB24, false);
CubemapFace[] faces = new CubemapFace[] {
CubemapFace.PositiveX, CubemapFace.NegativeX,
CubemapFace.PositiveY, CubemapFace.NegativeY,
CubemapFace.PositiveZ, CubemapFace.NegativeZ
};
foreach (CubemapFace face in faces) {
tex.SetPixels (latchedTexture.GetPixels (face));
tex.Apply ();
byte[] data = tex.EncodeToPNG ();
if (data != null) {
File.WriteAllBytes (Application.persistentDataPath + "/" + latchedTexture.name + face.ToString () + ".png", data);
}
}
是否甚至可以将这样的立方体贴图保存到6张照片中?是否有人尝试查看ARKit的ML算法返回的立方图是什么?