[navigation]
TL;DR:
- 최신 필터는 AR, AI, 실시간 컴퓨터 비전으로 구동됩니다;
- 카메라 필터는 소셜 미디어, 영상 통화, 데이트, 교육, 편집, 게임 앱에서 가치를 더합니다. 참여도를 높이고 리텐션을 높이며 개인화를 향상시킵니다;
- 실시간 카메라 필터는 네이티브 통합을 통해 React Native에서 가능합니다;
- 가장 안정적이고 확장 가능한 옵션은 Banuba의 Face AR SDK와 같은 전용 카메라 필터 SDK를 사용하는 것입니다.
- 설정에는 iOS와 Android 모두에 대한 네이티브 구성이 필요합니다;
- 여러 디바이스와 실제 환경에서 테스트하여 일관된 UX를 보장합니다;
- 대부분의 통합 문제는 기본 구성 오류 또는 권한 처리에서 비롯됩니다;
- 기본 제공 도구와 효과로 개발 시간이 단축되므로 확장하는 앱에 이상적입니다.
React Native의 카메라 이미지 필터 이해하기
카메라 이미지 필터는 실시간 비디오 피드에 적용되는 시각 효과입니다. 하지만 오늘날의 필터는 세피아 톤이나 강아지 귀를 훨씬 뛰어넘습니다. 증강 현실, 컴퓨터 비전, 얼굴 추적을 활용하여 사용자의 표정, 움직임 또는 제스처에 반응하는 동적인 인터랙티브 효과를 생성합니다.
다음은 리액트 네이티브 앱에서 지원되는 가장 일반적인 유형입니다:
- LUT(인스타그램 필터). 세피아 또는 흑백과 같은 색상 보정 사전 설정.
- 얼굴 마스크. 사용자의 얼굴을 가리거나 완전히 바꾸는 2D 또는 3D 오브젝트.
- 가상 배경. 사진에서 사람을 분할하고 다른 모든 것을 대체하는 효과. "녹색 화면"으로 작동하거나 화상 통화에서 개인 정보를 보호하는 데 도움이 됩니다.
- 미화(터치업). 피부를 매끄럽게 하고, 잡티를 제거하고, 치아를 하얗게 하고, 피부 톤을 고르게 하고, 기타 외모를 개선할 수 있습니다.
- 얼굴 편집. 사용자의 얼굴 모양과 얼굴 특징을 가상으로 변경합니다.
- 가상 메이크업. 마스카라, 립스틱, 헤어 컬러 및 기타 가상 뷰티 제품을 추가하는 React Native 이미지 필터입니다.
- 비디오 효과. 비디오 피드에 슬로모션, 래피드, 레이브 등 다양한 변경 사항을 적용합니다.
- 입어보기. 가상의 아이템(안경, 모자, 보석 등)을 실제처럼 착용해 볼 수 있습니다.
- 아바타. 사용자의 얼굴과 신체를 얼굴 표정을 복사하는 3D 캐릭터로 대체하는 기능입니다.
- 트리거. 사용자가 특정 동작(미소, 찡그림, '승리' 손짓 등)을 할 때 실행되는 애니메이션 효과입니다.
비즈니스 요구 사항과 타겟 고객에 따라 모든 React Native 증강 현실 얼굴 마스크를 사용하거나 선택해 보세요.
핵심 사항:
- 최신 필터는 AR, AI, 실시간 컴퓨터 비전으로 구동됩니다;
- 10가지 일반적인 유형의 React Native 카메라 이미지 필터가 있습니다.

