FBX a OBJ

Un archivo FBX es un formato que se utiliza para intercambiar datos de animación y geometría 3D. Los archivos FBX se utilizan en el desarrollo de películas, juegos y realidad aumentada y realidad virtual (RA/RV).Además, para abrir, editar y exportar archivos FBX a archivos 2D y 3D de alta fidelidad, necesitamos algún software de terceros como Autodesk FBX Review, etc. Mientras que OBJ es un formato mucho más simple que solo conserva la geometría (vértice, normales, etc.) y suele utilizarse para datos de polígonos sin procesar y algunos materiales simples. Por lo tanto, es posible que tengamos la necesidad de convertir archivos FBX en formato OBJ. En este artículo, aprenderemos los pasos para convertir mediante programación archivos FBX a archivos OBJ mediante la API REST.

API de procesamiento de archivos 3D

Para crear y procesar mediante programación modelos, objetos y entidades 3D, como cajas, cilindros, esferas, toros y planos, hemos creado una API basada en REST llamada Aspose.3D Cloud. Realice todas las operaciones, como transformación y traducción, escalado, modelado paramétrico, rotación de objetos 3D e incluso trabaje con mallas triangulares sin necesidad de instalar ningún software. Dado que se basa en la arquitectura REST, la API se puede utilizar en aplicaciones de escritorio, web, móviles e híbridas.

En este artículo, analizaremos la conversión del archivo FBX al formato OBJ mediante el fragmento de código C# .NET, por lo que debemos centrarnos en Aspose.3D Cloud SDK for .NET. El SDK es un contenedor de REST para que obtengas todas las funciones de procesamiento de archivos 3D directamente en tu IDE favorito.

Instalación

El primer paso para utilizar el SDK es su instalación. El SDK de Cloud está disponible para descargarse en NuGet y GitHub. Por lo tanto, para instalar el SDK desde NuGet, considere ejecutar el siguiente comando en la terminal.

nuget install Aspose.3D-Cloud

Administrador de paquetes NuGet

También puede considerar ejecutar el siguiente comando en la Consola del Administrador de paquetes en Visual Studio para obtener y hacer referencia al ensamblaje Aspose.3D en su proyecto.

PM> Install-Package Aspose.3D-Cloud

Estudio visual

Otro enfoque es la instalación directamente dentro de la solución de Visual Studio:

  1. Abra el Explorador de soluciones.
  2. Expanda el proyecto y haga clic derecho en la carpeta Paquetes dentro de su solución.
  3. Seleccione la opción Administrar paquetes NuGet…
  4. Haga clic en la pestaña Explorar y busque “Aspose.3D-Cloud”
  5. Haga clic en el paquete Aspose.3D-Cloud en los resultados de búsqueda
  6. Seleccione la versión adecuada en la pestaña derecha y haga clic en el botón Instalar.
NuGet en la nube Aspose.3D

Imagen 1: Aspose.3D Cloud como paquete NuGet en Visual Studio.

Panel de control en la nube

En Aspose, la confidencialidad, integridad y disponibilidad de los datos son de suma importancia. Por lo tanto, solo las personas autorizadas pueden acceder a las API de la nube, así como a los archivos almacenados en el almacenamiento en la nube. El siguiente paso importante es la creación de una cuenta de suscripción gratuita en panel de control de Aspose.Cloud. La suscripción es gratuita y no se requieren tarjetas de crédito ni datos de pago. Con la cuenta de suscripción gratuita, puede realizar hasta 150 solicitudes de procesamiento de documentos gratuitas.

Ahora usa tu cuenta de GitHub o Google, simplemente regístrate. De lo contrario, haz clic en el botón Crear una nueva cuenta y proporciona la información requerida. Ahora inicia sesión en el panel de control con tus credenciales y expande la sección Aplicaciones desde el panel de control y desplázate hacia abajo hasta la sección Credenciales del cliente para ver los detalles de ID de cliente y Secreto de cliente.

Credenciales del cliente

Imagen 2: Credenciales del cliente en el panel de Aspose.Cloud.

FBX a OBJ en C#

