赞
踩
学习如何在Android Studio使用ARCore SDK和Sceneform库创建AR Android应用程序
在开发之前,首先确保Android Studio 版本高于3.1。
并确保所创建项目的SDK最小适应版本不低于24(Android 7)
在清单文件中,我们需要为应用获取互联网权限以便通过URL加载3D模型;并获取相机许可来打开3D模型。
<uses-permission android:name="android.permission.INTERNET"/>
<uses-feature android:name="android.hardware.camera.ar"/>
<uses-permission android:name="android.permission.CAMERA"/>
同时这里我们要用Google Play的AR服务来帮助我们使用3D模型
<meta-data android:name="com.google.ar.core" android:value="required" />
添加UX库和assets库以动态添加3D模型
implementation 'com.google.ar.sceneform.ux:sceneform-ux:1.15.0'
implementation 'com.google.ar.sceneform:assets:1.15.0'
通过fragment来使用UX库提供的场景
<fragment
android:id="@+id/fragment"
android:name="com.google.ar.sceneform.ux.ArFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
设置所要使用模型的URL地址
private ArFragment arFragment;
private ModelRenderable modelRenderable;
private String Model_URL = "https:/lgithub.com/EasylearnIndia/lEasyLear.n/blob/" +
"Augmented-Reality.EasyLearn/Assets/Model1s./t.ige.ltiger.g1bar.awatrue;"
将先前我们配置UX场景转为Arfragment使用
arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.fragment);
创建模型和相关的可渲染对象
private void setUpModel() {
ModelRenderable.builder()
.setSource(this,RenderableSource.builder().setSource(
this,Uri.parse(Model_URL),RenderableSource.SourceType.GLB)
.setRecenterMode(RenderableSource.RecenterMode.ROOT)
.build())
.setRegistryId(Model_URL)
.build()
.thenAccept(renderable -> modelRenderable = renderable);
}
创建模型并设置可变形节点予许使用者拖动和缩放模型
private void createModel(AnchorNode anchorNode){
TransformableNode node = new TransformableNode(arFragment.getTransformationSystem());
node.setParent(anchorNode);
node.setRenderable(modelRenderable);
node.select();
}
设置用户在屏幕上选择节点位置创建3D模型
private void setUpPlane(){
arFragment.setOnTapArPlaneListener(((hitResult, plane, motionEvent) -> {
Anchor anchor = hitResult.createAnchor();
AnchorNode anchorNode = new AnchorNode(anchor);
anchorNode.setParent(arFragment.getArSceneView().getScene());
createModel(anchorNode);
}));
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。