React Native 앱에서 카메라 필터의 주요 사용 사례
카메라 필터는 단순한 재미가 아닙니다. 카메라 필터는 산업 전반에 걸쳐 사용자 경험, 리텐션, 수익 창출을 향상시키는 전략적 도구입니다. 다음은 React Native 앱에서 카메라 이미지 필터가 실제로 사용된 주요 사례입니다:
- 소셜 미디어. 가장 인기 있는 쇼트 비디오 플랫폼인 TikTok은 필터의 인기를 견인하는 원동력 중 하나입니다. 하지만 어떤 분야에 초점을 맞추든 Instagram과 같은 React 네이티브 이미지 필터는 바이럴 콘텐츠 제작을 촉진하고 사용자 참여를 높입니다.
- 영상 통화 소프트웨어. React 네이티브 증강 현실 얼굴 마스크는 배경 교체를 통해 개인 정보를 보호하고 일상적인 대화에 재미를 더합니다.
- 데이트 앱. 필터와 효과를 사용하면 데이트 앱에서 사용자 유지율을 높일 수 있는 것으로 입증되었습니다.
- e러닝. React Native 이미지 필터는 어린이와 성인 모두를 위한 교육용 앱에서 학습 성과를 향상시킵니다.
- 사진/동영상 편집기. 다양한 효과는 이제 모바일 사진 및 동영상 편집 앱에서 기대되는 기능입니다.
- 게임. 얼굴 표정은 게임의 흐름을 제어할 수 있으며, 마스크는 플레이어 아바타 커스터마이징과 보상을 위해 사용될 수 있습니다.
핵심 사항
- 카메라 필터는 소셜 미디어, 영상 통화, 데이트, 교육, 편집, 게임 앱에서 가치를 더합니다;
- 참여도를 높이고, 리텐션을 높이며, 개인화를 강화합니다.

카메라 필터 구현을 위한 기술적 접근 방식
그렇다면 React Native에서 카메라에 실시간 효과/필터를 추가할 수 있을까요? 예, 하지만 네이티브 수준의 성능과 통합이 필요합니다. React Native는 두 주요 모바일 플랫폼에 유연성과 공유 코드베이스를 제공하지만, 실시간 얼굴 추적이나 AR 렌더링과 같은 GPU 집약적인 작업은 기본적으로 지원하지 않습니다. 따라서 최적화된 네이티브 모듈로 연결하거나 전용 SDK를 사용하는 것이 중요합니다.
React Native에서 카메라 이미지 필터를 구현하는 가장 일반적인 기술적 접근 방식을 살펴보겠습니다.
전용 SDK(권장)
가장 신뢰할 수 있는 경로는 Banuba의 Face AR SDK와 같은 크로스 플랫폼 SDK를 통합하는 것입니다:
- 얼굴 감지 및 3D 추적
- 실시간 필터 렌더링
- 미화 및 가상 메이크업;
- iOS와 Android 모두에 대한 최적화.
이 옵션을 선택할 때는 다음 사항을 고려하세요:
장점:
- 손쉬운 통합으로 개발 시간이 대폭 단축됩니다;
- 얼굴 감지, 미화, AR 마스크와 같은 일반적인 기능을 위한 사전 빌드된 모듈;
- React Native 브리지 또는 래퍼를 통한 크로스 플랫폼 호환성(iOS, Android);
- 네이티브 코드, GPU 가속 및 압축 모델을 통한 성능 최적화;
- 기성 필터 및 효과의 대규모 라이브러리에 액세스;
- 엔터프라이즈 SDK에는 지원, 문서화 및 분석이 포함되는 경우가 많습니다;
- 초기 투자 비용 절감으로 다른 분야(예: 마케팅 또는 추가 기능 개발)에 더 많은 예산을 확보할 수 있습니다;
단점:
- 각 플랫폼에 대한 기본 설정이 필요합니다;
- 나중에 다른 SDK로 마이그레이션할 경우 공급업체에 종속될 위험이 있습니다.
최상의 대상: 일관성, 속도, 고품질 효과가 필요한 프로덕션급 앱.
비전 카메라 + 스키아
Vision Camera(Margelo 제공)는 React Native용 고성능 카메라 모듈입니다. Skia(2D 그래픽 렌더링)와 함께 사용하면 LUT 또는 기본 시각적 오버레이와 같은 사용자 정의 필터를 만들 수 있습니다.
장점:
- JSI를 사용하여 JS 브리지가 전혀 필요 없습니다;
- 강력한 커뮤니티 지원;
- 경량 효과에 적합;
단점:
- 내장된 얼굴 추적 기능이 없음;
대부분의 필터 로직을 수동으로 구현해야 합니다;
- 효과의 복잡성에 따라 성능이 달라짐.
최적 대상: AR 요구 사항이 제한적인 맞춤형 프로젝트 또는 사내 그래픽 팀.
MLKit, 토치스크립트 + 커스텀 브리지
일부 팀은 얼굴 감지 또는 세분화를 위해 Google MLKit 또는 TorchScript 모델을 통합합니다. 이러한 모델은 OpenGL 또는 Skia를 사용하는 커스텀 렌더링 로직과 결합됩니다.
장점:
- 유연하고 강력합니다;
- 특정 감지 작업(예: 감정 인식)에 유용합니다.
단점:
- 높은 개발 오버헤드;
네이티브 브리징 및 동기화 문제;
- GPU 최적화 없이 실시간 성능이 제한됨.
최상의 경우: 연구 또는 고도로 전문화된 필터 구현.
WebGL/3.js(웹뷰 기반)
기술적으로 WebGL(Three.js 및 WebView를 통해)을 사용하여 React Native에서 필터를 렌더링하는 것은 가능하지만 많은 제약이 따릅니다:
- 열악한 카메라 액세스 통합;
- 낮은 프레임 속도;
- 네이티브 비디오 캡처와의 비호환성;
- 여러 기기에서 일관되지 않음.
프로덕션용으로는 권장하지 않습니다.

