Skip to content

Desuq Cafe

Loom

프리뷰

Blender에서 Unity·Unreal로 잇는 라이브 링크

Blender · source Unity Unreal one binary link · two engines
하나의 Blender 프로듀서(왼쪽)가 단일 바이너리 링크를 통해 두 개의 라이브 엔진 뷰포트, Unity와 Unreal로 스트리밍합니다. 각각 생성된 프로시저럴 머티리얼로 셰이딩되며, 변경된 부분만 와이어를 건너갑니다.

Blender에서 모델링하면서 그 결과를 Unity나 Unreal에서 즉시 확인하세요. Loom은 메시, 리그, 라이트, 카메라, 머티리얼을 직접 바이너리 링크로 엔진 뷰포트에 그대로 스트리밍합니다. 버텍스를 편집하고, 애니메이션을 스크럽하고, 라이트를 조정하면 몇 밀리초 만에 반영됩니다. 익스포트도, FBX 왕복도, 중계 서버도 없습니다. 만족스러우면 세션 전체를 실제 prefab, Blueprint, 에셋으로 베이크하세요. Loom은 프리뷰이자 파이프라인입니다.

Blender Unity Unreal Python C# C++

익스포트가 아닌 라이브

Blender에서 편집하면 엔진 뷰포트가 몇 밀리초 만에 갱신됩니다. FBX도, 중계도, 디스크도 없습니다.

두 엔진, 하나의 와이어

하나의 Blender 프로듀서가 Unity(URP)와 Unreal을 동등하게 구동합니다. 둘 다 같은 프로토콜 위에서 동작합니다.

메시뿐 아니라 머티리얼도

20개 이상의 셰이더 노드를 실제 URP 셰이더로 트랜스파일하고, 19가지 Mix 블렌드 모드를 모두 Blender 소스에서 이식했습니다.

장난감이 아닌 파이프라인

라이브 세션을 실제 prefab, Blueprint, 에셋으로 베이크하며, 베이크 시점에 콜라이더와 LOD도 함께 만듭니다.

동기화되는 것

Loom의 폭넓은 범위가 바로 핵심입니다. 라이브 링크는 씬 거의 전체를 실어 나르며, 여기 있는 모든 것이 여러분이 여는 어느 에디터에든 도착합니다.

  • 9가지 Blender 오브젝트 유형: 메시, 커브, 텍스트, 서피스, 메타볼, 아마추어, 라이트, 카메라, 엠프티
  • 1~8개의 모든 UV 채널과 RGBA 버텍스 컬러, 큰 메시를 위한 32비트 인덱스
  • 아마추어와 셰이프 키, 라이브 포즈와 blendshape 웨이트
  • 4가지 라이트 유형, 피사계 심도를 갖춘 원근·직교 카메라
  • 월드 HDRI와 포그
  • 컬렉션, 지오메트리 노드, 파티클 인스턴싱, 링크된 복제본 중복 제거 포함
  • 콘텐츠 단위로 중복 제거된 텍스처를 갖춘 Principled 머티리얼
  • 20개 이상의 셰이더 노드를 실제 URP 셰이더로 트랜스파일, 19가지 Mix 블렌드 모드 전부
  • 라이브 콜라이더, LOD 그룹, 게임용 레이어·태그·static 라우팅

두 엔진, 하나의 링크

Loom은 Blender 프로듀서이며 두 개의 일급 컨슈머를 갖습니다. 같은 와이어가 둘 다 구동하므로 모든 기능이 어느 에디터에든 도착합니다. Unreal은 각 Unity 개념에 대응하는 관용적인 대상만 사용할 뿐입니다.

