Da FBX a OBJ

Un file FBX è un formato utilizzato per scambiare dati di geometria 3D e animazione. I file FBX sono utilizzati nello sviluppo di film, giochi e realtà aumentata e realtà virtuale (AR/VR).Inoltre, per aprire, modificare ed esportare file FBX in file 2D e 3D ad alta fedeltà, abbiamo bisogno di software di terze parti come Autodesk FBX Review, ecc. Mentre, OBJ è un formato molto più semplice che mantiene solo la geometria (vertice, normali, ecc.) ed è spesso per dati poligonali grezzi, alcuni materiali semplici. Quindi potremmo avere la necessità di rendere i file FBX in formato OBJ. In questo articolo, impareremo i passaggi su come convertire a livello di programmazione i file FBX in file OBJ utilizzando l’API REST.

API di elaborazione file 3D

Per creare ed elaborare in modo programmatico modelli, oggetti ed entità 3D tra cui Box, Cylinder, Sphere, Torus e Plane, abbiamo creato un’API basata su REST denominata Aspose.3D Cloud. Esegui tutte le operazioni come trasformazione e traslazione, ridimensionamento, modellazione parametrica, rotazione di oggetti 3D e persino lavora con Triangulate Meshes senza alcuna installazione software. Poiché è basata sull’architettura REST, l’API può essere utilizzata in applicazioni Desktop, Web, Mobile e ibride.

In questo articolo, discuteremo la conversione del file FBX in formato OBJ utilizzando il frammento di codice C# .NET, quindi dobbiamo concentrarci su Aspose.3D Cloud SDK per .NET. L’SDK è un wrapper attorno a REST in modo da ottenere tutte le funzionalità di elaborazione dei file 3D direttamente nel tuo IDE preferito.

Installazione

Il primo passo per usare l’SDK è la sua installazione. L’SDK Cloud è disponibile per il download su NuGet e GitHub. Quindi, per installare l’SDK da NuGet, si prega di considerare l’esecuzione del seguente comando nel terminale.

nuget install Aspose.3D-Cloud

Gestore pacchetti NuGet

Puoi anche prendere in considerazione l’esecuzione del seguente comando nella console di Gestione pacchetti in Visual Studio per recuperare e fare riferimento all’assembly Aspose.3D nel tuo progetto.

PM> Install-Package Aspose.3D-Cloud

Studio visivo

Un altro approccio è l’installazione direttamente all’interno della soluzione Visual Studio:

  1. Aprire Esplora soluzioni.
  2. Espandi il progetto e fai clic con il pulsante destro del mouse sulla cartella Pacchetti nella soluzione.
  3. Seleziona l’opzione Gestisci pacchetti NuGet…
  4. Fare clic sulla scheda Sfoglia e cercare “Aspose.3D-Cloud“
  5. Fare clic sul pacchetto Aspose.3D-Cloud dai risultati della ricerca
  6. Selezionare la versione appropriata nella scheda a destra e fare clic sul pulsante Installa.
Aspose.3D-Cloud NuGet

Immagine 1: Aspose.3D Cloud come pacchetto NuGet in Visual Studio.

Pannello di controllo cloud

In Aspose, la riservatezza, l’integrità e la disponibilità dei dati sono di fondamentale importanza. Pertanto, solo le persone autorizzate possono accedere alle API Cloud e ai file archiviati nell’archiviazione Cloud. Il prossimo passo importante è la creazione di un account di abbonamento gratuito su Aspose.Cloud dashboard. L’abbonamento è gratuito e non sono richiesti dati di carta di credito o di pagamento. Con l’account di abbonamento gratuito, puoi eseguire fino a 150 richieste di elaborazione documenti gratuite.

Ora usa il tuo account GitHub o Google, semplicemente Registrati. Altrimenti, clicca sul pulsante Crea un nuovo account e fornisci le informazioni richieste. Ora accedi alla dashboard usando le credenziali ed espandi la sezione Applicazioni dalla dashboard e scorri verso il basso fino alla sezione Credenziali cliente per vedere i dettagli ID cliente e Segreto cliente.

Credenziali del cliente

Immagine 2: Credenziali del cliente nella dashboard di Aspose.Cloud.

Da FBX a OBJ in C#

