Funkcje i funkcje

Funkcje i funkcje

Ta strona obejmuje każdą główną strefę funkcji Aspose 3D-Foss 26.0 zł Przykłady pracy z Java.


Pobieranie i oszczędzanie scen

scene.open() pobieranie pliku; scene.save() Eksportuje go:

import com.aspose.threed.Scene;

Scene scene = new Scene();
scene.open("input.obj");
scene.save("output.glb");

Alternatywa statyczna fabryczna:

Scene scene = Scene.fromFile("input.fbx");
scene.save("output.stl");

Opcje specjalne formatów

paszport LoadOptions lub SaveOptions Podklasy do kontroli drobno-gruntownej:

import com.aspose.threed.*;

Scene scene = new Scene();
ObjLoadOptions opts = new ObjLoadOptions();
opts.setFlipCoordinateSystem(true);
scene.open("model.obj", opts);

GltfSaveOptions saveOpts = new GltfSaveOptions();
saveOpts.setFlipCoordinateSystem(true);
scene.save("model.glb", saveOpts);

Uwaga : FBX jest obsługiwany tylko na import; eksport FB X nie jest wdrażany w wersji FOSS. binary fbx pliki są obsługiwane do importu — ASCII FBX wyrzuca ImportException.


Tworzenie scenografii

Tworzenie węzłów i przyłączanie podmiotów:

Scene scene = new Scene();
Node root = scene.getRootNode();

Mesh mesh = new Mesh("myMesh");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.createPolygon(0, 1, 2);

Node meshNode = root.createChildNode("triangle", mesh);

Operacje Mesh

Tworzenie A Mesh Programowanie z punktami sterowania i poligony:

Mesh mesh = new Mesh("custom");
mesh.getControlPoints().add(new Vector4(0, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 0, 0));
mesh.getControlPoints().add(new Vector4(10, 10, 0));
mesh.getControlPoints().add(new Vector4(0, 10, 0));
mesh.createPolygon(0, 1, 2, 3);

Transformacja

Każdy Node Przeprowadza A Transform:

Node node = scene.getRootNode().createChildNode("moved", new Mesh());
node.getTransform().setTranslation(10, 0, 5);
node.getTransform().setScale(2, 2, 2);

Czytaj dalej Świat poprzez node.getGlobalTransform().getMatrix().


Materiały

Materiały do przyczep:

import com.aspose.threed.*;

PbrMaterial mat = new PbrMaterial("shiny");
mat.setAlbedo(new Vector4(0.8, 0.2, 0.2, 1.0));
mat.setMetallicFactor(0.5);
mat.setRoughnessFactor(0.3);

scene.getRootNode().createChildNode("red_mesh", mesh, mat);

Rodzaje materiałów: Material w bazie , PbrMaterial (PBR metaliczna twardość).


Porady i najlepsze praktyki

  • Używanie Scene.fromFile() dla ładunków pojedynczych, gdy nie są potrzebne opcje dostosowane do siebie
  • Zbuduj programowanie z createPolygon() dla geometrycznych
  • Używanie .glb Rozszerzenie do kompaktowej produkcji binarnej glTF
  • Sprawdź node.getEntity() != null Przed castingem
  • Eksport STL jest Nie Wyjście binarne STL pisze tylko pierwsze 3 piony każdego poligonu - twarze kwadratowe lub n-gon są cicho zakrzywione. ASCII ST L wyjść wszystkie indeksy, które wytwarzają zniekształcone bloky twarzy dla nie-triangle twarz. Zawsze przechodzi pre-trójkątne mase (wszystkie twarzes trójkąta) do eksportu STl w celu uniknięcia utraty danych lub nieprawidłowego wyjścia.

wspólne kwestie

kwestiaPrzyczynyFixy
Wyjątek na ładunekNiepotrzebne lub zepsute plikiSprawdź, czy plik jest otwarty w widzowie 3D
Zaginiony materiał po obciążeniu OBJ.mtl Archiwum nie znalezionoMiejsce .mtl Poza tym .obj;• zapewnienie, że materiały są dozwolone
Nieprawidłowe rozmiary po imporcieRóżne jednostki systemoweWniosek A Transform Skala po ładowaniu

FAQ

Jak rozpoznać format pliku?

FileFormat format = FileFormat.detect("unknown.bin");
System.out.println(format.getExtension());

Czy mogę pobrać z prądu?

Tak i tak. scene.open() akceptuje jeden InputStream.

Jakie formaty wspierają zarówno import, jak i eksport?

OBJ, STL i glTF/GLB obsługują obie kierunki. FBX jest tylko importowany; eksport nie jest realizowany w wersji FOSS.


Podsumowanie referencji API

Klasy / MetodyOpis
SceneNajlepsze 3D sceny kontenerowe
scene.open()Pobierz plik 3D według ścieżki lub strumienia
scene.save()Scena eksportu do pliku lub strumienia
Scene.fromFile()statyczny fabryka do ładowania i zwrotu a Scene
NodeZestaw hierarchii node
node.createChildNode()Tworzenie i przywiązanie dziecka do nodu
MeshPolygon z punktami kontrolnymi i listami twarzy
mesh.createPolygon()Określ poligony twarzy
Mesh.toMesh()Konwersja lub klonowanie geometrii
TransformLokalne tłumaczenia, rotacja i skalę
FileFormatRejestr i detektor formatu
 Polski