FBX به OBJ

فایل FBX فرمتی است که برای تبادل هندسه سه بعدی و داده های انیمیشن استفاده می شود. فایل های FBX در ساخت فیلم، بازی و واقعیت افزوده و واقعیت مجازی (AR/VR) استفاده می شود. همچنین، برای باز کردن، ویرایش و صادرات فایل‌های FBX به فایل‌های دوبعدی و سه بعدی با کیفیت بالا، به نرم‌افزارهای شخص ثالث مانند Autodesk FBX Review و غیره نیاز داریم. در حالی که OBJ قالب بسیار ساده‌تری است که فقط هندسه (راس، نرمال و غیره) را حفظ می‌کند و اغلب برای داده‌های چندضلعی ساده است. بنابراین ممکن است نیاز به ارائه فایل های FBX به فرمت OBJ داشته باشیم. در این مقاله قصد داریم با مراحل تبدیل فایل های FBX به فایل های OBJ با استفاده از REST API به صورت برنامه نویسی آشنا شویم.

API پردازش فایل سه بعدی

به منظور ایجاد و پردازش مدل‌ها، اشیاء و موجودیت‌های سه بعدی از جمله Box، Cylinder، Sphere، Torus و Plane به صورت برنامه‌نویسی، یک API مبتنی بر REST به نام Aspose.3D Cloud ایجاد کرده‌ایم. تمام عملیات‌هایی مانند تبدیل و ترجمه، مقیاس‌بندی، مدل‌سازی پارامتریک، چرخش اشیاء سه بعدی و حتی کار با Triangulate Meshes را بدون نصب نرم‌افزار انجام دهید. از آنجایی که مبتنی بر معماری REST است، API را می توان در دسکتاپ، وب، موبایل و در برنامه های ترکیبی استفاده کرد.

در این مقاله قصد داریم در مورد تبدیل فایل FBX به فرمت OBJ با استفاده از قطعه کد C#.NET بحث کنیم، بنابراین باید روی Aspose.3D Cloud SDK for .NET تمرکز کنیم. SDK یک بسته بندی در اطراف REST است به طوری که شما می توانید تمام ویژگی های پردازش فایل های سه بعدی را درست در IDE مورد علاقه خود دریافت کنید.

نصب و راه اندازی

اولین قدم در استفاده از SDK نصب آن است. Cloud SDK برای دانلود از طریق NuGet و GitHub در دسترس است. بنابراین برای نصب SDK از NuGet، لطفاً دستور زیر را در ترمینال اجرا کنید.

nuget install Aspose.3D-Cloud

NuGet Package Manager

همچنین می توانید برای واکشی و ارجاع به اسمبلی Aspose.3D در پروژه خود، دستور زیر را در کنسول Package Manager در ویژوال استودیو اجرا کنید.

PM> Install-Package Aspose.3D-Cloud

ویژوال استودیو

روش دیگر نصب مستقیم در راه حل ویژوال استودیو است:

  1. Solution Explorer را باز کنید.
  2. پروژه را گسترش دهید و روی پوشه Packages در محلول خود کلیک راست کنید.
  3. گزینه Manage NuGet Packages… را انتخاب کنید
  4. روی تب Browse کلیک کنید و “Aspose.3D-Cloud” را جستجو کنید.
  5. روی بسته Aspose.3D-Cloud از نتایج جستجو کلیک کنید
  6. نسخه مناسب را در تب سمت راست انتخاب کنید و روی دکمه Install کلیک کنید.
Aspose.3D-Cloud NuGet

تصویر 1: - Aspose.3D Cloud as NuGet بسته در ویژوال استودیو.

داشبورد ابری

در Aspose، محرمانه بودن، یکپارچگی و در دسترس بودن داده ها از اهمیت بالایی برخوردار است. بنابراین، فقط افراد مجاز می توانند به API های Cloud و همچنین فایل های ذخیره شده در فضای ذخیره سازی ابری دسترسی داشته باشند. گام مهم بعدی ایجاد یک حساب اشتراک رایگان از طریق Aspose.Cloud dashboard است. اشتراک رایگان است و نیازی به کارت اعتباری یا جزئیات پرداخت نیست. تحت حساب اشتراک رایگان، می توانید تا 150 درخواست پردازش سند رایگان را انجام دهید.

اکنون از حساب GitHub یا Google خود استفاده کنید، به سادگی ثبت نام کنید. در غیر این صورت بر روی دکمه Create a new Account کلیک کنید و اطلاعات مورد نیاز را ارائه دهید. اکنون با استفاده از اعتبارنامه وارد داشبورد شوید و بخش Applications را از داشبورد گسترش دهید و به سمت پایین به سمت قسمت Client Credentials حرکت کنید تا Client ID و Client Secret را ببینید.

اعتبار مشتری

تصویر 2: - اعتبار مشتری در داشبورد Aspose.Cloud.

FBX به OBJ در C#

