ProjectAR 앱 아이콘ProjectAR 앱 아이콘

ProjectAR

Blender 장면을, 지금 내 방 안에서 실시간으로.

Blender 애드온과 iPhone 앱이 함께, 열어 둔 장면을 로컬 네트워크를 통해 증강 현실(AR)로 스트리밍합니다. 오브젝트를 옮기고, 모디파이어를 추가하고, 머티리얼을 바꾸면 AR 화면이 1초도 안 되어 업데이트됩니다.

Blender

AR에서 모델을 확인하려면 보통 변경할 때마다 내보내고, 전송하고, 다시 열어야 합니다. ProjectAR은 Blender를 연 채로 변경된 부분만 보내므로, 테이블 위의 모델은 언제나 파일 속 모델 그대로입니다.

최대60초당 트랜스폼 업데이트 횟수
최대10오브젝트당 초당 메시 업데이트 횟수
3데스크톱 플랫폼: Windows, macOS, Linux
0추가로 설치할 Python 패키지

하이라이트 보기.

  • 작업하는 그대로, 실시간으로. Blender에서 이동, 회전, 크기 조절을 하면 테이블 위의 오브젝트도 따라 움직입니다.

  • 모디파이어까지 적용. 평가된 지오메트리를 포함해, 뷰포트에 보이는 모습이 그대로 AR에 나타납니다.

    Blender
  • 인스턴스와 스캐터도. 컬렉션, 파티클, Geometry Nodes 인스턴스도 설정한 한도까지 스트리밍됩니다.

  • 여러 대의 휴대폰, 하나의 장면. 휴대폰은 언제든 참여할 수 있으며, 나중에 합류한 기기도 장면 전체를 받습니다.

  • 스트리밍할 대상을 선택. 보이는 모든 것, 선택한 것만, 또는 컬렉션 하나. 원하는 오브젝트는 AR에서 제외할 수 있습니다.

    Blender
  • 알아서 찾아냅니다. Blender는 Bonjour를 통해 앱의 Nearby에 나타나며, IP 주소를 직접 입력할 수도 있습니다.

모든 것을 스트리밍합니다.

애드온이 보내는 것, 그리고 휴대폰을 부드럽게 유지하는 방법.

  • 실시간 스트리밍. 오브젝트 트랜스폼은 초당 최대 60회 업데이트되고, 지오메트리나 머티리얼이 바뀌면 메시를 다시 보냅니다.

  • 변경 사항만 전송. 장면 전체는 기기가 연결될 때, 파일을 열 때, 단위 배율이 바뀔 때, 또는 Resync를 누를 때만 보냅니다.

  • 모디파이어 적용. 평가된 지오메트리를 뷰포트에 보이는 그대로 보냅니다.

  • 인스턴스. 컬렉션, 파티클, Geometry Nodes 인스턴스를 설정한 한도까지 보냅니다.

  • 스트리밍 대상 선택. 보이는 모든 것, 선택한 것, 또는 컬렉션 하나. 원하는 오브젝트는 AR에서 숨길 수 있습니다.

  • AR 원점. 월드 원점이나 3D 커서가 탭한 위치에 놓이므로, 원점에서 멀리 떨어진 모델도 쉽게 배치할 수 있습니다.

  • 업데이트 일시 정지. 무거운 편집을 하는 동안 스트림을 멈춰 두면, 다시 시작할 때 휴대폰이 따라잡습니다.

  • 기본 머티리얼. Principled BSDF의 Base Color, Metallic, Roughness, Alpha를 지원합니다.

  • 자동 검색. 모든 네트워크 인터페이스에서 Bonjour를 사용하며, IP 주소를 직접 붙여 넣을 수도 있습니다.

  • 여러 기기 동시 연결. 여러 대의 휴대폰을 한 번에 연결할 수 있고, 기기마다 데이터 사용량 표시와 연결 해제 버튼이 있습니다.

  • 설정을 기억. 포트, 업데이트 빈도, 각종 한도를 저장하며, Blender와 함께 서버를 시작할 수도 있습니다.

  • 느린 휴대폰도 보호. 오브젝트별로 삼각형과 인스턴스 수에 한도를 두고, 뒤처진 기기는 자동으로 다시 동기화합니다.

작동 방식.

Blender의 데이터는 언제나 메인 스레드에서만 읽습니다. 네트워크 스레드로 넘어가는 것은 완성된 바이트 프레임뿐입니다.

  1. 장면 감시

    depsgraph 핸들러가 변경된 모든 오브젝트를 표시합니다.

  2. 프레임 생성

    Blender 메인 스레드의 타이머가 삭제, 메시, 트랜스폼을 바이트 프레임으로 변환합니다.

  3. 휴대폰마다 전송

    기기마다 하나씩 있는 전송 스레드가 완성된 프레임을 전달합니다.

  4. 서로 찾기

    Bonjour가 서버를 _viewar._tcp로 알립니다. IP 주소를 직접 입력할 수도 있습니다.

  5. 배치하기

    메시는 RealityKit의 Y축 위쪽 좌표계로 도착합니다. 표면을 탭하면 장면이 배치됩니다.

네트워크를 오가는 프레임 하나

길이4바이트 · 빅 엔디언
종류1바이트 · 1은 JSON, 2는 메시
페이로드JSON: hello, clear, transforms, remove, ping · 메시: 정점 위치, 노멀, UV, 삼각형 인덱스, 삼각형별 머티리얼(리틀 엔디언)