Siga los pasos que se especifican a continuación para realizar la conversión de FBX al formato OBJ utilizando el fragmento de código C# .NET.

  • Primero necesitamos crear una instancia de la clase ThreeDCloudApi mientras pasamos el ID del cliente y el secreto del cliente como argumentos.
  • En segundo lugar, cargue el archivo FBX de entrada desde el sistema local en el objeto FileStream.
  • Ahora cargue el archivo al almacenamiento en la nube usando el método UploadFile(…) de la clase ThreeDCloudApi.
  • El siguiente paso es llamar al método PostConvertByFormatWithHttpInfo(…) que toma el nombre del archivo de entrada, el formato de salida y el nombre del archivo resultante como argumentos.
  • Finalmente, imprima el mensaje de éxito en la consola y en este momento, la salida se guardará en el almacenamiento en la nube.
// Obtenga ClientID desde https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// nombre del archivo FBX de entrada
String inputFileName = "Wolf-Blender-2.82a.fbx";
// formato de archivo resultante
String newFormat = "wavefrontobj";
// nombre del archivo de salida
String newFileName = "resultant.obj";

// crear una instancia de la API de ThreeDCloud
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);

try
{
    // Cargar entrada FBX desde la unidad local
    using (var inputStream = new FileStream("C:\\Users\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
    {
        // subir archivo al almacenamiento en la nube
        threeDCloudApi.UploadFile(inputFileName, inputStream);
        
        // Iniciar la operación de conversión de archivos
        var response = threeDCloudApi.PostConvertByFormatWithHttpInfo(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
        
        // Imprimir mensaje de éxito si la conversión es exitosa
        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);
}

Para su referencia, los archivos de muestra utilizados en el ejemplo anterior se cargan en Wolf-Blender-2.82a.fbx y resultant.obj.

Convertir FBX a OBJ con el comando cURL

La arquitectura REST de las API de Cloud te permite acceder a ellas mediante comandos cURL, por lo que también podemos acceder a Aspose.3D Cloud mediante comandos cURL. Al mismo tiempo, nuestras API solo son accesibles para personas autorizadas, por lo que primero debemos generar un token de acceso JWT basado en nuestras credenciales de cliente personalizadas. Ejecuta el siguiente comando para generar el token de acceso 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"

Ahora necesitamos cargar el archivo al almacenamiento en la nube mientras ejecutamos el siguiente 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 vez generado el token de acceso JWT, ejecute el siguiente comando para convertir el archivo FBX al formato OBJ. A continuación, se detallan los parámetros aceptados por la API PostConvertByFormat

  • nombre - El nombre del archivo de origen.
  • newformat - El formato del nuevo archivo.
  • newfilename - El nombre del nuevo archivo.
  • carpeta (opcional) - La carpeta del archivo de origen.
  • IsOverwrite (opcional): ¿Desea sobrescribir el archivo de origen? (el valor predeterminado es falso)
  • almacenamiento (opcional) - El tipo de almacenamiento.
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

URL de solicitud

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

Conclusión

En este artículo, hemos analizado los pasos para convertir el archivo FBX al formato OBJ mediante el fragmento de código C# .NET y los comandos cURL. Además, nuestros SDK de Cloud se desarrollan según el modelo de licencia Opensource, por lo que el código fuente completo se puede descargar desde GitHub.

Para resumir, hemos enumerado a continuación los formatos 3D actualmente compatibles con Cloud API

Formato de fabricación aditiva AMF, 3D Studio 3DS, AVEVA RVM, Google Draco DRC, Collada DAE, AutoCAD DXF, Autodesk FBX, Wavefront OBJ, 3D PDF, formato de archivo de polígono PLY, lenguaje de triángulo estándar STL, Universal3D U3D, formato de transmisión GL GLTF

Le recomendamos que pruebe a utilizar nuestra API y, en caso de que surja algún problema o tenga alguna consulta relacionada, no dude en contactarnos a través del [Foro de soporte gratuito]. 15

Artículos relacionados

También recomendamos visitar los siguientes enlaces y aprender más sobre las capacidades de nuestras galardonadas API.