Unity에서 Unreal에서
라이브 메시 MeshFilter + MeshRenderer / SkinnedMeshRenderer UDynamicMeshComponent(CPU 선형 블렌드 스키닝)
머티리얼 생성된 URP 셰이더 / URP Lit Custom 노드에 이식된 HLSL을 가진 LoomLit UMaterial
인스턴싱 RenderMeshInstanced 산포 UInstancedStaticMeshComponent(인스턴스별 데이터)
라이트와 카메라 Light / Camera(+ 피사계 심도) U*LightComponent / UCineCameraComponent
LOD LODGroup + 자식 메시 하나의 멀티 LOD UStaticMesh
애니메이션 .anim AnimationClip UAnimSequence(+ 모프 타깃 커브)
베이크 prefab(.prefab) 저장된 에셋 위의 재사용 가능한 BP_LoomBake Blueprint

머티리얼과 셰이더

대부분의 라이브 브리지는 지오메트리에서 멈춥니다. Loom은 Blender 셰이더 노드 그래프를 실제로 컴파일되는 셰이더, Unity에서는 URP .shader, Unreal에서는 LoomLit 머티리얼 안에 이식된 HLSL로 트랜스파일합니다. 평면적인 근사가 아닙니다. 프로시저럴 노드는 Blender 5.1 자체 소스에서 이식했으므로, 생성된 셰이더는 Blender의 룩을 추측하지 않고 재현합니다.

20개 이상의 노드를 실제 셰이더로 트랜스파일

  • Noise(정확한 Perlin fBM)
  • Voronoi(정확한 PCG 해시)
  • Mix Color(19가지 모드 전부)
  • ColorRamp
  • Math
  • Vector Math
  • Map Range
  • Mapping
  • Image Texture
  • Bump
  • Normal Map
  • Fresnel
  • Layer Weight
  • Gradient
  • Checker
  • Wave
  • Magic
  • Separate / Combine
  • Object Info
  • Texture Coordinate
  • 실제로 컴파일되는 셰이더이며 프리뷰용 꼼수가 아닙니다. 생성된 셰이더는 Forward와 Deferred, 그림자, 뎁스 프리패스, SSAO를 지원합니다.
  • 충실한 폴백. 지원되지 않는 그래프는 정확한 Principled 머티리얼로 축소되고, 오프라인 사전 검사가 연결 전에 해당 노드를 짚어 줍니다.
  • 내 머티리얼 고정. 어떤 Blender 머티리얼이나 오브젝트든 내 엔진 머티리얼로 재정의할 수 있고, 재동기화 때마다 유지됩니다.
  • 텍스처를 제대로 처리. 콘텐츠 단위로 중복 제거하고 엔진 맵 슬롯(메탈릭과 글로스, 노멀과 강도, 오클루전)에 패킹하며 HDR을 보존합니다.

빠른 이유

Loom은 GPU가 바로 쓸 수 있는 바이트를, 변경된 것만 보냅니다. 동기화 경로에서는 텍스트로 직렬화하거나 디스크에 쓰지 않습니다.

  • 직접 바이너리 링크. 원시 float32와 uint32 버퍼가 Blender의 numpy에서 엔진으로 곧장 갑니다. JSON도, 중계도, 디스크도 없습니다.
  • 변경된 것만. 오브젝트를 움직이면 40바이트 트랜스폼 패킷을 보냅니다. 스컬프팅과 애니메이션은 위치만 스트리밍하고 씬 전체를 보내지 않습니다.
  • 논블로킹. 소켓 I/O가 워커 스레드에서 돌아가므로 어느 에디터도 끊기지 않습니다.
  • 자가 복구. 스크립트 재컴파일과 연결 끊김을 견디고, 재연결하면 씬 전체를 다시 동기화합니다.

픽셀 충실, 게다가 증명 가능

폭넓음은 결과가 정확할 때만 의미가 있습니다. Loom은 룩이 일치하고 계속 일치하도록 만들어졌습니다.

  • 눈대중이 아니라 소스에서 이식. 프로시저럴 텍스처와 19가지 Mix 모드 전부를 Blender 5.1 자체 셰이더 소스에서, 정확한 Perlin과 PCG 해시까지 옮겼습니다.
  • 하나의 와이어, 세 가지 구현, 바이트 단위로 동일함을 증명. Python 프로듀서와 C#, C++ 컨슈머를 같은 골든 와이어 바이트 픽스처로 검증합니다.
  • 에디터를 닫은 채 엔드투엔드로 테스트. 헤드리스 Blender와 Unity 스위트가 실제 직렬화, 소켓, 재구축, 베이크 경로를 CI에서 구동하며, .blend에서 .prefab까지의 완전한 빌드도 포함합니다.