단계별 가이드: 바나바 페이스 AR SDK로 카메라 필터 추가하기
Banuba의 Face AR SDK의 예를 사용하여 React Native에서 카메라 필터를 설정하는 방법을 살펴 보겠습니다. 다음은 단계별 React Native 이미지 필터 설치 프로세스입니다.
1단계: 액세스 요청 및 평가판 토큰 받기
14일의 평가판 기간 동안 Banuba의 Face AR SDK를 무료로 사용해 볼 수 있습니다. 메시지를 보내거나 문의 양식을 통해 연락하세요.

Face AR SDK, 비디오 에디터 SDK, AR 클라우드 등 모든 제품에 액세스할 수 있습니다. 후자는 보유한 효과를 저장하고 사용자가 필요에 따라 다운로드할 수 있도록 하는 데 사용됩니다. 이는 단일 AR 마스크가 2~3MB의 공간을 차지할 수 있으므로 앱 크기를 줄이기 위해 수행됩니다.
2단계: 제품 선택
제공되는 두 제품인 Face AR SDK와 비디오 에디터 SDK는 모두 React Native 카메라 필터를 제공합니다. 시각 효과를 적용하려는 시기와 방법에 따라 적합한 필터를 선택하면 됩니다:
- Face AR SDK는 실시간 카메라 효과(마스크, 필터, 메이크업, 아바타 등), AR 기반 셀카 등을 위한 제품입니다. 소셜 미디어, 화상 통화, 라이브 스트리밍 등을 위해 설계되었습니다;
- 동영상 편집기 SDK는 사용자의 라이브러리에 있는 동영상 또는 녹화 중인 동영상에 필터를 적용한 후처리 효과 또는 타임라인 기반 편집을 위한 것입니다.
두 제품은 완벽하게 호환되므로 두 가지 기능이 모두 필요한 경우 두 가지를 모두 사용할 수 있습니다.
3단계: React Native 프로젝트에 SDK 설치하기
자세한 설치 가이드는 GitHub에서 확인할 수 있으며, 개발 문서도 참조할 수 있지만 일반적인 개요는 다음과 같습니다:
a) 안드로이드의 경우:
- build.gradle에 Banuba의 Maven 리포지토리 및 SDK 자격 증명을 추가합니다.
- 카메라, 인터넷 및 마이크 권한을 활성화합니다.
- MainApplication.java에서 기본 모듈을 구성합니다.
[코드]
// android/build.gradle
모든 프로젝트 {
저장소 {
maven { url 'https://repo.banuba.com/repository/maven-public' }
}
}
[/code]
b) iOS의 경우:
- 코코아팟을 사용하여 포드파일을 통해 SDK를 설치합니다.
- Info.plist에서 카메라/마이크 권한을 설정합니다(예: NSCameraUsageDescription).
- 브리징 헤더를 통해 네이티브 모듈을 연결합니다.
[코드] # ios/Podfile
포드 'BanubaFaceARSDK'
[/code]
참고: Expo는 지원되지 않습니다. 네이티브 모듈을 활성화한 상태에서 React Native CLI를 사용해야 합니다.
4단계: 효과 추가 및 통합
SDK가 설치되고 네이티브 모듈이 구성되면 다음 단계는 React Native 앱 내에서 필터에 생명을 불어넣는 것입니다.
Banuba는 기본 브리지를 통해 자바스크립트 코드와 통신하는 BanubaSdkManager (Android) 또는 BanubaSdk (iOS)라는 중앙 클래스를 사용합니다.
필터가 프로젝트의 에셋 디렉터리에서 효과/마스크 아래에 있는지 확인하세요.
자바스크립트에서의 사용 예시:
[code]javascript
import { NativeModules } from 'react-native';
const { BanubaSdkManager } = NativeModules;
// 필터 적용하기
BanubaSdkManager.loadEffect('effects/masks/Beauty');
// 필터 제거하기
BanubaSdkManager.unloadEffect();
[/code]
5단계: 권한 및 규정 준수
- iOS의 경우: Info.plist에 NSCameraUsageDescription 및 NSMicrophoneUsageDescription을 추가합니다.
- Android의 경우: 런타임에 CAMERA 및 RECORD_AUDIO를 요청합니다.
예시(JS의 Android 권한):
[코드] 자바스크립트
'react-native '에서 { PermissionsAndroid }를가져옵니다;
비동기 함수 requestPermissions() {
await PermissionsAndroid.requestMultiple([ PermissionsAndroid.PERMISSIONS.CAMERA, PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
]);
}
[/code]
GDPR 준수를 위해 Banuba의 SDK는 모든 데이터를 디바이스 내에서 처리합니다. 개인 데이터는 외부 서버로 전송되지 않습니다.
핵심 사항
- Banuba의 Face AR SDK는 실시간 렌더링과 얼굴 트래킹을 통해 React Native에서 고품질 필터를 구현합니다;
- 설정에는 iOS와 Android 모두에 대한 기본 구성이 필요합니다;
- 필터는 자바스크립트 모듈을 통해 로드 및 제어되며, 렌더링은 기본적으로 처리되어 원활한 성능을 제공합니다.
성능 최적화 및 모범 사례
실시간 카메라 필터는 저사양 디바이스는 말할 것도 없고 고급 디바이스에서도 CPU와 GPU를 많이 사용할 수 있습니다. 렌더링, 에셋 관리, 네이티브 통합에 대한 모범 사례를 모아 React Native 앱 전반에서 원활한 성능을 보장합니다.
네이티브 프레임 프로세서(JSI/터보 모듈) 사용
Banuba의 SDK는 기존의 React Native 브릿지를 우회하여 JSI(JavaScript 인터페이스) 및 네이티브 모듈로 구축되었습니다. 이를 통해 다음을 보장합니다:
- JS와 네이티브 간의 지연 시간 단축;
- 30-60 FPS의 실시간 비디오 피드 처리;
- 필터가 활성화된 상태에서도 부드러운 UI 상호 작용.
리액트 네이티브 브리지에 의존하는 타사 카메라 모듈은 사용하지 마세요. 지연 및 동기화 문제가 발생할 수 있습니다.
디바이스에 따라 카메라 해상도 조정
저사양 기기는 풀 HD 해상도에서 어려움을 겪을 수 있습니다. 고려하세요:
- 미리보기 해상도를 낮추는 방법(예: 1080p에서 720p로);
- 디바이스 벤치마크에 따라 적응형 품질 설정 제공.
Banuba는 내부적으로 최적화된 파이프라인을 통해 이를 관리하지만 사용자가 수동으로 제어할 수 있도록 설정을 노출할 수도 있습니다.
필터 에셋 사전 로드 및 캐시
앱 실행 또는 화면 전환 중에 필터를 미리 로드하면 효과 전환 시 세션 내 지연을 방지할 수 있습니다. 자주 사용하는 필터는 로컬에 저장하고 새 필터는 백그라운드 스레드에 캐시하거나 앱이 비활성 상태일 때 캐시합니다.
오프스크린 렌더링 파이프라인 사용
사용자 지정 효과 또는 오버레이를 제작하는 경우 화면 밖에서 렌더링하여 카메라 피드에 합성합니다. 이렇게 하면 기본 UI 스레드가 차단되는 것을 방지할 수 있습니다.
Banuba는 내부적으로 이 작업을 처리하지만 타사 렌더러(예: Skia 또는 Lottie)를 결합하는 경우 메인 스레드에서 실행되는지 확인하세요.
다양한 기기에서 테스트
Pixel 7에서 정상적으로 실행되는 것이 Moto G에서는 끊길 수 있으므로 여러 기기에서 성능 매트릭스를 구축하세요:
- iOS 대 Android;
- 하이엔드 대 로우엔드;
- 세로 모드와 가로 모드;
- 다른 효과 또는 UI 애니메이션의 유무.
Banuba의 기본 제공 분석 또는 성능 로깅을 사용하여 병목 현상을 파악하세요.
주요 요점
- 지연 시간이 짧은 성능을 위해 Banuba와 같은 JSI 기반 네이티브 모듈을 사용하세요;
- 필터를 미리 로드하고 캐시하여 전환 중 UI 끊김 현상을 방지합니다;
- 디바이스 종류에 따라 해상도 최적화 - 품질과 속도의 균형을 유지합니다;
- 추가 렌더러나 무거운 로직으로 메인 스레드를 막지 마세요;
- 여러 디바이스와 실제 환경에서 테스트하여 일관된 UX를 보장합니다.
일반적인 과제 및 솔루션
다음은 가장 자주 발생하는 문제와 이를 빠르게 해결하는 방법입니다.
Android/iOS 빌드 오류
증상:
- 빌드 중 Gradle 또는 CocoaPods가 실패합니다;
- 시작 시 앱이 충돌합니다;
- 정의되지 않음은 네이티브 모듈의함수 오류가아닙니다.
해결 방법:
- 모든 네이티브 종속성이 올바르게 연결되어 있는지 확인합니다 ;
- ios/ 폴더 내에서 iOS용 파드 설치를 실행합니다;
- 최소 Android SDK 버전이 21 이상인지 확인합니다 ;
- 빌드를 정리한다:
[코드] bash
cd android && ./gradlew clean
cd ios && xcodebuild clean
[/code]
필터가 표시되지 않거나 적용되지 않는 경우
증상
- 카메라가 열리지만 필터가 표시되지 않습니다;
- 검은색 화면만 표시됩니다;
- 필터가 로드되지만 얼굴 움직임에 반응하지 않습니다.
해결 방법:
- 필터 에셋의 경로가 올바른지 확인합니다(예: '효과/마스크/뷰티').
- 런타임에 카메라 및 마이크 권한이 부여되었는지 확인합니다;
- Banuba의 SDK 패키지에서 알려진 작동하는 필터로 테스트합니다;
- 장치에 작동하는 카메라가 있고 가상 웹캠/에뮬레이터를 사용하고 있지 않은지 확인합니다.
비디오 또는 사진 캡처가 작동하지 않음
증상:
- 필터가 실시간으로 작동하지만 캡처된 동영상/사진이 비어 있거나 정렬이 잘못되어 있습니다;
시작 녹화() 또는 사진 촬영() 시 앱이 충돌합니다.
해결 방법:
- Banuba의 기본 제공 캡처 메서드를 사용하세요:
[code]javascript
BanubaSdkManager.takePhoto();
BanubaSdkManager.startVideoRecording();
[/code]
- 올바른 권한을 확인하세요: 쓰기_외부_저장소, 녹음_오디오;
- Android에서 출력 경로와 형식이 올바르게 설정되었는지 확인합니다.
SDK 버전 충돌 또는 업데이트로 인해 통합이 중단됨
증상:
- React Native 업그레이드 후 SDK가 작동을 멈춥니다;
- 더 이상 사용되지 않는 메서드 경고.
해결 방법:
- GitHub에서 최신 버전을 사용하세요;
- Banuba의 변경 로그에 명시된 React Native 및 SDK 버전과 일치합니다;
- 업데이트 후
- 네이티브 모듈을 다시 링크합니다;
빌드 폴더를 정리합니다;
- 포드 및 Android 종속 요소를 다시 설치합니다.
지원되지 않는 엑스포
증상:
- SDK 설치가 실패하거나 네이티브 모듈 오류가 발생합니다;
- 앱은 컴파일되지만 필터가 나타나지 않습니다.
해결 방법:
- Banuba의 Face AR SDK에는 기본 모듈 지원이 필요하지만, Expo Go는 이를 제공하지 않습니다;
- 해결 방법: React Native CLI를 사용하거나 Expo에서 내보내기 (필요한 경우가 아니면 권장하지 않음).
주요 요점
- 대부분의 통합 문제는 네이티브의 잘못된 구성 또는 권한 처리로 인해 발생합니다;
- 사용자 정의 필터를 디버깅하기 전에 항상 알려진 작동 필터를 사용하여 테스트하세요;
- 호환성 문제를 피하기 위해 캡처 및 렌더링에 Banuba에서 제공하는 방법을 사용하세요;
- 엑스포는 지원되지 않으며, 완전한 호환성을 위해 React Native CLI를 사용하세요.
바나바 페이스 AR SDK가 최고의 선택인 이유
고급 트래킹, 네이티브 최적화, 원활한 개발자 경험을 결합하여 React Native에서 고성능 AR 필터를 구현하기 위한 완벽한 프로덕션 지원 툴킷을 제공하는 Banuba의 Face AR SDK는 고성능 AR 필터를 구축할 때 최고의 선택입니다.
경쟁사 제품과 차별화되는 Banuba의 Face AR SDK는 무엇인가요?
- 3,308개의 얼굴 포인트로 특허 받은 얼굴 추적
- , 360° 회전, 다중 얼굴 감지 및 저조도 환경 지원 ,
- 70% 얼굴 가려짐에도 안정적인 추적 ;
- 온디바이스 처리( )로 빠른 응답, 개인정보 보호 준수, 저전력 소비 보장,
- JSI/TurboModules를 사용하는공식 React Native 브리지,
- 효과 로딩, 전환, 커스터마이징을 위한 클린 API,
- 크로스 플랫폼 일관성(iOS + Android),
- 사전 빌드 효과 및 LUT로 확장에 필요한 공간을 쉽게 시작,
- 필터 미리 보기 및 내보내기용Banuba Studio,
- 통합 가능한22,000개 이상의 디지털화된 효과,
- 원격 업데이트 및 분석을 위한 관리자 패널 옵션(
)
"유니티는 다리에서 싸우고, FPS 낙하를 쫓고, 세 가지 플랫폼에서 필터를 디버깅하는 것이 어떤 것인지 잘 알고 있습니다. 그렇기 때문에 유니티의 Face AR SDK는 React Native 개발자에게 확장 가능하고 안정적인 AR 툴을 제공합니다." - 아르템 하리토나우, CTO, Banuba
주요 내용
- Banuba는 정확도 높은 트래킹과 강력한 AR 렌더링 기능을 갖춘 검증된 SDK를 제공합니다;
- 완벽한 크로스 플랫폼 지원과 최적화된 성능으로 React Native를 지원합니다;
- 내장된 툴과 효과로 개발 시간을 단축하여 확장하는 앱에 이상적입니다.