프로토콜 버전 1은 인스턴싱을 지원하지 않습니다. 각 인스턴스는 Trees/Pine#0.12와 같은 고정 ID를 가진 일반 오브젝트로 전송되며, 여러 인스턴스가 공유하는 메시는 업데이트마다 한 번만 삼각형으로 분할됩니다.

오래된 iPhone도 고려했습니다.

패널은 작업하는 동안 삼각형과 인스턴스 수를 세어 장면이 무거워지기 전에 경고하고, 건너뛴 항목을 목록으로 보여 줍니다.

기본 포트51515TCP, 그리고 UDP 5353의 mDNS
오브젝트당 삼각형300,000이를 넘는 오브젝트는 건너뜀
인스턴스500이를 넘는 인스턴스는 전송하지 않음

초당 업데이트 횟수

기본값은 30회입니다. 애니메이션이 많은 무거운 장면에는 15~20회를 권장합니다.

장면 규모

장면 전체를 삼각형 약 100만 개 이하로 유지하십시오. 이를 넘으면 패널이 경고합니다.

미리 볼 때

뷰포트 서브디비전 레벨을 낮추거나, 필요 없는 것을 숨기거나, 컬렉션 하나만 스트리밍하십시오.

스컬프팅할 때

업데이트를 일시 정지한 다음, 휴대폰이 따라잡도록 하십시오.

1분이면 연결됩니다.

컴퓨터와 휴대폰을 같은 네트워크에 연결하고 방화벽에서 Blender를 허용하면, 앱이 알아서 찾아냅니다.

  • Windows

    개인 네트워크에서 Blender를 허용합니다.

  • macOS

    Blender가 네트워크의 기기를 찾을 수 있도록 허용합니다.

  • Linux

    방화벽을 사용한다면 포트 두 개를 엽니다.

  • 어떤 네트워크든

    가정용 공유기나 휴대폰 핫스팟이 가장 잘 작동합니다.

  • 문제 해결

    흔히 겪는 문제의 해결 방법.

기술 사양

애드온
Blender 4.2 이상(5.2 LTS에서 테스트), Windows, macOS, Linux 지원. 추가 Python 패키지가 필요 없으며, Bonjour 라이브러리는 wheel 형태로 함께 제공됩니다.
앱
ARKit을 지원하는 iPhone 또는 iPad용 ProjectAR iOS 앱
네트워크
클라이언트 격리가 없는 같은 Wi-Fi 또는 LAN에 연결된 컴퓨터와 휴대폰
스트리밍 대상
메시, 커브, 서피스, 메타볼, 텍스트 오브젝트와 그 인스턴스. 코너별 노멀과 활성 UV 맵 포함
머티리얼
Principled BSDF의 Base Color, Metallic, Roughness, Alpha
향후 지원 예정
라이트, 카메라, 이미지 텍스처
개인정보 보호
서버는 Start Server를 누를 때만 시작되고, 로컬 네트워크에서만 수신 대기하며, 인터넷에는 전혀 연결하지 않습니다

더 많은 도구

Windows

Windows Defender 방화벽에서 묻는 창이 뜨면 개인 네트워크에서 Blender를 허용하십시오. Wi-Fi 프로필이 공용으로 설정되어 있다면 개인으로 변경하십시오.

Apple Bonjour를 설치할 필요는 없습니다. 검색 기능이 내장되어 있습니다.

macOS

묻는 창이 뜨면 Blender가 로컬 네트워크에서 기기를 찾을 수 있도록 허용하십시오. 이 설정은 나중에 시스템 설정 › 개인정보 보호 및 보안 › 로컬 네트워크에서 변경할 수 있습니다.

Linux

ufw 같은 방화벽을 사용한다면 TCP 51515와 UDP 5353을 여십시오(mDNS).

어떤 네트워크든

게스트 네트워크와 많은 사무실이나 대학 네트워크는 기기 간 통신을 차단합니다. 가정용 공유기나 휴대폰 핫스팟에서는 안정적으로 작동합니다.

자동 검색이 되지 않으면 앱에 컴퓨터의 IP 주소를 입력하십시오. 패널에 수신 대기 중인 모든 주소가 표시됩니다.

문제 해결

포트를 열 수 없는 경우. 다른 프로그램이나 또 다른 Blender가 해당 포트를 사용하고 있습니다. 설정에서 다른 포트를 선택하고 앱에도 입력하십시오.

앱이 컴퓨터를 찾지 못하는 경우. 대개 방화벽이나 네트워크가 원인입니다. 먼저 IP 주소를 직접 입력해 검색 문제인지 연결 문제인지 구분해 보십시오.

연결되었는데 아무것도 보이지 않는 경우. 표면을 탭해 장면을 배치하십시오. 오브젝트가 뷰 레이어에서 보이는지, 스트림이 빈 선택 항목으로 제한되어 있지 않은지, 업데이트가 일시 정지되어 있지 않은지 확인한 다음 Resync를 누르십시오.

탭한 곳에서 모델이 멀리 떨어져 있는 경우. 모델이 월드 원점에서 멀리 있기 때문입니다. AR Origin을 3D Cursor로 설정하고 커서를 모델에 스냅하십시오.

색상이 다른 경우. 노드가 연결되지 않은 Principled BSDF 값만 읽습니다. 텍스처를 사용한 Base Color에는 머티리얼의 뷰포트 표시 색상이 쓰입니다.