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
.glbRozszerzenie do kompaktowej produkcji binarnej glTF - Sprawdź
node.getEntity() != nullPrzed 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
| kwestia | Przyczyny | Fixy |
|---|---|---|
| Wyjątek na ładunek | Niepotrzebne lub zepsute pliki | Sprawdź, czy plik jest otwarty w widzowie 3D |
| Zaginiony materiał po obciążeniu OBJ | .mtl Archiwum nie znaleziono | Miejsce .mtl Poza tym .obj;• zapewnienie, że materiały są dozwolone |
| Nieprawidłowe rozmiary po imporcie | Różne jednostki systemowe | Wniosek 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 / Metody | Opis |
|---|---|
Scene | Najlepsze 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 |
Node | Zestaw hierarchii node |
node.createChildNode() | Tworzenie i przywiązanie dziecka do nodu |
Mesh | Polygon z punktami kontrolnymi i listami twarzy |
mesh.createPolygon() | Określ poligony twarzy |
Mesh.toMesh() | Konwersja lub klonowanie geometrii |
Transform | Lokalne tłumaczenia, rotacja i skalę |
FileFormat | Rejestr i detektor formatu |