FBX'ten OBJ'ye

FBX dosyası, 3B geometri ve animasyon verilerini değiştirmek için kullanılan bir formattır. FBX dosyaları film, oyun ve artırılmış gerçeklik ve sanal gerçeklik (AR/VR) geliştirmede kullanılır. Ayrıca, FBX dosyalarını açmak, düzenlemek ve yüksek doğruluklu 2B ve 3B dosyalara aktarmak için Autodesk FBX Review vb. gibi bazı üçüncü taraf yazılımlara ihtiyacımız vardır. Oysa OBJ yalnızca geometriyi (tepe noktası, normaller vb.) tutan ve genellikle ham çokgen verileri, bazı basit malzemeler için olan çok daha basit bir formattır. Bu nedenle FBX dosyalarını OBJ formatına dönüştürme gereksinimimiz olabilir. Bu makalede, REST API’yi kullanarak FBX dosyalarını programlı olarak OBJ dosyalarına nasıl dönüştüreceğimize ilişkin adımları öğreneceğiz.

3D Dosya İşleme API’si

Box, Cylinder, Sphere, Torus ve Plane dahil olmak üzere 3B modeller, nesneler ve varlıkları programatik olarak oluşturmak ve işlemek için Aspose.3D Cloud adlı bir REST tabanlı API oluşturduk. Dönüştürme ve çevirme, ölçekleme, Parametrik Modelleme, 3B nesnelerin döndürülmesi gibi tüm işlemleri gerçekleştirin ve hatta herhangi bir yazılım kurulumu olmadan Üçgen Örgülerle çalışın. REST mimarisine dayalı olduğundan, API Masaüstü, Web, Mobil ve hibrit uygulamalarda kullanılabilir.

Bu makalede, FBX dosyasının C# .NET kod parçacığı kullanılarak OBJ formatına dönüştürülmesini ele alacağız, bu nedenle Aspose.3D Cloud SDK for .NET’e odaklanmamız gerekiyor. SDK, REST etrafında bir sarmalayıcıdır, böylece 3D dosya işlemenin tüm özelliklerine doğrudan favori IDE’niz içinde erişebilirsiniz.

Kurulum

SDK’yi kullanmanın ilk adımı kurulumudur. Cloud SDK NuGet ve GitHub üzerinden indirilebilir. Bu nedenle SDK’yi NuGet’ten kurmak için lütfen terminalde aşağıdaki komutu çalıştırmayı düşünün.

nuget install Aspose.3D-Cloud

NuGet Paket Yöneticisi

Projenizdeki Aspose.3D derlemesini getirmek ve referanslamak için Visual Studio’daki Paket Yöneticisi Konsolunda aşağıdaki komutu çalıştırmayı da düşünebilirsiniz.

PM> Install-Package Aspose.3D-Cloud

Görsel Stüdyo

Başka bir yaklaşım ise doğrudan Visual Studio çözümü içerisinde kurulumdur:

  1. Çözüm Gezgini’ni açın.
  2. Projeyi genişletin ve çözümünüz içindeki Paketler klasörüne sağ tıklayın.
  3. NuGet Paketlerini Yönet… seçeneğini belirleyin
  4. Gözat sekmesine tıklayın ve “Aspose.3D-Cloud”u arayın
  5. Arama sonuçlarından Aspose.3D-Cloud paketine tıklayın
  6. Sağ sekmede uygun sürümü seçip Yükle butonuna tıklayın.
Aspose.3D-Cloud NuGet

Resim 1:- Visual Studio’da NuGet paketi olarak Aspose.3D Cloud.

Cloud Pano

Aspose’da, verilerin Gizliliği, Bütünlüğü ve Kullanılabilirliği son derece önemlidir. Bu nedenle, yalnızca yetkili kişiler Cloud API’lerine ve Cloud depolamada depolanan dosyalara erişebilir. Bir sonraki önemli adım, Aspose.Cloud panosu üzerinden ücretsiz bir abonelik hesabı oluşturmaktır. Abonelik ücretsizdir ve kredi kartı veya ödeme bilgileri gerekmez. Ücretsiz abonelik hesabı altında, 150’ye kadar Ücretsiz belge işleme isteği gerçekleştirebilirsiniz.

Şimdi GitHub veya Google hesabınızı kullanın, sadece Kaydolun. Aksi takdirde, Yeni Hesap Oluştur düğmesine tıklayın ve gerekli bilgileri sağlayın. Şimdi kimlik bilgilerini kullanarak panoya giriş yapın ve panodan Uygulamalar bölümünü genişletin ve İstemci Kimlik Bilgileri bölümüne doğru aşağı kaydırarak İstemci Kimliği ve İstemci Gizli Bilgisi ayrıntılarını görün.

Müşteri Kimlik Bilgileri

Resim 2:- Aspose.Cloud panosundaki İstemci Kimlik Bilgileri.

