1. 제품
  2.   Aspose.3D
  3.   Aspose.3D FOSS for TypeScript

Aspose.3D FOSS for TypeScript

Node.js에서 3D 씬을 로드하고, 구축하며, 변환하고, 내보냅니다 — 완전한 타입 지원, 오픈소스, 그리고 단일 npm 설치만으로 프로덕션 준비가 완료되었습니다.

3D 파일 처리를 위한 오픈소스 TypeScript 라이브러리

Aspose.3D FOSS for TypeScript는 Node.js 애플리케이션에서 3D 파일 형식을 다루기 위한 MIT 라이선스 라이브러리입니다. npm install @aspose/3d 명령 하나로 설치하고 즉시 TypeScript에서 3D 씬을 읽고, 구성하고, 작성할 수 있습니다. 네이티브 애드온을 컴파일할 필요도 없고, 외부 SDK를 설치할 필요도 없으며, 렌더러도 필요하지 않습니다.

이 라이브러리는 Scene, Node, Entity, Mesh, Camera, Light, Transform을 중심으로 구성된 완전 타입이 지정된 씬 그래프 API를 제공하며, 이는 전문 3D 툴에서 사용하는 개념 모델과 동일합니다. 지원 형식에는 OBJ (Wavefront, .mtl 소재 로딩 포함), glTF 2.0 및 GLB 바이너리 (PBR 소재), STL (바이너리 및 ASCII, 전체 라운드트립), COLLADA (DAE), 3MF, FBX가 포함됩니다. ObjLoadOptionsGltfSaveOptions와 같은 형식별 옵션 클래스는 좌표계 방향, 스케일, 노멀 정규화, 바이너리와 JSON 출력 선택, 소재 로딩 등에 대한 정밀한 제어를 제공합니다.

Aspose.3D FOSS는 Node.js 18, 20, 22+와 TypeScript 5.0+을 대상으로 하며 CommonJS로 컴파일됩니다. 이 라이브러리는 엄격한 TypeScript 컴파일러 설정(noImplicitAny, strictNullChecks)을 포함하고 있어 IDE에서 완전한 자동 완성과 컴파일 시 안전성을 제공합니다. 단일 런타임 의존성인 xmldom은 자동으로 설치됩니다.

3D 포맷 지원 및 타입이 지정된 씬 그래프 API

  • OBJ / MTL: Wavefront OBJ 파일을 해당 소재 정의와 함께 로드합니다.
  • glTF 2.0 / GLB: GltfSaveOptions를 통해 PBR 소재 로딩 및 바이너리 GLB 출력.
  • STL: 바이너리와 ASCII STL을 모두 읽고 쓰며 전체 라운드트립 검증을 수행합니다.
  • COLLADA, 3MF, FBX: 형식별 옵션 클래스를 통한 추가 형식 지원.
  • Full TypeScript types: 모든 클래스, 메서드, 옵션이 noImplicitAnystrictNullChecks를 적용한 강력한 타입을 가집니다.

어디에서 Aspose.3D FOSS 를 사용할 수 있나요

  • Node.js asset pipelines: OBJ 파일을 가져와 검증하고 기하학을 재정렬한 뒤 CI에서 GLB로 내보냅니다.
  • Game tooling: 네이티브 엔진이나 렌더러 없이 3D 메쉬를 일괄 처리합니다.
  • 3D printing workflows: STL 및 3MF 파일을 읽고 검증한 뒤 재내보냅니다.
  • Serverless backends: Lambda 또는 Cloud Functions에서 3D 변환 엔드포인트를 실행합니다.
  • Content migration: 단일 스크립트로 대규모 형식군 간 변환을 수행합니다.

포맷별 옵션 및 좌표 제어

  • Coordinate-system orientation: 옵션 클래스와 함께 형식별로 축을 뒤집고 스케일을 조정합니다.
  • Normal normalization: 로드하거나 저장할 때 정점 노멀을 자동으로 정규화합니다.
  • Binary vs. JSON output: GltfSaveOptions를 통해 압축된 GLB 또는 읽기 쉬운 glTF를 선택합니다.
  • Material loading control: 더 빠른 파싱을 위해 MTL/텍스처 로드를 활성화하거나 비활성화합니다.
  • Round-trip fidelity: 알 수 없는 씬 그래프 노드는 재저장 시 그대로 보존됩니다.

