Instalcja

Ten przewodnik obejmuje wszystko, co potrzebne, aby zainstalować Aspose.3D FOSS dla TypeScript i potwierdzić, że działa poprawnie, zanim napiszesz swój pierwszy skrypt przetwarzania 3D.

Wymagania wstępne

Upewnij się, że następujące są zainstalowane i znajdują się w twoim PATH przed kontynuacją:

NarzędzieMinimumUwagi
Node.js18 LTS20 or 22 LTS recommended
npm7Dołączony do Node.js
TypeScript5.0Instaluj za pomocą npm install -D typescript

Aby sprawdzić wersje:

node --version   # v18.x.x or later
npm --version    # 7.x or later
npx tsc --version  # Version 5.x.x

Krok 1: Utwórz projekt (jeśli potrzebny)

Jeśli dodajesz Aspose.3D do istniejącego projektu TypeScript, pomiń ten krok i przejdź od razu do Kroku 2.

Dla nowego projektu:

mkdir my-3d-project && cd my-3d-project
npm init -y
npm install -D typescript ts-node @types/node

Krok 2: Zainstaluj @aspose/3d

npm install @aspose/3d

Instaluje to pakiet oraz jego jedyną zależność przechodnią, xmldom, automatycznie. Nie są wymagane dodatkowe pakiety systemowe, natywne dodatki ani kompilatory. Instalacja jest zakończona, gdy @aspose/3d pojawia się w twoim package.json w dependencies.

Zweryfikuj instalację:

ls node_modules/@aspose/3d

Powinieneś zobaczyć katalog pakietu z package.json, pliki definicji typów (.d.ts), oraz skompilowanym JavaScriptem.

Krok 3: Skonfiguruj TypeScript

Dodaj lub zaktualizuj tsconfig.json w katalogu głównym projektu z następującymi ustawieniami. Są one wymagane dla pełnej kompatybilności z definicjami typów biblioteki i wyjściem CommonJS:

{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs",
    "moduleResolution": "node",
    "esModuleInterop": true,
    "strict": true,
    "outDir": "dist",
    "rootDir": "src"
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules", "dist"]
}

Kluczowe ustawienia i ich znaczenie:

UstawienieWartośćDlaczego
targetES2020Włącza opcjonalne łańcuchowanie, operator nullish coalescing oraz inne funkcje ES2020 używane wewnętrznie
modulecommonjsBiblioteka dostarcza wyjście CommonJS; musi się zgadzać
moduleResolutionnodeWymagane do prawidłowego rozwiązywania the @aspose/3d importy podścieżek
esModuleInteroptrueUmożliwia domyślne importy z modułów CommonJS bez obejść przestrzeni nazw
stricttrueBiblioteka została napisana przy użyciu noImplicitAny oraz strictNullChecks; pozostaw to włączone

Krok 4: Zweryfikuj instalację

Utwórz src/verify.ts z następującym minimalnym testem importu:

import { Scene } from '@aspose/3d';

const scene = new Scene();
console.log('Aspose.3D FOSS for TypeScript is installed correctly.');
console.log('rootNode name:', scene.rootNode.name);

Skompiluj i uruchom:

npx tsc
node dist/verify.js

Oczekiwany wynik:

Aspose.3D FOSS for TypeScript is installed correctly.
rootNode name:

Nazwa węzła głównego jest domyślnie pustym ciągiem znaków — scene.rootNode jest tworzony bez argumentu nazwy.

Jeśli wolisz pominąć krok kompilacji podczas rozwoju, uruchom bezpośrednio przy użyciu ts-node:

npx ts-node src/verify.ts

Krok 5: Szybki start: Załaduj scenę i wypisz informacje o węzłach

Poniższy skrypt ładuje plik 3D i wypisuje nazwę oraz typ encji każdego węzła w scenie. Działa z każdym obsługiwanym formatem: OBJ, glTF, GLB, STL, 3MF, FBX lub COLLADA.

import { Scene, Node } from '@aspose/3d';

function printNode(node: Node, depth: number = 0): void {
  const indent = '  '.repeat(depth);
  const entityType = node.entity ? node.entity.constructor.name : '(no entity)';
  console.log(`${indent}${node.name} [${entityType}]`);
  for (const child of node.childNodes) {
    printNode(child, depth + 1);
  }
}

const scene = new Scene();

// Replace 'model.obj' with any supported 3D file path.
// Format is detected automatically from binary magic numbers.
scene.open('model.obj');

console.log('Scene loaded. Node hierarchy:');
printNode(scene.rootNode);

Zapisz to jako src/quickstart.ts i uruchom go:

npx ts-node src/quickstart.ts

Dla pliku OBJ z jedną siatką o nazwie Cube, wynik będzie wyglądał następująco:

Scene loaded. Node hierarchy:
 [(no entity)]
  Cube [Mesh]

Węzeł główny ma pustą nazwę (wyświetlaną jako pusty prefiks). Węzły potomne dziedziczą swoje nazwy z załadowanego pliku.

Uwagi dotyczące zależności

Aspose.3D FOSS for TypeScript ma dokładnie jedną zależność w czasie wykonywania:

PakietCelInstalowany automatycznie
xmldomParsowanie XML dla obsługi formatu COLLADA (DAE) i 3MFTak, przez npm install @aspose/3d

Nie musisz instalować xmldom ręcznie. Pojawi się w twoim node_modules po głównym poleceniu instalacji. Nie ma natywnych dodatków (.node pliki) i nie wymaga bibliotek systemowych.

Kolejne kroki

Teraz, gdy biblioteka jest zainstalowana i zweryfikowana:

  • Przeczytaj Przewodnik dewelopera aby uzyskać pełny przewodnik po wszystkich obszarach funkcji.
  • Zobacz Funkcje i możliwości w celu uzyskania szczegółów dotyczących obsługi formatów, wzorców grafu sceny, interfejsów API materiałów i animacji oraz pełnych przykładów kodu TypeScript.
 Polski