FBX ถึง OBJ

ไฟล์ FBX เป็นรูปแบบที่ใช้สำหรับแลกเปลี่ยนข้อมูลเรขาคณิต 3 มิติและแอนิเมชัน ไฟล์ FBX ถูกใช้ในการพัฒนาภาพยนตร์ เกม และความจริงเสริมและความจริงเสมือน (AR/VR) นอกจากนี้ เพื่อเปิด แก้ไข และส่งออกไฟล์ FBX เป็นไฟล์ 2 มิติและ 3 มิติที่มีความเที่ยงตรงสูง เราต้องใช้ซอฟต์แวร์ของบริษัทอื่น เช่น Autodesk FBX Review เป็นต้น ในขณะที่ OBJ เป็นรูปแบบที่ง่ายกว่ามากซึ่งเก็บเฉพาะเรขาคณิต (จุดยอด ปกติ ฯลฯ) และมักใช้สำหรับข้อมูลรูปหลายเหลี่ยมดิบและวัสดุพื้นฐานบางอย่าง ดังนั้น เราอาจจำเป็นต้องเรนเดอร์ไฟล์ FBX เป็นรูปแบบ OBJ ในบทความนี้ เราจะเรียนรู้เกี่ยวกับขั้นตอนต่างๆ เกี่ยวกับวิธีการแปลงไฟล์ FBX เป็นไฟล์ OBJ โดยใช้ REST API

API การประมวลผลไฟล์ 3D

เพื่อสร้างและประมวลผลโมเดล 3 มิติ อ็อบเจกต์ และเอนทิตีต่างๆ เช่น กล่อง ทรงกระบอก ทรงกลม ทอรัส และระนาบด้วยโปรแกรม เราได้สร้าง API ที่ใช้ REST ชื่อ Aspose.3D Cloud ดำเนินการทุกอย่าง เช่น การแปลงและการแปล การปรับขนาด การสร้างแบบจำลองพารามิเตอร์ การหมุนอ็อบเจกต์ 3 มิติ และแม้แต่ทำงานกับตาข่ายสามเหลี่ยมโดยไม่ต้องติดตั้งซอฟต์แวร์ใดๆ เนื่องจาก API นี้ใช้สถาปัตยกรรม REST จึงสามารถใช้ในเดสก์ท็อป เว็บ มือถือ และในแอปพลิเคชันไฮบริดได้

ในบทความนี้ เราจะพูดถึงการแปลงไฟล์ FBX เป็นรูปแบบ OBJ โดยใช้โค้ด C# .NET ดังนั้น เราจึงต้องเน้นที่ Aspose.3D Cloud SDK for .NET แทน SDK นี้เป็นตัวห่อหุ้ม REST เพื่อให้คุณสามารถใช้ฟีเจอร์การประมวลผลไฟล์ 3D ทั้งหมดใน IDE ที่คุณชื่นชอบได้

การติดตั้ง

ขั้นตอนแรกในการใช้ SDK คือการติดตั้ง คุณสามารถดาวน์โหลด Cloud SDK ได้จาก NuGet และ GitHub ดังนั้นหากต้องการติดตั้ง SDK จาก NuGet โปรดพิจารณาใช้คำสั่งต่อไปนี้ในเทอร์มินัล

nuget install Aspose.3D-Cloud

ตัวจัดการแพ็กเกจ NuGet

คุณอาจพิจารณาดำเนินการคำสั่งต่อไปนี้ใน Package Manager Console ใน Visual Studio เพื่อดึงและอ้างอิงแอสเซมบลี Aspose.3D ในโปรเจ็กต์ของคุณ

PM> Install-Package Aspose.3D-Cloud

วิชวลสตูดิโอ

อีกวิธีหนึ่งคือการติดตั้งโดยตรงภายในโซลูชัน Visual Studio:

  1. เปิด Solution Explorer
  2. ขยายโครงการและคลิกขวาที่โฟลเดอร์แพ็คเกจภายในโซลูชันของคุณ
  3. เลือกตัวเลือกจัดการแพ็คเกจ NuGet…
  4. คลิกที่แท็บ Browse และค้นหา “Aspose.3D-Cloud“
  5. คลิกที่แพ็คเกจ Aspose.3D-Cloud จากผลการค้นหา
  6. เลือกเวอร์ชันที่เหมาะสมในแท็บด้านขวาและคลิกปุ่มติดตั้ง
Aspose.3D-คลาวด์ NuGet

รูปภาพ 1:- Aspose.3D Cloud เป็นแพ็คเกจ NuGet ใน Visual Studio

แดชบอร์ดคลาวด์

ที่ Aspose ความลับ ความสมบูรณ์ และความพร้อมใช้งานของข้อมูลมีความสำคัญสูงสุด ดังนั้น เฉพาะบุคคลที่ได้รับอนุญาตเท่านั้นจึงจะสามารถเข้าถึง Cloud API รวมถึงไฟล์ที่จัดเก็บบนระบบจัดเก็บข้อมูลบน Cloud ได้ ขั้นตอนสำคัญถัดไปคือการสร้างบัญชีสมัครสมาชิกฟรีบน แดชบอร์ด Aspose.Cloud การสมัครสมาชิกนี้ไม่มีค่าใช้จ่ายและไม่ต้องใช้ข้อมูลบัตรเครดิตหรือรายละเอียดการชำระเงิน ภายใต้บัญชีสมัครสมาชิกฟรี คุณสามารถดำเนินการคำขอประมวลผลเอกสารฟรีได้สูงสุด 150 รายการ

ตอนนี้ใช้บัญชี GitHub หรือ Google ของคุณ เพียงแค่ลงทะเบียน หรือมิฉะนั้น ให้คลิกที่ปุ่ม สร้างบัญชีใหม่ และระบุข้อมูลที่จำเป็น ตอนนี้เข้าสู่ระบบแดชบอร์ดโดยใช้ข้อมูลรับรอง และขยายส่วนแอปพลิเคชันจากแดชบอร์ด แล้วเลื่อนลงไปที่ส่วนข้อมูลรับรองไคลเอนต์เพื่อดูรายละเอียดรหัสไคลเอนต์และความลับไคลเอนต์

ข้อมูลประจำตัวลูกค้า

ภาพที่ 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

แปลง FBX เป็น OBJ โดยใช้คำสั่ง cURL

สถาปัตยกรรม REST ของ Cloud API ช่วยให้คุณเข้าถึงได้ผ่านคำสั่ง cURL ดังนั้นเราจึงสามารถเข้าถึง Aspose.3D Cloud ผ่านคำสั่ง cURL ได้เช่นกัน ในขณะเดียวกัน 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 ด้านล่างนี้คือรายละเอียดของพารามิเตอร์ที่ยอมรับโดย API PostConvertByFormat

  • ชื่อ - ชื่อของไฟล์ต้นฉบับ
  • 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

เพื่อสรุป เราได้แสดงรูปแบบ 3D ที่รองรับโดย 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, รูปแบบการส่ง GL GLTF

เราขอแนะนำให้คุณลองใช้ API ของเรา และในกรณีที่คุณพบปัญหาหรือมีคำถามที่เกี่ยวข้อง โปรดติดต่อเราผ่าน ฟอรัมสนับสนุนฟรี

บทความที่เกี่ยวข้อง

เราขอแนะนำให้ไปที่ลิงก์ต่อไปนี้และเรียนรู้เพิ่มเติมเกี่ยวกับความสามารถของ API ที่ได้รับรางวัลของเรา