참조 목록
Banuba. (nd). 바누바 페이스 AR SDK 문서. https://docs.banuba.com/far-sdk
바누바. (nd). 리액트 네이티브 퀵스타트. 깃허브. https://github.com/Banuba/quickstart-react-native
DeepAR. (nd). DeepAR SDK 문서. https://docs.deepar.ai/
엑스포. (nd). 엑스포 앱 사용자 지정하기.https://docs.expo.dev/workflow/customizing/
엑스포. (nd). 엑스포 구성 플러그인. https://docs.expo.dev/guides/config-plugins/
페이스 북. (nd). 리액트 네이티브 환경 설정. https://reactnative.dev/docs/environment-setup
페이스 북. (nd). 일반적인 문제 해결. https://reactnative.dev/docs/troubleshooting
페이스 북. (nd). 권한 안드로이드 사용. https://reactnative.dev/docs/permissionsandroid
구글 개발자. (nd). 안드로이드 권한 참조. https://developer.android.com/reference/android/Manifest.permission
구글 개발자. (nd). ML 키트: 얼굴 인식. https://developers.google.com/ml-kit/vision/face-detection
Mrousavy. (nd). 반응-네이티브-비전-카메라. 깃허브. https://github.com/mrousavy/react-native-vision-camera
Mrousavy. (nd). 이슈 #2763 - 안드로이드 13+에서 VisionCamera가 멈춤. https://github.com/mrousavy/react-native-vision-camera/issues/2763
리액트 네이티브 커뮤니티. (nd). React Native 토론 및 제안. 깃허브. https://github.com/react-native-community/discussions-and-proposals
리액트 네이티브 커뮤니티. (nd). 업그레이드 도우미 도구. https://react-native-community.github.io/upgrade-helper/
Shopify. (nd). react-native-skia. 깃허브. https://github.com/Shopify/react-native-skia
Snap Inc. (nd). 스냅챗 렌즈를 사용한 증강 현실. https://ar.snap.com/
스택 오버플로 사용자 익명. (2018, August 23). 리액트 네이티브 카메라의 얼굴 감지 기능 사용. 스택 오버플로. https://stackoverflow.com/questions/51995285/using-face-detection-feature-of-react-native-camera
스택 오버플로 사용자 익명. (2020, 11월 9일). 리액트 네이티브를 업그레이드한 후 모듈을 찾을 수 없습니다. 스택 오버플로. https://stackoverflow.com/questions/64751804/module-not-found-after-upgrading-react-native
Statista 연구 부서. (2022, December 6). 카메라 및 사진 편집 앱을 정기적으로 사용하는 스마트폰 사용자의 점유율. https://www.statista.com/chart/28913/share-of-smartphone-users-who-regularly-use-camera-and-photo-editing-apps/
Three.js. (nd). 자바스크립트 3D 라이브러리. https://threejs.org/
유튜브. (2023, May 18). 바누바 SDK로 틱톡 스타일 필터 구축하기 [비디오]. https://www.youtube.com/watch?t=3465&v=0294iXEPO4Y&feature=youtu.be