1. 제품
  2.   3D
  3.   Node.js
  4.   glTF-Transform
 
  

3D glTF 모델 작업을 위한 오픈 소스 Node.js SDK

선도적인 오픈 소스 Node.js 3D SDK는 소프트웨어 개발자가 Node.js 애플리케이션 내에서 glTF 3D 모델을 읽고, 쓰고, 편집하고, 최적화하고, 조작할 수 있도록 합니다.

glTF-Transform이란 무엇인가요?

3D 그래픽 및 디지털 콘텐츠의 세계는 끊임없이 변화하고 있습니다. 소프트웨어 개발자와 아티스트에게 적절한 도구를 갖추는 것은 매우 중요합니다. 많은 주목을 받고 있는 도구 중 하나는 glTF-Transform 라이브러리입니다. Don McCurdy가 만든 이 오픈소스 프로젝트는 게임 체인저입니다. 이는 소프트웨어 개발자와 아티스트가 3D 기하학 처리의 모든 복잡한 측면을 다루는 데 도움을 줍니다. GL Transmission Format을 의미하는 glTF 포맷은 Khronos Group이 만든 표준입니다. 이는 Node.js 애플리케이션 내에서 3D 씬과 모델을 효율적으로 전송하고 로드하는 데 중점을 둡니다.

glTF 포맷을 사용해 3D 그래픽을 만들고 싶다면 glTF-Transform 라이브러리는 필수 도구입니다. 웹에서 사용하기에 가볍고 간단해 뛰어납니다. 이 도구는 텍스처, 애니메이션, 셰이더와 같은 모든 종류의 3D 콘텐츠를 처리할 수 있습니다. 또한 시각적 품질을 손상시키지 않으면서 glTF 파일 크기를 줄이는 데 도움을 줍니다. 이를 통해 로딩 시간이 빨라지고 웹 페이지 성능이 향상됩니다. 더 나아가 다양한 게임 엔진 및 플랫폼용 자산을 손쉽게 변환하고 향상시킵니다. 풍부한 기능, 사용자 친화적인 인터페이스, 오픈 소스 설계 덕분에 3D 자산을 정제하고 변환하는 데 선호되는 선택이 됩니다. 전반적으로 glTF-Transform 라이브러리는 glTF 포맷의 3D 모델을 다루는 사람들에게 유용한 도구입니다.

Previous Next

glTF-Transform 시작하기

glTF-Transform 안정 버전을 설치하는 가장 쉬운 방법은 npm을 사용하는 것입니다. 원활한 설치를 위해 다음 명령어를 사용하세요.

npm을 통해 glTF-Transform 설치

npm install --global @gltf-transform/cli 

GitHub를 통해 glTF-Transform 설치.

clone https://github.com/donmccurdy/glTF-Transform.git 

컴파일된 공유 라이브러리를 깃허브 저장소에서 다운로드할 수 있습니다.

Node.js에서 glTF 씬 읽기 및 쓰기

오픈 소스 glTF-Transform SDK는 소프트웨어 개발자가 자체 Node.js 애플리케이션 내에서 처음부터 새로운 glTF 씬을 만들거나 기존 씬을 로드하고 읽는 것을 쉽게 해줍니다. 이 라이브러리는 기존 씬 수정, glTF 파일 압축, 재질 속성 수정, 노드 계층 구조 조정 등을 지원합니다. 다음은 소프트웨어 개발자가 기존 glTF 파일을 로드하고 업데이트한 뒤, 수정된 glTF 파일을 Node.js 애플리케이션 내에서 원하는 위치에 저장할 수 있는 간단한 예제입니다.

Node.js 애플리케이션에서 수정된 glTF 파일을 로드하고 저장하는 방법은?

const { NodeIO } = require('@gltf-transform/io');

// Create an IO instance.
const io = new NodeIO();

// Load a glTF file.
const document = io.read('path/to/your/model.glb');

// Perform operations on the document...

// Save the modified glTF file.
io.write('path/to/your/output.glb', document);

Node.js에서 glTF 파일 압축 및 최적화

오픈 소스 glTF-Transform SDK는 기능이 풍부하여 소프트웨어 개발자가 자체 Node.js 환경에서 glTF 파일을 압축하고 최적화할 수 있게 해줍니다. 몇 줄의 코드만으로도 라이브러리는 시각적 품질을 유지하면서 파일 크기를 크게 줄일 수 있습니다. 이는 특히 로드 시간과 대역폭이 중요한 웹 애플리케이션에서 성능 향상에 필수적입니다. 다음 예제는 소프트웨어 개발자가 기존 glTF 파일을 압축하여 Node.js 애플리케이션 내에서 크기를 줄이는 방법을 보여줍니다.

Node.js 애플리케이션에서 glTF 파일을 압축하여 크기를 최적화하는 방법은?

const { NodeIO } = require('@gltf-transform/io');
const { DracoMeshCompression } = require('@gltf-transform/extensions');
const { DracoMeshEncoder } = require('@gltf-transform/functions');

const io = new NodeIO();
const document = io.read('path/to/your/model.glb');

// Add Draco compression.
document.createExtension(DracoMeshCompression)
    .setRequired(true);

await document.transform(
    DracoMeshEncoder({ method: DracoMeshEncoder.Method.EDGEBREAKER })
);

io.write('path/to/your/output-compressed.glb', document);

Node.js에서 glTF 파일 변환 및 편집

glTF 포맷은 Khronos Group이 개발한 로열티 프리 3D 자산 전달 표준입니다. 3D 씬과 모델의 효율적인 전송 및 로딩을 위해 최적화되었습니다. glTF-Transform SDK는 노드 계층 구조 변경, 재질 속성 수정, 애니메이션 조정 등 glTF 파일을 광범위하게 수정할 수 있게 해줍니다. 이러한 기능을 통해 개발자는 특정 요구에 맞게 3D 자산을 맞춤화할 수 있는 유연성을 얻습니다. 다음 예제는 소프트웨어 개발자가 자체 Node.js 애플리케이션 내에서 노드 계층 구조를 조정하는 방법을 보여줍니다.

Node.js 애플리케이션에서 노드 계층 구조를 조정하는 방법은?

const { NodeIO } = require('@gltf-transform/io');
const { DracoMeshCompression } = require('@gltf-transform/extensions');
const { DracoMeshEncoder } = require('@gltf-transform/functions');

const io = new NodeIO();
const document = io.read('path/to/your/model.glb');

// Add Draco compression.
document.createExtension(DracoMeshCompression)
    .setRequired(true);

await document.transform(
    DracoMeshEncoder({ method: DracoMeshEncoder.Method.EDGEBREAKER })
);

io.write('path/to/your/output-compressed.glb', document);

Node.js 내부에서 glTF 3D 파일 변환

glTF-Transform SDK는 Node.js 애플리케이션 내에서 다양한 버전 및 확장자 간에 glTF 파일을 변환하는 것을 완벽히 지원합니다. 이 기능은 다양한 플랫폼 및 애플리케이션과의 호환성을 보장하는 데 특히 유용합니다. 또한 이 라이브러리는 glTF 파일을 다른 파일 형식으로 내보낼 수 있어 사용 범위와 통합을 확대합니다.

 한국인