我想在Arcore中显示2d png图像。我不想使用obj,.smf,imgdb文件和3D图像。我已经提到了很多链接,但是没有一个链接显示如何使用Arcore仅显示2d png图像。
答案 0 :(得分:5)
如果使用ViewRenderable of Sceneform,则可以像标准android小部件一样,从2D png图像在AR空间中创建墙。
这是ViewRenderable的布局xml的示例。如您所知,这只是Android应用程序的布局xml;)
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/imageCard"
android:layout_width="123dp"
android:layout_height="197dp"
android:src="@drawable/Your_Image_Resource" />
您可以在Java代码中获取ImageView实例,如下所示,以动态设置源图像。
ViewRenderable.builder()
.setView(fragment.getContext(), R.layout.imgboard)
.build()
.thenAccept(renderable -> {
ImageView imgView = (ImageView)renderrable.getView();
});
答案 1 :(得分:0)
我制作了一个免费应用,可平铺数百个png文件(供计算机科学教授使用)。您可以在大约2x4米的大区域中尝试使用:https://play.google.com/store/apps/details?id=a.FlatKmapAR
首先,以HelloAR示例为例,用只是一个正方形对象(少于10行文本)的square.obj替换Andy.obj文件,然后用您的square.png文件替换Andy.png。因为他们使用wave对象格式,所以这是我知道如何做的最简单的方法。一旦知道了,就可以平铺它们以创建带有多个正方形的grid.obj,依此类推...
答案 2 :(得分:0)
是的,除了至少一个vn来定义法线之外,实际上它还需要一些vt来定义纹理,因此f需要像这样的多边形/纹理/法线:
v 0.000000 2.000000 0.000000
v 0.000000 0.000000 0.000000
v 2.000000 0.000000 0.000000
v 2.000000 2.000000 0.000000
vt 0.0 0.0
vt 1.0 0.0
vt 1.0 1.0
vt 1.0 1.0
vn 0.0 1.0 0.0
f 1/1/1 2/2/1 3/3/1 4/4/1