개발자 경험

Aspose.3D FOSS for TypeScript는 단일 npm install @aspose/3d 명령으로 설치할 수 있습니다. 컴파일할 네이티브 애드온이 없습니다. 이 라이브러리는 순수 TypeScript/JavaScript이며 자동으로 설치되는 종속성 하나(xmldom)만 포함합니다.

강력히 타입이 지정된 API는 모든 scene-graph 클래스와 포맷 옵션에 대한 완전한 IDE 자동완성을 제공합니다. 이 라이브러리는 Node.js 18–22+와 TypeScript 5.0+를 대상으로 하며, Linux CI 러너와 개발자 워크스테이션에서 동일하게 실행됩니다. 또한 MIT 라이선스를 적용받으며 GitHub에 공개 이슈 트래커가 있습니다.

OBJ 씬을 로드하고 glTF로 내보내기

npm으로 설치한 후, ObjLoadOptions와 함께 동기식 scene.open() 메서드를 사용하여 메쉬와 해당 MTL 재질 파일을 로드합니다. .gltf 확장자를 사용해 scene.save()를 호출하면 표준 glTF 2.0 JSON이 작성되며, 형식은 파일 확장자에서 자동으로 추론됩니다.

npm install @aspose/3d
import { Scene } from "@aspose/3d";
import { ObjLoadOptions } from "@aspose/3d/formats/obj";

const scene = new Scene();
scene.open("model.obj", new ObjLoadOptions());

// glTF 2.0 JSON으로 내보내기
scene.save("model.gltf");

STL을 바이너리 GLB로 변환

기본 JSON glTF 대신 컴팩트한 바이너리 GLB를 생성하려면 GltfSaveOptionsbinaryMode = true를 전달하십시오.

import { Scene } from "@aspose/3d";
import { GltfSaveOptions } from "@aspose/3d/formats/gltf";

const scene = new Scene();
scene.open("mesh.stl");

// 컴팩트 바이너리 GLB로 저장
const opts = new GltfSaveOptions();
opts.binaryMode = true;
scene.save("mesh.glb", opts);

자주 묻는 질문

TypeScript용 Aspose.3D FOSS는 무엇인가요?

이 라이브러리는 무료이며 MIT 라이선스를 가진 TypeScript/Node.js 라이브러리로, 네이티브 애드온이나 외부 SDK를 설치하지 않고 3D 씬을 로드, 조작 및 저장할 수 있습니다.

지원되는 3D 포맷은 무엇인가요?

OBJ(.mtl 포함), glTF 2.0 및 GLB, STL(바이너리 및 ASCII), COLLADA(DAE), 3MF, 그리고 FBX. 각 포맷마다 전용 타입 옵션 클래스가 있습니다.

네이티브 Node.js 애드온이 필요합니까?

아니요. Aspose.3D FOSS for TypeScript는 순수 JavaScript/TypeScript입니다. 컴파일 단계가 필요 없으며 npm이 자동으로 설치하는 단일 런타임 의존성(xmldom)만 있습니다.

어떻게 설치하나요?

npm install @aspose/3d를 실행하세요. 추가적인 시스템 패키지나 네이티브 애드온이 필요하지 않습니다.

지원되는 Node.js 및 TypeScript 버전은 무엇입니까?

Node.js 18, 20, 및 22+. TypeScript 5.0+. 이 라이브러리는 CommonJS로 컴파일되며 엄격한 TypeScript 설정에서 작동합니다.

TypeScript 타입 정의가 포함되어 있나요?

예. 모든 클래스, 메서드, 열거형, 그리고 옵션 타입은 noImplicitAnystrictNullChecks가 활성화된 상태에서 완전하게 타입이 지정됩니다.

좌표계 방향을 제어할 수 있나요?

예. ObjLoadOptionsGltfSaveOptions와 같은 포맷별 옵션 클래스는 사용자 정의 파싱 코드를 작성하지 않고도 축을 뒤집고, 스케일을 조정하며, 노멀을 정규화할 수 있게 해줍니다.

소스 코드는 어디에서 찾을 수 있나요?

이 라이브러리는 MIT 라이선스를 따르며 GitHub에 호스팅됩니다. 버그 보고 및 풀 리퀘스트를 환영합니다.

  

지원 및 학습 자료

 한국어