AR 모드 뷰

공개 클래스 Ar sceneView

ARCore와 통합되고 장면을 렌더링하는 SurfaceView

상속된 상수

상속된 필드

공개 생성자

Ar sceneView(컨텍스트 컨텍스트)
ArScenarioView 객체를 생성하고 Android 컨텍스트에 바인딩합니다.
Ar sceneView(컨텍스트 컨텍스트, AttributeSet 속성)
ArScenarioView 객체를 생성하고 Android 컨텍스트에 바인딩합니다.

공개 메서드

프레임
getArFrame()
사용 가능한 경우 최신 ARCore Frame을 반환합니다.
int
getCameraStreamRenderPriority()
카메라 스트림 렌더링 순서를 제어하는 렌더링 우선순위를 가져옵니다.
PlaneRenderer
getPlaneRenderer()
평면 시각화를 제어하는 데 사용되는 PlaneRenderer를 반환합니다.
세션
getSession()
이 뷰에서 사용하는 ARCore 세션을 반환합니다.
boolean
isEnvironmentalHdrLightingAvailable()
ARCore 카메라가 Config.LightEstimationMode.ENVIRONMENTAL_HDR로 구성된 경우 true를 반환합니다.
boolean
isLightDirectionUpdateEnabled()
환경 HDR 조명 추정치에 따라 프레임마다 햇빛이 업데이트되는지 확인합니다.
boolean
void
pause()
렌더링 스레드와 ARCore 세션을 일시중지합니다.
CompletableFuture<Void>
pauseAsync(Executor 실행자)
렌더링 스레드와 ARCore 세션을 일시중지하는 비차단 호출
void
Resume()
렌더링 스레드와 ARCore 세션을 재개합니다.
CompletableFuture<Void>
ResumeAsync(Executor 실행자)
렌더링 스레드와 백그라운드에서 ARCore 세션을 재개하는 비차단 호출

onResume()에서 호출해야 합니다.

void
setCameraStreamRenderPriority(int 우선순위)
카메라 스트림을 렌더링하는 순서를 제어하도록 렌더링 우선순위를 설정합니다.
void
setLightDirectionUpdateEnabled(불리언 isLightDirectionUpdateEnabled)
환경 HDR 조명에서 생성된 햇빛 방향을 프레임마다 업데이트해야 하는지 설정합니다.
void
setLightEstimationEnabled(불리언 사용 설정)
카메라 피드를 기반으로 빛 추정을 사용 설정합니다.
void
setupSession(세션 세션)
AR 세션으로 뷰 설정

상속된 메서드

공개 생성자

public Ar sceneView (Context 컨텍스트)

ArScenarioView 객체를 생성하고 Android 컨텍스트에 바인딩합니다.

렌더링이 올바르게 작동하려면 setupSession(Session)를 호출해야 합니다.

매개변수
context 사용할 Android 컨텍스트

public Ar sceneView (Context 컨텍스트, AttributeSet 속성)

ArScenarioView 객체를 생성하고 Android 컨텍스트에 바인딩합니다.

렌더링이 올바르게 작동하려면 setupSession(Session)를 호출해야 합니다.

매개변수
context 사용할 Android 컨텍스트
attrs 연결할 Android AttributeSet
참고 항목

공개 메서드

public Frame getArFrame ()

사용 가능한 경우 최신 ARCore Frame을 반환합니다. 프레임은 각 그리기 프레임의 시작 부분에서 업데이트됩니다. 이 메서드의 호출자는 반환 값 참조를 유지해서는 안 됩니다. 다음 프레임부터 ARCore 프레임을 사용하는 것이 유효하지 않기 때문입니다.

public int getCameraStreamRenderPriority ()

카메라 스트림 렌더링 순서를 제어하는 렌더링 우선순위를 가져옵니다. 우선순위는 0 (가장 먼저 렌더링됨)에서 7 (마지막으로 렌더링됨) 사이입니다.

기본값은 7이며, 이 경우 카메라 스트림이 마지막으로 렌더링됩니다. 오버드로를 방지하므로 성능에 가장 적합합니다. 그러나 머티리얼을 오클루전으로 사용할 때는 (예: 증강된 얼굴 샘플에서) 변경해야 합니다. 그 외의 경우 오클루전이 카메라 스트림을 가리고 검은색이 렌더링됩니다.

public PlaneRenderer getPlaneRenderer ()

평면 시각화를 제어하는 데 사용되는 PlaneRenderer를 반환합니다.

공개 세션 getSession ()

이 뷰에서 사용하는 ARCore 세션을 반환합니다.

public boolean isEnvironmentalHdrLightingAvailable ()