Per eseguire la conversione del formato FBX in OBJ utilizzando il frammento di codice C# .NET, seguire i passaggi specificati di seguito.

  • Per prima cosa dobbiamo creare un’istanza della classe ThreeDCloudApi passando Client ID e Client Secret come argomenti.
  • In secondo luogo, caricare il file FBX di input dal sistema locale nell’oggetto FileStream.
  • Ora carica il file sullo storage cloud utilizzando il metodo UploadFile(…) della classe ThreeDCloudApi.
  • Il passo successivo consiste nel chiamare il metodo PostConvertByFormatWithHttpInfo(…) che accetta come argomenti il nome del file di input, il formato di output e il nome del file risultante.
  • Infine, visualizza il messaggio di successo nella console e, a questo punto, l’output verrà salvato nell’archivio Cloud.
// Ottieni ClientID da https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// nome del file FBX di input
String inputFileName = "Wolf-Blender-2.82a.fbx";
// formato file risultante
String newFormat = "wavefrontobj";
// nome del file di output
String newFileName = "resultant.obj";

// crea un'istanza dell'API ThreeDCloud
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);

try
{
    // carica input FBX dall'unità locale
    using (var inputStream = new FileStream("C:\\Users\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
    {
        // carica il file sullo storage Cloud
        threeDCloudApi.UploadFile(inputFileName, inputStream);
        
        // avviare l'operazione di conversione del file
        var response = threeDCloudApi.PostConvertByFormatWithHttpInfo(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
        
        // stampa messaggio di successo se la conversione è riuscita
        if (response != null && response.Equals("OK"))
        {
            Console.WriteLine("Successfully converted FBX to OBJ !");
            Console.ReadKey();
        }
    }
}catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

Per vostra informazione, i file di esempio utilizzati nell’esempio precedente sono caricati su Wolf-Blender-2.82a.fbx e resultant.obj.

Convertire FBX in OBJ utilizzando il comando cURL

L’architettura REST delle API Cloud consente di accedervi tramite comandi cURL, quindi possiamo accedere anche ad Aspose.3D Cloud tramite comandi cURL. Allo stesso tempo, le nostre API sono accessibili solo a persone autorizzate, quindi dobbiamo prima generare un token di accesso JWT basato sulle nostre credenziali client personalizzate. Esegui il seguente comando per la generazione del token di accesso JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4db2f826-bf9c-42e7-8b2a-8cbca2d15553&client_secret=d757548a9f2558c39c2feebdf85b4c44" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Ora dobbiamo caricare il file sullo storage cloud eseguendo il seguente comando.

curl -X PUT "https://api.aspose.cloud/v3.0/3d/storage/file/Esso.3ds" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{c:\Users\nayyer\Esso.3ds}} -v

Una volta generato il token di accesso JWT, esegui il seguente comando per convertire il file FBX in formato OBJ. Di seguito sono riportati i dettagli dei parametri accettati dall’API PostConvertByFormat

  • nome - Il nome del file sorgente.
  • newformat - Il formato del nuovo file.
  • newfilename - Il nome del nuovo file.
  • cartella (facoltativo) - La cartella del file sorgente.
  • IsOverwrite (facoltativo) - Sovrascrivere il file sorgente? (il valore predefinito è falso)
  • storage (facoltativo) - Tipo di archiviazione.
curl -X POST "https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Wolf-Blender-2.82a.fbx&newformat=wavefrontobj&newfilename=Converted.obj&IsOverwrite=true" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-v

Richiedi URL

https://api.aspose.cloud/v3.0/3d/saveas/newformat?name=Esso.3ds&newformat=FBX&newfilename=Iphone.fbx&IsOverwrite=false

Conclusione

In questo articolo, abbiamo discusso i passaggi su come convertire il file FBX in formato OBJ utilizzando il frammento di codice C# .NET e i comandi cURL. Inoltre, i nostri Cloud SDK sono sviluppati secondo il modello di licenza Opensource, quindi il codice sorgente completo può essere scaricato da GitHub.

Riassumendo, abbiamo elencato di seguito i formati 3D attualmente supportati da Cloud API

Formato di produzione additiva AMF, 3D Studio 3DS, AVEVA RVM, Google Draco DRC, Collada DAE, AutoCAD DXF, Autodesk FBX, Wavefront OBJ, 3D PDF, Formato file poligonale PLY, Standard Triangle Language STL, Universal3D U3D, Formato di trasmissione GL GLTF

Ti invitiamo a provare a utilizzare la nostra API e, in caso di problemi o domande correlate, non esitare a contattarci tramite il Forum di supporto gratuito.

Articoli correlati

Ti consigliamo inoltre di visitare i seguenti link e di scoprire di più sulle funzionalità delle nostre pluripremiate API