已知的直接子类 |
AR fragment 引入了常见的 AR 功能所需的视图布局和控制器。
嵌套类
接口 | BaseArFragment.OnSessionInitializationListener | 初始化 ARCore 会话时调用。 | |
接口 | BaseArFragment.OnTapArPlaneListener | 点按 ARCore 平面时调用。 |
公共构造函数
公共方法
抽象 String[] |
getAdditionalPermissions()
除 ARCore 需要的 Manifest.permission.CAMERA 之外,还会返回应用所需的一系列危险权限。
|
ArSceneView |
getArSceneView()
获取此 fragment 的 ArSceneView。
|
PlaneDiscoveryController |
getPlaneDiscoveryController()
获取平面发现控制器,该面板显示有关如何扫描平面的说明。
|
TransformationSystem |
getTransformationSystem()
获取转换系统,供
TransformableNode 用于检测手势和协调所选的节点。 |
抽象布尔值 |
isArRequired()
如果该应用是 AR 必备,则返回 true;如果 AR 可选,则返回 false。
|
查看 | |
无效 | |
无效 | |
无效 |
onPause()
|
无效 | |
无效 | |
无效 |
onResume()
|
无效 | |
无效 |
setOnSessionInitializationListener(BaseArFragment.OnSessionInitializationListener onSessionInitializationListener)
注册要在初始化 ARCore 会话时调用的回调。
|
无效 |
setOnTapArPlaneListener(BaseArFragment.OnTapArPlaneListener onTapArPlaneListener)
注册在点按 ARCore 平面时要调用的回调。
|
受保护的方法
布尔值 |
getCanRequest 危险权限()
如果为 true,则
requestDangerousPermissions() 会返回而不执行任何操作(如果将请求 false 权限)
|
抽象配置 | |
abstract Set<Session.Feature> |
getSessionFeatures()
指定用于创建 ARCore
Session 的其他功能。 |
抽象 无效 |
handleSessionException(UnavailableException sessionException)
|
final void |
initializeSession()
初始化 ARCore 会话。
|
TransformationSystem |
makeTransformationSystem()
创建此 fragment 使用的转换系统。
|
无效 |
onWindowFocusChanged(布尔值 hasFocus)
|
无效 |
requestriskPermissions()
开始请求危险权限的过程。
|
final 布尔值 | |
无效 |
setCanRequest 危险权限(布尔值 canRequest 危险权限)
如果为 true,则
requestDangerousPermissions() 会返回而不执行任何操作(如果将请求 false 权限)
|
无效 |
setupSelectionRenderable(FootprintSelectionVisualizer selectionVisualizer)
|
继承的方法
公共构造函数
public BaseArFragment ()
公共方法
public abstract String[] getAdditionalPermissions ()
除 ARCore 需要的 Manifest.permission.CAMERA 之外,还会返回应用所需的一系列危险权限。如果不需要其他权限,则应返回空数组。
public abstract boolean isArRequired ()
如果该应用是 AR 必备,则返回 true;如果 AR 可选,则返回 false。系统会在初始化应用和会话时调用此方法。
public View onCreateView (LayoutInflater 膨胀器, ViewGroup 容器, Bundle savedInstanceState)
参数
膨胀器 | |
---|---|
容器 | |
savedInstanceState |
public void onDestroy ()
public void onDestroyView ()
public void onPause ()
public void onPeekTouch (HitTestResulthitTestResult, MotionEvent motionEvent)
在将触摸事件分派给场景时调用。该回调将在调用 Scene.OnTouchListener
之前调用。即使使用了相应手势,系统也会调用此方法,以便观察分派给场景的所有动作事件。即使触摸操作未超出节点也是如此,在这种情况下,getNode()
将为 null。
参数
命中结果 | 表示触摸的节点 |
---|---|
motionEvent [动作事件] | 动作事件 |
public void onRequestPermissionsResult (int requestCode, String[] permissions, int[] results)
接收权限请求的结果。
打开一个对话框以请求权限。该对话框可以将用户转到“设置”应用,或结束 activity。
参数
请求代码 | |
---|---|
权限 | |
结果 |
public void onResume ()
public void setOnSessionInitializationListener (BaseArFragment.OnSessionInitializationListener onSessionInitializationListener)
注册要在初始化 ARCore 会话时调用的回调。该回调仅在会话初始化后和恢复之前调用一次。
参数
onSessionInitializationListener | 要附加的 BaseArFragment.OnSessionInitializationListener 。
|
---|
public void setOnTapArPlaneListener (BaseArFragment.OnTapArPlaneListener onTapArPlaneListener)
注册在点按 ARCore 平面时要调用的回调。仅当未点按 Node
时,系统才会调用回调。
参数
onTapArPlaneListener | 要附加的 BaseArFragment.OnTapArPlaneListener
|
---|
受保护的方法
Protected abstract Set <Session.Feature> getSessionFeatures ()
指定用于创建 ARCore Session
的其他功能。请参阅 Session.Feature
。
Protected abstract void handleSessionException (UnavailableException sessionException)
参数
sessionException |
---|
受保护的 final void initializeSession ()
初始化 ARCore 会话。在检查 ARCore 的安装状态之前,系统会检查 CAMERA 权限。权限和安装成功后,系统会调用 #getSessionConfiguration(Session session) 方法来获取要使用的会话配置。Sceneform 要求使用 LATEST_CAMERA_IMAGE 更新 ARCore 会话以避免在绘制时发生阻塞。此模式是在从子类返回的配置对象上设置的。
Protect void onWindowFocusChanged (布尔值 hasFocus)
参数
hasFocus |
---|
Protect void request 危险权限 ()
开始请求危险权限的过程。这结合了 ARCore 所需的 CAMERA 权限和 getAdditionalPermissions() 返回的所有权限。系统不会对请求结果进行特定处理。如果需要进行其他处理,子类可以替换 onRequestPermissionsResult()。
setCanRequestDangerousPermissions(Boolean)
可阻止此函数执行任何操作。
Protect void setCanRequest 危险权限 (布尔值 canRequest 危险权限)
如果为 true,则 requestDangerousPermissions()
会返回而不执行任何操作(如果将请求 false 权限)
参数
可以申请危险权限 |
---|
Protect void setupSelectionRenderable (FootprintSelectionVisualizer selectionVisualizer)
参数
selectionVisualizer |
---|