C# dilinde FBX’i OBJ’ye dönüştürme

FBX’i OBJ formatına dönüştürmek için C# .NET kod parçacığını kullanarak aşağıda belirtilen adımları izleyin.

  • Öncelikle Client ID ve Client Secret’ı argüman olarak geçirerek ThreeDCloudApi sınıfının bir örneğini oluşturmamız gerekiyor.
  • İkinci olarak, giriş FBX dosyasını yerel sistemden FileStream nesnesine yükleyin.
  • Şimdi dosyayı ThreeDCloudApi sınıfının UploadFile(…) metodunu kullanarak bulut depolama alanına yükleyin.
  • Bir sonraki adım, girdi dosya adını, çıktı biçimini ve sonuç dosya adını argüman olarak alan PostConvertByFormatWithHttpInfo(…) metodunu çağırmaktır.
  • Son olarak konsola başarı mesajını yazdırın ve bu esnada çıktı bulut depolama alanına kaydedilecektir.
// ClientID'yi https://dashboard.aspose.cloud/ adresinden alın
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// giriş FBX dosyasının adı
String inputFileName = "Wolf-Blender-2.82a.fbx";
// sonuç dosya biçimi
String newFormat = "wavefrontobj";
// çıktı dosyasının adı
String newFileName = "resultant.obj";

// ThreeDCloud API'sinin bir örneğini oluşturun
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);

try
{
    // yerel sürücüden FBX girişini yükle
    using (var inputStream = new FileStream("C:\\Users\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
    {
        // dosyayı Cloud depolama alanına yükle
        threeDCloudApi.UploadFile(inputFileName, inputStream);
        
        // dosya dönüştürme işlemini başlat
        var response = threeDCloudApi.PostConvertByFormatWithHttpInfo(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
        
        // dönüşüm başarılı olursa başarı mesajını yazdır
        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);
}

Referans olması açısından, yukarıdaki örnekte kullanılan örnek dosyalar Wolf-Blender-2.82a.fbx ve resultant.obj üzerinden yüklenmiştir.

cURL Komutunu kullanarak FBX’i OBJ’ye dönüştürün

Cloud API’lerinin REST mimarisi, cURL komutları aracılığıyla bunlara erişmenizi sağlar, bu nedenle cURL komutları aracılığıyla Aspose.3D Cloud’a da erişebiliriz. Aynı zamanda, API’lerimize yalnızca yetkili kişiler erişebilir, bu nedenle önce kişiselleştirilmiş istemci kimlik bilgilerimize dayalı bir JWT erişim belirteci oluşturmamız gerekir. Lütfen JWT erişim belirteci oluşturmak için aşağıdaki komutu çalıştırın.

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"

Şimdi aşağıdaki komutu çalıştırarak dosyayı bulut depolamaya yüklememiz gerekiyor.

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

JWT erişim belirteci oluşturulduktan sonra, FBX dosyasını OBJ biçimine dönüştürmek için lütfen aşağıdaki komutu çalıştırın. Aşağıda PostConvertByFormat API tarafından kabul edilen parametrelerin ayrıntıları verilmiştir

  • ad - Kaynak dosyanın adı.
  • newformat - Yeni dosyanın biçimi.
  • yenidosyaadı - Yeni dosyanın adı.
  • klasör (isteğe bağlı) - Kaynak dosyanın klasörü.
  • IsOverwrite (isteğe bağlı) - Kaynak dosyanın üzerine yazılsın mı? (varsayılan değer false’tur)
  • depolama (isteğe bağlı) - Depolama türü.
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

İstek URL’si

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

Çözüm

Bu makalede, C# .NET kod parçacığını ve cURL komutlarını kullanarak FBX dosyasının OBJ formatına nasıl dönüştürüleceği adımlarını ele aldık. Ayrıca, Cloud SDK’larımız Açık Kaynak lisanslama modeli altında geliştirildiğinden, tam kaynak kodu GitHub adresinden indirilebilir.

Özetlemek gerekirse, Cloud API tarafından şu anda desteklenen 3B formatlarını aşağıda listeledik

Katkı Maddesi Üretim Formatı AMF, 3D Studio 3DS, AVEVA RVM, Google Draco DRC, Collada DAE, AutoCAD DXF, Autodesk FBX, Wavefront OBJ, 3D PDF, Poligon Dosya Formatı PLY, Standart Üçgen Dili STL, Universal3D U3D, GL İletim Formatı GLTF

API’mizi kullanmayı denemenizi öneririz ve herhangi bir sorunla karşılaşmanız veya ilgili sorularınız olması durumunda lütfen [Ücretsiz destek forumu] aracılığıyla bizimle iletişime geçmekten çekinmeyin.15

İlgili makaleler

Ayrıca aşağıdaki bağlantıları ziyaret etmenizi ve ödüllü API’lerimizin yetenekleri hakkında daha fazla bilgi edinmenizi öneririz