المشهد التصدير والتصديد

المشهد التصدير والتصديد

@aspose/3d هي مكتبة معالجة وتحويل، ولا تقوم بتحرير GPU أو إنتاج ملفات الصورة. “تحميل” في سياق هذه المكتبات يعني: تصدير مشهد إلى تنسيق يمكن أن يستخدمه جهاز عرض الأسفل أو محرك الألعاب أو المشاهد..

وتغطي هذه الصفحة جميع طرق التصدير: توفير الملفات، ونتيجة البوفر في الذاكرة، وخيارات تنسيق محددة، وكيفية إعداد المشاهد لأهداف متزايدة (Three.js، Babylon.js، ومشاهد النموذج، ومتحركات الألعاب).

الصادرات الأساسية

مكالمة scene.save() مع مسار الملفات.يتم إدخال مكتبة تنسيق النتيجة من امتداد المجلد:

import { Scene } from '@aspose/3d';

const scene = new Scene();
scene.open('input.obj');  // use a supported format (OBJ, glTF, GLB, STL, 3MF, COLLADA)

scene.save('output.glb');    // GLB (binary glTF)
scene.save('output.stl');    // STL
scene.save('output.dae');    // COLLADA
scene.save('output.3mf');    // 3MF

تصدير إلى GLB (موصى بها للويب والألعاب)

GLB (GlTF 2.0 الثنائي) هو ملف واحد يحتوي على نفسه الذي يضم جميع بيانات الماس، والمواد، والنسيج.وهذا هو تنسيق الإنتاج الموصى به لمشاهد الويب (Three.js، Babylon.JS، نموذج-مشاهدة) ومحركات الألعاب (غودوت، وحدة عن طريق المستورد):

import { Scene } from '@aspose/3d';
import { GltfSaveOptions } from '@aspose/3d/formats/gltf';

const scene = new Scene();
scene.open('source.obj');

const opts = new GltfSaveOptions();
opts.binaryMode = true;    // produce .glb instead of .gltf + .bin

scene.save('output.glb', opts);
console.log('GLB export complete');

مجموعة binaryMode = true لإنتاج ملف GLB ذات الحاوية الذاتية. false,إن الإنتاج هو أ .gltf ملف JSON مع منفصلة .bin بوفير الجانب.

تصدير إلى glTF (JSON Format for Inspection)

وَالْمُتَوَلَّى الْأَرْض (.gltf + .bin) مفيد أثناء التطوير لأن JSON قابل للقراءة للإنسان:

import { Scene } from '@aspose/3d';
import { GltfSaveOptions } from '@aspose/3d/formats/gltf';

const scene = new Scene();
scene.open('input.dae');  // COLLADA is fully supported; FBX is not wired into scene.open()

const opts = new GltfSaveOptions();
opts.binaryMode = false;  // JSON + .bin sidecar

scene.save('output.gltf', opts);

تصدير إلى STL (3D الطباعة تدفقات العمل)

STL هو الهندسة الجيومترية فقط (لا مواد، لا الرسوم المتحركة).هذا هو تنسيق التبادل القياسي للطباعة 3D:

import { Scene } from '@aspose/3d';
import { StlSaveOptions } from '@aspose/3d/formats/stl';

const scene = new Scene();
scene.open('model.obj');

const opts = new StlSaveOptions();
opts.binaryMode = true;   // binary STL is more compact than ASCII

scene.save('output.stl', opts);

مجموعة binaryMode = false لإنتاج ASCII STL ، وهو نص قابل للقراءة ولكن أكبر.

تصدير إلى FBX (دفقات العمل أدوات DCC)

ملاحظة: فصول FBX المستوردين والمتصدرين موجودة في المكتبة ، ولكن لا يتم توصيل التعرف الذاتي على تنسيق FB X إلى scene.open() أو scene.save().- دعوة scene.save('output.fbx', opts) لن يطلب من المستورد FBX - .fbx لا يتم التعرف على التمديد من قبل المرسل المحفوظ وسوف تسقط المكالمة مرة أخرى إلى إخراج OBJ. FbxExporter فئة مباشرة إذا كنت بحاجة إلى FBX I/O. علامة التبويب دعم النموذج FBx على No* لهذا السبب .

إذا كنت بحاجة إلى تصديرها إلى تنسيق مقبول من قبل Blender أو Maya أو Unreal Engine ، استخدم GLB أو COLLADA بدلاً من ذلك - كلاهما متصل بالكامل في scene.save():

import { Scene } from '@aspose/3d';
import { GltfSaveOptions } from '@aspose/3d/formats/gltf';

const scene = new Scene();
scene.open('input.dae');

// GLB is fully supported and widely accepted by DCC tools
const opts = new GltfSaveOptions();
opts.binaryMode = true;
scene.save('output.glb', opts);

في الذاكرة التصدير مع saveToBuffer()

بالنسبة للوظائف الخالية من الخادم، استجابة HTTP، وأنابيب البث، تصدير مباشرة إلى Buffer لا تكتب على القرص:

