3D Převod formátů prostřednictvím Java

Převádějte formáty souborů 3D bez instalace softwaru pro modelování a vykreslování 3D a sestavujte aplikace Java pro více platforem.

 

Pro vytváření, úpravy, manipulaci a ukládání trojrozměrných grafických aplikací poskytuje Java 3D API vysokou úroveň metod k provádění takových funkcí bez instalace jakéhokoli 3D softwaru pro modelování a vykreslování. Jen málo z nich vytváří síť různých trojrozměrných geometrických tvarů, vytváří soubor scény 3D, nastavuje normály nebo UV na krychli, formátuje prvky, přidává vlastnosti animace a další.

Převeďte soubor 3D do různých formátů

Proces převodu je jednoduchý. Stačí načíst zdrojový soubor 3D pomocí Třída scén Protože scéna je objekt nejvyšší úrovně, který má uzly, geometrie, textury, materiály, animace, pozice, podscény atd. Vytvořte příslušné Uložit možnosti jako jsou AmfSaveOptions, ColladaSaveOptions, Discreet3dsSaveOptions, DracoSaveOptions, FbxSaveOptions, GltfSaveOptions, RvmSaveOptions, StlSaveOptions, U3dSaveOptions atd. a podle toho nastavte vlastnosti. Nakonec zavolejte metodu uložení s výstupním souborem a vytvořeným objektem možností uložení cílového formátu. Navíc pomocí programátorů API lze dokonce uložit 3D scénu jako HTML.

Java Kód pro konverzi AMF na 3DS
// load the AMF in an object of Scene
Scene amfto3ds = new Scene("template.amf");
// create an instance of 3dsSaveOptions
Discreet3dsSaveOptions options = new Discreet3dsSaveOptions();
// save AMF as a 3DS
amfto3ds.save("output.3ds", options);
Převést scénu 3D na HTML prostřednictvím Java
// For complete examples and data files, please go to https://github.com/aspose-3d/Aspose.3D-for-Java
// Initialize a scene
Scene scene = new Scene();
// Initialize a node
Node node = scene.getRootNode().createChildNode(new Cylinder());
// Set child node properites
LambertMaterial mat = new LambertMaterial();
mat.setDiffuseColor(new Vector3(0.34,0.59, 0.41));
node.setMaterial(mat);
Light light = new Light();
light.setLightType(LightType.POINT);
scene.getRootNode().createChildNode(light).getTransform().setTranslation(10, 0, 10);
// Initialize HTML5SaveOptions
HTML5SaveOptions opt = new HTML5SaveOptions();
// Turn off the grid
opt.setShowGrid(false);
//Turn off the user interface
opt.setShowUI(false);
scene.save(RunExamples.getDataDir() + "html5SaveOption.html", FileFormat.HTML5);