لطفاً مراحل مشخص شده در زیر را برای انجام تبدیل فرمت FBX به OBJ با استفاده از قطعه کد C#.NET دنبال کنید.

  • ابتدا باید یک نمونه از کلاس ThreeDCloudApi ایجاد کنیم و در عین حال Client ID و Client Secret را به عنوان آرگومان ارسال کنیم.
  • در مرحله دوم، فایل ورودی FBX را از سیستم محلی در شی FileStream بارگذاری کنید.
  • اکنون فایل را با استفاده از روش UploadFile(…) کلاس ThreeDCloudApi در فضای ذخیره سازی ابری آپلود کنید.
  • مرحله بعدی فراخوانی روش PostConvertByFormatWithHttpInfo(…) است که نام فایل ورودی، فرمت خروجی و نام فایل حاصل را به عنوان آرگومان می گیرد.
  • در نهایت، پیام موفقیت را در کنسول چاپ کنید و در این زمان، خروجی در فضای ذخیره‌سازی ابری ذخیره می‌شود.
// ClientID را از https://dashboard.aspose.cloud/ دریافت کنید
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// نام فایل ورودی FBX
String inputFileName = "Wolf-Blender-2.82a.fbx";
// فرمت فایل حاصل
String newFormat = "wavefrontobj";
// نام فایل خروجی
String newFileName = "resultant.obj";

// یک نمونه از ThreeDCloud API ایجاد کنید
ThreeDCloudApi threeDCloudApi = new ThreeDCloudApi("client_credentials", clientID, clientSecret);

try
{
    // ورودی FBX را از درایو محلی بارگیری کنید
    using (var inputStream = new FileStream("C:\\Users\\nayyer\\Downloads\\" + inputFileName, FileMode.Open))
    {
        // آپلود فایل در فضای ذخیره سازی ابری
        threeDCloudApi.UploadFile(inputFileName, inputStream);
        
        // عملیات تبدیل فایل را آغاز کنید
        var response = threeDCloudApi.PostConvertByFormatWithHttpInfo(inputFileName, newFormat, newFileName, null, isOverwrite: true, null);
        
        // پیام موفقیت چاپ در صورت موفقیت آمیز بودن تبدیل
        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);
}

برای مرجع شما، فایل‌های نمونه استفاده شده در مثال بالا روی Wolf-Blender-2.82a.fbx و resultant.obj آپلود می‌شوند.

با استفاده از دستور cURL FBX را به OBJ تبدیل کنید

معماری REST Cloud API شما را قادر می سازد از طریق دستورات cURL به آنها دسترسی داشته باشید، بنابراین ما می توانیم از طریق دستورات cURL نیز به Aspose.3D Cloud دسترسی داشته باشیم. در عین حال، API های ما فقط برای افراد مجاز قابل دسترسی است، بنابراین ابتدا باید یک نشانه دسترسی JWT بر اساس اعتبار مشتری شخصی سازی شده خود ایجاد کنیم. لطفاً دستور زیر را برای تولید توکن دسترسی 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"

حال باید همزمان با اجرای دستور زیر فایل را در فضای ذخیره سازی ابری آپلود کنیم.

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 تولید شد، لطفاً دستور زیر را برای تبدیل فایل FBX به فرمت OBJ اجرا کنید. در زیر جزئیات پارامترهای پذیرفته شده توسط PostConvertByFormat API ارائه شده است.

  • name - نام فایل منبع.
  • newformat - قالب فایل جدید.
  • newfilename - نام فایل جدید.
  • پوشه (اختیاری) - پوشه فایل منبع.
  • IsOverwrite (اختیاری) - فایل منبع بازنویسی شود؟ (مقدار پیش فرض نادرست است)
  • ذخیره سازی (اختیاری) - نوع ذخیره سازی.
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

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

نتیجه گیری

در این مقاله مراحل تبدیل فایل FBX به فرمت OBJ با استفاده از قطعه کد C# .NET و با استفاده از دستورات cURL را مورد بحث قرار داده ایم. علاوه بر این، Cloud SDK های ما تحت مدل مجوز منبع باز توسعه داده شده اند، بنابراین کد منبع کامل را می توان از GitHub دانلود کرد.

برای جمع بندی، ما در زیر فرمت های سه بعدی را که در حال حاضر توسط Cloud API پشتیبانی می شوند، فهرست کرده ایم

فرمت ساخت افزودنی AMF، 3D Studio 3DS، AVEVA RVM، Google Draco DRC، Collada DAE، AutoCAD DXF، Autodesk FBX، Wavefront OBJ، 3D PDF، فرمت فایل چند ضلعی PLY، استاندارد مثلث زبان STL، Universal3D U3D Format, GLT

ما شما را تشویق می کنیم که از API ما استفاده کنید و در صورتی که با مشکلی مواجه شدید یا سؤالات مرتبطی دارید، لطفاً از طریق [تالار گفتمان پشتیبانی رایگان] با ما تماس بگیرید.]15

مقالات مرتبط

همچنین توصیه می کنیم از پیوندهای زیر دیدن کنید و در مورد قابلیت های API های برنده جوایز ما بیشتر بدانید