import { Scene } from '@aspose/3d';
import { GltfSaveOptions } from '@aspose/3d/formats/gltf';

function convertToGlbBuffer(inputPath: string): Buffer {
    const scene = new Scene();
    scene.open(inputPath);

    const opts = new GltfSaveOptions();
    opts.binaryMode = true;

    return scene.saveToBuffer('glb', opts);
}

// Express.js / HTTP response example
// const glbBuffer = convertToGlbBuffer('model.obj');
// res.setHeader('Content-Type', 'model/gltf-binary');
// res.send(glbBuffer);

saveToBuffer() يضع صف النموذج كأول حجة (على سبيل المثال،. 'glb', 'stl', 'obj'(و) وتتضمن نفس الخيارات كالمواقع التي save().

مزيج openFromBuffer() و saveToBuffer()

خط أنابيب التحويل بالكامل في الذاكرة مع عدم وجود قرص I/O في أي مرحلة:

import { Scene } from '@aspose/3d';
import { ObjLoadOptions } from '@aspose/3d/formats/obj';
import { GltfSaveOptions } from '@aspose/3d/formats/gltf';

function objBufferToGlbBuffer(objData: Buffer): Buffer {
    const scene = new Scene();

    const loadOpts = new ObjLoadOptions();
    loadOpts.enableMaterials = true;
    scene.openFromBuffer(objData, loadOpts);

    const saveOpts = new GltfSaveOptions();
    saveOpts.binaryMode = true;

    return scene.saveToBuffer('glb', saveOpts);
}

إعداد المشاهد للمتسابقين المحددين

Three.js / Babylon.JS (الإنترنت)

هذه الرافعات المحلية تحميل ملفات GLB. تصدير مع binaryMode = true.إذا كانت النسيج مرجعية من مصدر OBJ، تأكد من أن .mtl وتتراوح مواقع الصور عند تحميلها.

المكونات الويب (Web Component)

قبولات .glb نفس إعدادات التصدير مثل Three.js.

محرك غودو

استيراد GLB عبر مستورد Godot (مشروع → استيفاء). binaryMode = true.Godot يدعم مواد PBR من glTF 2.0 الأصلي.

Blender

من أجل أفضل الاستيراد الولاء باستخدام GST (output.gltf + output.bin(أو من أصلها)output.glb. ) Blender’s glTF 2.0 المستورد يتعامل مع مواد PBR والرسوم المتحركة. ملاحظة: إصدار FBX عبر scene.save() لا يدعم - لا يتم توصيل التعرف الذاتي على تنسيق FBX إلى جهاز إرسال النسخ الاحتياطي.

3D Printing (Slicers: Cura, PrusaSlicer, Bambu Studio)

تصدير إلى STL أو 3MF. استخدم 3mF عندما تحتاج إلى الحفاظ على ألوان أو بيانات المواد المتعددة.

مقارنة نموذج الصادرات

شكلالتمديدالموادالرسوم المتحركةملف واحدأفضل من أجل
GLTF.glb / .gltfPBR (glTF 2.0)نعمGLB: نعم؛ glTF: لاالويب, ألعاب, التسليم العام
STL.stlلالانعم3D printing, geometry-only
FBX.fbxفينغ / PBRلا *لا *المستورد/المستورد موجود ولكن لم يتم إدخاله في الكشف الذاتي
COLLADA.daeنعمنعمنعمتبادل الدوائر العابرة
3MF.3mfاللون / الموادلانعمالطباعة الحديثة 3D

اختر GLTF (GLB) لتسليم الويب، 3MF لنتطبيق سير العمل المطبوعة التي تتطلب بيانات الألوان، و STL للحصول على أقصى قدر من التوافق الهندسي مع الأدوات القديمة.

مشكلة التصدير المشترك

الأعراضسببتصحيح
يفتح الخروج GLB كJSON في المشاهدbinaryMode وَلَمْ يُبْدِئْ كَ falseمجموعة opts.binaryMode = true
النسيج المفقود في الإنتاج GLBbinaryMode لا تضعمجموعة opts.binaryMode = true لـ GLB ذات الحاوية الذاتية
ملف STL لا يحتوي على لون في الشريطتنسيق STL لا يدعم اللوناستخدام 3MF لبيانات الألوان
saveToBuffer عودة الفراغ المباشرإعداد حروف الحرف المفقودة أو الخاطئةإرسال رسالة خاصة إلى الشريط، إلخ. 'glb', 'stl',أو 'obj'
FBX يفتح دون تحريك في Blenderملف المصدر (OBJ / STL) لا يحتوي على الرسوم المتحركةالرسوم المتحركة لا تنتقل إلا إذا كانت موجودة في المصدر
ملف الخروج كبير جداالمصدر OBJ لديه العديد من الأقواس المزدوجةGLB الإنتاج الثنائي بالفعل تضاعف؛ التحقق من جودة الأصول المصدر

انظر أيضا

 العربية