프리뷰에서 프로덕션으로

라이브 프리뷰는 막다른 길이 아닙니다. 실제 프로젝트 에셋으로 나아갑니다.

prefab / Blueprint로 베이크

공유 메시와 생성 머티리얼은 단일 에셋으로 중복 제거되고, 노드 그래프 셰이더는 실제 파일로 남으며, 트리 위에 prefab 또는 BP_LoomBake Blueprint가 저장됩니다.

베이크 시점에 게임 대응

베이크된 에셋에 라이트맵 UV와 static GI 플래그, LOD 그룹, 콜라이더를 생성합니다.

AnimationClip으로 베이크

본과 blendshape 애니메이션의 프레임 범위를 Unity .anim 클립이나 Unreal UAnimSequence로 캡처합니다.

기록과 재생

라이브 스트림을 .loomcache 파일로 기록하고 같은 빌더로 재생하여 오프라인 리뷰나 회귀 테스트 픽스처로 씁니다.

헤드리스 / CI 베이크

에디터를 하나도 열지 않고 .blend에서 .prefab 빌드를 구동하므로, 책상 앞 아티스트뿐 아니라 스튜디오 빌드 시스템도 Loom을 쓸 수 있습니다.

제어, 안전성, 손맛

  • 선택적 동기화. 단일 컬렉션이나 선택한 부분만 스트리밍하고, 완성된 오브젝트를 프리즈하여 다른 곳을 작업하는 동안 갱신을 멈춥니다.
  • 기본은 단방향, 수동 편집 보호 포함. 엔진에서 동기화된 오브젝트를 살짝 움직여도 놓아줄 때까지 덮어쓰지 않고 일시 정지됩니다.
  • 옵트인 양방향 편집. 트랜스폼과 선택을 Blender로 되돌리거나, 지원되지 않는 그래프 머티리얼을 엔진에서 맵으로 온디맨드 베이크합니다.
  • 플레이 모드 중 동기화. 라이브 편집이 실행 중인 세션으로 스트리밍되고 도메인 리로드를 견디며, 플레이 중임을 알리는 명확한 표시가 있습니다.
  • localhost에서 설정 불필요. 처리량, 큐 깊이, 병합된 프레임, 가장 무거운 오브젝트를 라이브 HUD로 보여 줍니다.

호환성

  • Blender 4.2 이상(5.1 기준으로 개발)
  • Universal Render Pipeline(URP)을 사용하는 Unity 2022.3 LTS 이상
  • Unreal Engine 5.4~5.8, C++ 프로젝트, Win64
  • 같은 컴퓨터에서 에디터 간 루프백 TCP 연결(기본값 127.0.0.1:8787)

제공 상태

Loom은 프리뷰 단계이며 아직 판매하지 않습니다. 기능 전체가 구현되어 두 엔진에 걸쳐 지속적으로 테스트되고 있으며, 1.0 릴리스까지 남은 작업은 가이드형 비주얼 다듬기 패스와 릴리스 패키징입니다. Blender 애드온은 무료이며 MIT 라이선스이고, Unity와 Unreal 컨슈머 플러그인은 상용으로, 릴리스 시점에 Unity Asset Store와 Fab 리스팅이 이어집니다. 업데이트나 얼리 액세스를 원하시나요? 아래로 연락 주세요.

지원

프리뷰 중 질문, 버그 신고, 기능 요청이 있으신가요? 이메일로 연락 주시면 답변드리겠습니다.

설치 절차, 아키텍처 노트, 로드맵은 문서 에서도 살펴볼 수 있습니다.