ARCore 카메라가 Config.LightEstimationMode.ENVIRONMENTAL_HDR로 구성된 경우 true를 반환합니다. 환경 HDR 조명 모드가 사용 설정되면 결과로 생성된 빛 추정치가 장면 장면에 적용됩니다.

반환 값
  • ARCore HDR 조명 추정이 사용 설정되어 있으므로 장면 조명에서 HDR 조명이 사용 설정된 경우 true입니다.

public boolean isLightDirectionUpdateEnabled ()

환경 HDR 조명 추정치에 따라 프레임마다 햇빛이 업데이트되는지 확인합니다.

반환 값
  • 햇빛 방향이 프레임마다 업데이트되는 경우 true, 그렇지 않은 경우 false입니다.

public boolean isLightEstimationEnabled ()

반환 값
  • 광도 추정이 사용 설정된 경우 true를 반환합니다.

public void pause ()

렌더링 스레드와 ARCore 세션을 일시중지합니다.

onPause()에서 호출해야 합니다.

public CompletableFuture<Void> pauseAsync (Executor 실행자)

렌더링 스레드와 ARCore 세션을 일시중지하는 비차단 호출

이는 onPause()에서 호출되어야 합니다.

다른 일시중지 또는 재개가 진행되는 동안 pauseAsync가 호출되면 일시중지가 큐에 추가되고 현재 작업이 완료된 후에 일시중지됩니다.

매개변수
실행자
반환 값
  • 일시중지의 기본 스레드에서 완료된 CompletableFuture가 완료되었습니다. 재개가 불가능한 경우 향후 윌이 예외적으로 완료됩니다.

public void Resume ()

렌더링 스레드와 ARCore 세션을 재개합니다.

onResume()에서 호출해야 합니다.

예외 처리
CameraNotAvailableException 카메라를 열 수 없는 경우

public CompletableFuture<Void> ResumeAsync (Executor 실행자)

렌더링 스레드와 백그라운드에서 ARCore 세션을 재개하는 비차단 호출

onResume()에서 호출해야 합니다.

다른 일시중지 또는 재개가 진행되는 동안 호출되는 경우 현재 작업이 완료된 후 재개가 큐에 추가됩니다.

매개변수
실행자
반환 값
  • 재개가 완료되면 기본 스레드에서 CompletableFuture가 완료됩니다. 재개를 완료할 수 없는 경우 미래는 예외적으로 완료됩니다.

public void setCameraStreamRenderPriority (int 우선순위)

카메라 스트림을 렌더링하는 순서를 제어하도록 렌더링 우선순위를 설정합니다. 우선순위는 0 (가장 먼저 렌더링됨)에서 7 (마지막으로 렌더링됨) 사이입니다.

기본값은 7이며, 이 경우 카메라 스트림이 마지막으로 렌더링됩니다. 오버드로를 방지하므로 성능에 가장 적합합니다. 그러나 머티리얼을 오클루전으로 사용할 때는 (예: 증강된 얼굴 샘플에서) 변경해야 합니다. 그 외의 경우 오클루전이 카메라 스트림을 가리고 검은색이 렌더링됩니다.

매개변수
우선순위

public void setLightDirectionUpdateEnabled (불리언 isLightDirectionUpdateEnabled)

환경 HDR 조명에서 생성된 햇빛 방향을 프레임마다 업데이트해야 하는지 설정합니다. false인 경우 빛 방향이 한 번 업데이트된 후 더 이상 변경되지 않습니다.

산만하거나 원치 않는 경우 그림자 방향 업데이트를 사용 중지하는 데 사용될 수 있습니다.

기본 상태는 true이며 프레임마다 햇빛 방향이 업데이트됩니다.

매개변수
isLightDirectionUpdateEnabled

public void setLightEstimationEnabled (불리언 사용 설정)

카메라 피드를 기반으로 빛 추정을 사용 설정합니다. 태양 간접광의 색상과 강도는 ARCore의 광도 추정에서 제공하는 값으로 조절됩니다. 장면의 작은 객체가 영향을 받습니다.

매개변수
사용 설정 밝기 추정을 사용 설정하려면 true로, 기본값인 픽셀 강도 1.0과 흰색의 색상 보정 값 (1.0, 1.0, 1.0)을 사용하려면 false로 설정하세요.

public void setupSession (Session 세션)

AR 세션으로 뷰 설정 ARCore 세션을 제공하려면 이 메서드를 한 번 호출해야 합니다. 렌더링이 발생하려면 세션이 필요합니다.

세션은 LATEST_CAMERA_IMAGE의 업데이트 모드로 구성되어야 합니다. 이 구성이 없으면 ARCore 세션을 업데이트하면 UI 스레드가 차단되고 UI 환경이 저하될 수 있습니다.

매개변수
session 이 뷰에 사용할 ARCore 세션