在SceneView(无AR)中呈现模型时,我想使用正交相机。在API中找不到这样做的方法。我是否遗漏了什么或缺少该功能? 最佳答案 据我所知,在ARCore中没有用于相机投影的ORTHO方法(cubefrustum)/Sceneform此刻。但是您可以通过4x4矩阵自己制作。因此,您需要做的就是计算left、right、top、bottom、near和far属性使用followingprinciples.这是您的4x4投影矩阵的样子:编辑:工作代码,其中scaleFactor是1.3左右的值,height/width是SceneV
免责声明:我是Unity3D和ARCore的新手,所以请多多包涵。我在Unity3D中使用ARCore创建一个场景,用户可以在屏幕上的ScrollView中选择模型并使用Google的ARCore框架放置它们。到目前为止我已经成功了;用户触摸ScrollView中的一个模型(在屏幕上的Panel中显示为当前选择的模型,因为我的计划是让ScrollView切换可见性以获得更多屏幕View空间)。问题是,当用户选择一个模型时,ARCore会将模型放置在ScrollView和所选模型Panel对象所在的检测到的平面上(即使当您首先触摸以开始滚动ScrollView)。请参阅下文以帮助形象化。
我正在使用此示例(https://github.com/google-ar/arcore-android-sdk/tree/master/samples/hello_ar_java),我想提供录制放置了AR对象的视频的功能。我尝试了多种方法但无济于事,有推荐的方法吗? 最佳答案 从OpenGL表面创建视频有点复杂,但是是可行的。我认为最简单的理解方法是使用两个EGL表面,一个用于UI,一个用于媒体编码器。Grafika中需要的EGL级别调用有一个很好的示例GitHub上的项目。我用它作为起点来找出ARCore的HelloAR示例所需
有没有什么方法可以从ARCore获取相机内部参数,类似于ARKit提供?我试过使用LENS_INTRINSIC_CALIBRATION来自ImageMetadata,但显然这个常量实际上不受支持(我试过在Pixel2上使用它)。 最佳答案 据我了解,目前这在ARCore中肯定不可用,尤其是因为焦距已锁定。我建议您将此作为问题报告到ARCoregithub上,让人们写下他们对该功能的支持,希望它能得到实现! 关于android-ARCore中的相机校准(内在)参数,我们在StackOver
我正在努力实现这种转变。在arcore中给定一个anchorPose,如何获取其在屏幕中对应的2D坐标? 最佳答案 最后,经过几天的调查并从不同的资源中获取信息后,我终于能够完成这项工作。以下是将世界坐标(arcore中的姿势)转换为2D屏幕坐标的代码fragment(基于arcore示例java应用程序):首先我们需要计算从世界-->屏幕转换的矩阵:publicfloat[]calculateWorld2CameraMatrix(float[]modelmtx,float[]viewmtx,float[]prjmtx){float
我正在关注ARCore示例(https://github.com/google-ar/arcore-android-sdk),我正在尝试删除已添加的对象3d(andy)。如何检测ARCore的点击事件是否击中了已添加的3d对象? 最佳答案 在这种情况下,使用listener是很常见的方法:privateNodegetModel(){Nodenode=newNode();node.setRenderable(modelRenderable);Contextcont=this;node.setOnTapListener((v,event
我知道下面的引述对于ProjectGoogleTango是非常正确的:BycombiningDepthPerceptionwithMotionTracking,thedevicecanmeasuredistancesbetweenpointsinanareathataren'tinthesameframe.基于以上,下面是几个问题:1.ARCore可以用来测量距离吗ProjectGoogleTango是吗?2.与ProjectGoogleTango相比,结果的准确性如何?? 最佳答案 IanM用this部分回答了您问题的第一部分回答
我正在尝试使用ARCore在不点击屏幕的情况下显示对象。在谷歌提供的ARCoreSceneform基础示例中,需要在检测到表面后点击屏幕。我想实现这一点,AR无需点击屏幕即可显示对象。AnchornewAnchor;for(Planeplane:mSession.getAllTrackables(Plane.class)){if(plane.getType()==Plane.Type.HORIZONTAL_UPWARD_FACING&&plane.getTrackingState()==TrackingState.TRACKING){newAnchor=plane.createAnch
我在ArFragment中显示3D对象。所以我将.obj文件和.mtl文件放在sampledata文件夹中。然后我右键单击obj文件,然后选择导入SceneformAssets以添加.sfa/.sfb文件。所以我在标记图像时可以显示3d对象,但是对象太大了。这是我的.sfa文件详细信息{bound_relative_root:{x:0.5,y:0,z:0.5,},materials:[{name:"Material.001",parameters:[{baseColor:null,},{baseColorTint:[0.80000000000000004,0.8000000000000
我不知道我是否可以问这个问题,但我真的不知道如何在Android仿真设备上使用ARCore。根据官方指南,我应该在像素/像素2设备上使用API8.1,以便运行任何使用ARCore的应用程序。遗憾的是,这些模拟器不支持PlayStore,没有PlayStore,我无法在设备上安装ARCore。内置Play商店附带的设备镜像无法运行ARCore。我真的很困惑我应该如何以这种方式为ARCore测试任何东西。我需要它来为大学类(class)开发应用程序,我需要熟悉增强现实开发,但由于这个问题我什至无法开始。 最佳答案 更新时间:2022年1