1. מוצרים
  2.   תלת מימד
  3.   Node.js
  4.   glTF-Transform
 
  

SDK בקוד פתוח ב-Node.js לעבודה עם מודלים תלת-ממדיים בפורמט glTF

SDK תלת-ממדי מוביל בקוד פתוח ב-Node.js מאפשר למפתחי תוכנה לקרוא, לכתוב, לערוך, לאופטימיזציה ולנהל מודלים תלת-ממדיים בפורמט glTF בתוך יישומי Node.js.

מהו glTF-Transform?

העולם של גרפיקה תלת-ממדית ותוכן דיגיטלי נמצא בתנועה מתמדת. עבור מפתחי תוכנה ואמנים, קיום הכלים הנכונים הוא קריטי. כלי אחד שמקבל הרבה תשומת לב הוא ספריית glTF-Transform. נוצרה על ידי דון מקקרדי, פרויקט קוד פתוח זה משנה את המשחק. היא מסייעת למפתחי תוכנה ולאמנים להתמודד עם כל ההיבטים המורכבים של עיבוד גאומטריה תלת-ממדית. פורמט glTF, שמסמל GL Transmission Format, הוא תקן שנוצר על ידי Khronos Group. הוא מתמקד בהעברה יעילה של תלת-ממד ובטעינת סצנות ומודלים תלת-ממדיים בתוך יישומי Node.js.

אם אתה מתעניין ביצירת גרפיקה תלת‑ממדית בפורמט glTF, ספריית glTF-Transform היא כלי חובה בשבילך. היא מצוינת לשימוש באינטרנט, מכיוון שהיא משאירה את הדברים קלים ופשוטים. כלי זה יכול להתמודד עם כל סוגי התוכן תלת‑ממדי כמו מרקמים, אנימציות ושיידרים. בנוסף, הוא עוזר לצמצם את גודל קבצי glTF מבלי לפגוע באיכות הוויזואלית. בכך הוא מאיץ את זמני הטעינה ומשפר את הביצועים בעמודי האינטרנט שלך. יתר על כן, הוא ממיר ומשפר נכסים בקלות למנועי משחק ופלטפורמות שונים. מגוון הפיצ'רים הרחב שלו, הממשק הידידותי למשתמש והקוד הפתוח הופכים אותו לבחירה המועדפת לשיפור והמרת נכסי 3D. באופן כללי, ספריית glTF-Transform היא כלי ערך עבור אנשים שעובדים עם מודלים תלת‑ממדיים בפורמט glTF.

Previous Next

התחלה עם glTF-Transform

הדרך הקלה ביותר להתקנת גרסה יציבה של glTF-Transform היא באמצעות npm. אנא השתמשו בפקודה הבאה להתקנה חלקה.

התקן glTF-Transform באמצעות npm

npm install --global @gltf-transform/cli 

התקן glTF-Transform באמצעות GitHub.

clone https://github.com/donmccurdy/glTF-Transform.git 

אתה יכול להוריד את הספרייה המשותפת המהודרת מ-GitHub.

קריאה וכתיבה של סצנות glTF ב-Node.js

ה‑SDK הקוד הפתוח glTF-Transform, מקל על מפתחי תוכנה ליצור סצנות glTF חדשות מאפס או לטעון ולקרוא סצנות קיימות בתוך יישומי Node.js שלהם. הספרייה תומכת בעריכת סצנות קיימות, דחיסת קובץ glTF, שינוי תכונות חומרים, התאמת היררכיות צמתים ועוד. הנה דוגמה פשוטה שמראה כיצד מפתחי תוכנה יכולים לטעון קובץ glTF קיים, לעדכן אותו ולשמור את קובץ ה‑glTF המותאם במקום לבחירתם בתוך יישומי Node.js.

איך לטעון ולשמור קובץ glTF משונה בתוך אפליקציות Node.js?

const { NodeIO } = require('@gltf-transform/io');

// Create an IO instance.
const io = new NodeIO();

// Load a glTF file.
const document = io.read('path/to/your/model.glb');

// Perform operations on the document...

// Save the modified glTF file.
io.write('path/to/your/output.glb', document);

דחיסה ואופטימיזציה של קבצי glTF ב-Node.js

ה‑SDK הקוד הפתוח glTF-Transform עשיר מאוד בתכונות ומאפשר למפתחי תוכנה לדחוס ולמטב קבצי glTF בתוך סביבת Node.js שלהם. עם רק כמה שורות קוד, הספרייה יכולה להפחית משמעותית את גודלם תוך שמירה על איכות ויזואלית. זה קריטי לשיפור הביצועים, במיוחד ביישומי אינטרנט שבהם זמני טעינה ורוחב פס הם גורמים מרכזיים. הדוגמה הבאה מציגה כיצד מפתחי תוכנה יכולים לדחוס קבצי glTF קיימים כדי להפחית את גודלם בתוך יישומי Node.js.

איך לדחוס קובץ glTF כדי לייעל את גודלו בתוך אפליקציות Node.js?

const { NodeIO } = require('@gltf-transform/io');
const { DracoMeshCompression } = require('@gltf-transform/extensions');
const { DracoMeshEncoder } = require('@gltf-transform/functions');

const io = new NodeIO();
const document = io.read('path/to/your/model.glb');

// Add Draco compression.
document.createExtension(DracoMeshCompression)
    .setRequired(true);

await document.transform(
    DracoMeshEncoder({ method: DracoMeshEncoder.Method.EDGEBREAKER })
);

io.write('path/to/your/output-compressed.glb', document);

המרה ועריכה של קבצי glTF ב-Node.js

פורמט glTF, שפותח על ידי Khronos Group, הוא תקן ללא תמלוגים להעברת נכסי 3D. הוא מותאם להעברה יעילה וטעינה של סצנות ומודלים תלת‑ממדיים. ערכת הפיתוח glTF-Transform SDK מאפשרת שינויים נרחבים בקבצי glTF, כולל שינוי היררכיות צמתים, שינוי תכונות חומרים, התאמת אנימציות ועוד. יכולות אלו מעניקות למפתחים גמישות להתאים נכסי 3D לצרכים ספציפיים. הדוגמה שלהלן מראה כיצד מפתחים יכולים להתאים היררכיות צמתים בתוך יישומי Node.js שלהם.

איך להתאים היררכיות צמתים בתוך אפליקציות Node.js?

const { NodeIO } = require('@gltf-transform/io');
const { DracoMeshCompression } = require('@gltf-transform/extensions');
const { DracoMeshEncoder } = require('@gltf-transform/functions');

const io = new NodeIO();
const document = io.read('path/to/your/model.glb');

// Add Draco compression.
document.createExtension(DracoMeshCompression)
    .setRequired(true);

await document.transform(
    DracoMeshEncoder({ method: DracoMeshEncoder.Method.EDGEBREAKER })
);

io.write('path/to/your/output-compressed.glb', document);

המרת קבצי glTF תלת‑ממד בתוך Node.js

ערכת הפיתוח glTF-Transform SDK תומכת באופן מלא בהמרת קבצי glTF בין גרסאות והרחבות שונות בתוך יישומי Node.js. תכונה זו שימושית במיוחד להבטחת תאימות עם פלטפורמות ויישומים שונים. הספרייה יכולה גם לייצא קבצי glTF לפורמטים קבצים אחרים, מה שמאפשר שימוש רחב יותר ושילוב.

 עִברִית