glTF JSON (.gltf)
ISO/IEC স্ট্যান্ডার্ডGL Transmission Format (glTF) হলো WebGL, WebGPU, গেম ইঞ্জিন এবং নেটিভ অ্যাপ্লিকেশন দ্বারা থ্রিডি দৃশ্য এবং মডেলের দক্ষ ট্রান্সমিশন ও লোডিংয়ের জন্য ওপেন-স্ট্যান্ডার্ড, রয়্যালটি-মুক্ত JSON স্পেসিফিকেশন।
GLTF থেকে GLB-তে রূপান্তর করুন
বিনামূল্যের ব্রাউজারভিত্তিক GLTF-থেকে-GLB রূপান্তরকারী। আপনার ডিভাইসেই ফাইল তাৎক্ষণিকভাবে রূপান্তর করুন।
ইনস্পেক্ট ও মেটাডেটা
অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে glTF ফাইল শনাক্ত করে:
বাইট-লেভেল হেডার সিগনেচার (ম্যাজিক বাইটস)
অপারেটিং সিস্টেম এবং ফাইল অ্যানালাইজারগুলো শুরুর বাইনারি বাইট সিকোয়েন্স পরীক্ষা করে glTF ফাইল শনাক্ত করে:
হেক্স সিগনেচার (অফসেট 0):
7B 0A 20 20 22 61 73 73 65 74 22ASCII রিপ্রেজেন্টেশন: {\n "asset"
স্ট্যান্ডার্ডাইজেশন: ISO/IEC 12113:2022 / Khronos ওপেন স্ট্যান্ডার্ড
প্রযুক্তিগত বৈশিষ্ট্য
| কন্টেইনার আর্কিটেকচার | মানুষের পড়ার উপযোগী JSON নথিতে scene graph, node, mesh, accessor, material ও animation-এর বিবরণ থাকে; এটি বাহ্যিক buffer-কে নির্দেশ করে |
| কম্প্রেশন | বাহ্যিক টেক্সচার (PNG, JPEG, WebP) এবং ঐচ্ছিক Draco geometry কমপ্রেশন |
| বাইট এন্ডিয়াননেস | UTF-8 JSON টেক্সট (Little-Endian .bin buffer নির্দেশ করে) |
| কালার স্পেস | sRGB বেস কালার, লিনিয়ার roughness/metallic |
| চ্যানেল ও কাঠামো | scene hierarchy, node, camera, PBR material, skinning skeleton এবং morph target |
| সর্বোচ্চ মাত্রা | স্থানাঙ্কের পরিসর ও triangle সংখ্যার নির্দিষ্ট সীমা নেই |
| স্বচ্ছতা | BLEND alpha mode, cutoff threshold-সহ MASK অথবা volumetric transmission |
| স্ট্রিমিং ও প্রোগ্রেসিভ | অ্যাসিঙ্ক্রোনাস লোডিং: scene JSON সঙ্গে সঙ্গে লোড হয়; বড় বাইনারি buffer ব্যাকগ্রাউন্ডে স্ট্রিম হয় |
টেকনিক্যাল তুলনা ম্যাট্রিক্স: glTF বনাম প্রতিযোগীগণ
| প্রযুক্তিগত বৈশিষ্ট্য | glTF (বর্তমান) | GLB | OBJ | FBX |
|---|---|---|---|---|
| ফাইল আর্কিটেকচার | JSON সিন টেক্সট + সহচর .bin / টেক্সচার | একক স্বয়ংসম্পূর্ণ বাইনারি ফাইল | সাধারণ টেক্সট ভার্টেক্স ও ফেস + .mtl | প্রোপাইটারি বাইনারি/অ্যাসকি কন্টেইনার |
| PBR ম্যাটেরিয়াল স্ট্যান্ডার্ড | স্ট্যান্ডার্ডাইজড মেটালিক-রাফনেস PBR | স্ট্যান্ডার্ডাইজড মেটালিক-রাফনেস PBR | লেগ্যাসি Phong/Lambert ম্যাটেরিয়াল | কাস্টম প্রোপাইটারি ম্যাটেরিয়াল |
| অ্যানিমেশন সমর্থন | স্কেলিটাল স্কিনিং ও মরফ টার্গেট | স্কেলিটাল স্কিনিং ও মরফ টার্গেট | নেই (শুধুমাত্র স্ট্যাটিক জিওমেট্রি) | জটিল অ্যানিমেশন ও বোন |
| রানটাইম পারফরম্যান্স | WebGL ও রিয়েল-টাইম ইঞ্জিনের জন্য অপ্টিমাইজড | WebGL ও রিয়েল-টাইম ইঞ্জিনের জন্য অপ্টিমাইজড | ধীর পার্সিং ও পুনর্নির্মাণ প্রয়োজন | জটিল ডেস্কটপ SDK পার্সিং প্রয়োজন |
সাধারণ করাপশন মোড এবং হেক্স রিকভারি গাইড
থ্রিডি ইঞ্জিন ত্রুটি: 'Failed to load buffer: URI not found'।
মূল কারণ: .gltf ফাইলের পাশাপাশি সহচর .bin বাইনারি ফাইল বা টেক্সচার ইমেজ আপলোড করা হয়নি।
পুনরুদ্ধার: সমস্ত সহচর ফাইল একসাথে প্যাকেজ করুন অথবা File2File.app ব্যবহার করে সরাসরি একটি একক GLB ফাইলে রূপান্তর করুন।
নিরাপত্তা বিশ্লেষণ ও পার্সার অ্যাটাক ভেক্টর
glTF JSON ফাইলগুলো বাহ্যিক URI (ডেটা URI বা রিমোট URL) উল্লেখ করে যা সার্ভার-সাইড রিকোয়েস্ট ফোর্জারি (SSRF) বা পাথ ট্রাভার্সাল ঘটাতে পারে।
পরিচিত অ্যাটাক ভেক্টর
- রিলেটিভ বাফার URI-এর মাধ্যমে পাথ ট্রাভার্সাল (যেমন 'uri: ../../../etc/passwd')।
- সার্ভার-সাইড থ্রিডি থাম্বনেইল জেনারেটরে রিমোট নেটওয়ার্ক বাফার ফেচিংয়ের মাধ্যমে SSRF।
- ত্রুটিপূর্ণ রিকার্সিভ নোড হায়ারার্কি চক্রের মাধ্যমে সার্ভিস অস্বীকার (DoS)।
প্রতিরক্ষামূলক সেরা অনুশীলন: লোড করার আগে রিমোট URL নিষ্ক্রিয় করুন এবং সমস্ত স্থানীয় বাফার URI পাথ নরমালাইজ করুন।
ঐতিহাসিক উৎপত্তি ও মাইলফলক
প্রধান সুবিধাসমূহ ও গুণাবলী
- মানুষের পাঠযোগ্য JSON স্ট্রাকচার প্রোগ্রাম্যাটিক এডিটিং, পাইপলাইন স্ক্রিপ্টিং এবং ভিজ্যুয়াল পরিদর্শনের অনুমতি দেয়।
- মডুলার ডিজাইন: হালকা ওজনের দৃশ্য মেটাডেটাকে ভারী বাইনারি জিওমেট্রি (.bin) এবং টেক্সচার থেকে আলাদা করে।
- PBR উপকরণ সামঞ্জস্য বাড়াতে পারে, তবে ফলাফল রেন্ডারার, আলো ও সেটিংসের ওপর নির্ভর করে।
কারিগরি সীমাবদ্ধতা ও অসুবিধা
- বহু-ফাইলের জটিলতা: একটি মডেল শেয়ার করার জন্য .gltf, .bin এবং ইমেজ টেক্সচারগুলোকে একসাথে জিপ বা বান্ডিল করতে হয়।
- একাধিক HTTP অনুরোধের কারণে একক-ফাইল GLB-এর তুলনায় প্রাথমিক নেটওয়ার্ক স্টার্টআপ কিছুটা ধীরগতির হয়।
- সহচর টেক্সচার ফাইলের নাম পরিবর্তন করা হলে বা সরানো হলে রিলেটিভ পাথ নির্ভরতা নষ্ট হতে পারে।
আকর্ষণীয় কারিগরি তথ্য
- glTF-কে আনুষ্ঠানিকভাবে 'The JPEG of 3D' বলা হয় কারণ এটি তৈরির পরিবর্তে রানটাইম ট্রান্সমিশন এবং ডিসপ্লের উপর কঠোরভাবে ফোকাস করে।
- ফরম্যাটটি যৌথভাবে প্রতিষ্ঠা করেছিলেন টনি পারিসি, যিনি ১৯৯৪ সালে VRML (Virtual Reality Modeling Language) সহ-সৃষ্টি করেছিলেন।
- নাসা (NASA) জনসাধারণের ডাউনলোডের জন্য glTF ফরম্যাটে রোভার, স্যাটেলাইট এবং নভোচারীদের থ্রিডি মডেল সরবরাহ করে।
সচরাচর জিজ্ঞাসিত প্রযুক্তিগত প্রশ্নাবলি
আমার glTF ফাইলের রঙ বা আকৃতি অনুপস্থিত কেন?
একটি .gltf ফাইলে শুধুমাত্র JSON সিন ইনস্ট্রাকশন থাকে। এটি থ্রিডি আকৃতির জন্য সহায়ক .bin ফাইল এবং রঙের জন্য .png/.jpg ফাইলের ওপর নির্ভর করে। নিশ্চিত করুন যে সমস্ত সহায়ক ফাইল একই ফোল্ডারে রয়েছে।
আমি কীভাবে একটি glTF ফাইলকে একক GLB ফাইলে পরিণত করব?
সেগুলোকে একটি একক, সেলফ-কন্টেইনড .glb ফাইলে তাৎক্ষণিকভাবে মার্জ করতে আপনার .gltf এবং এর সহায়ক .bin ও টেক্সচার ফাইলগুলো File2File.app-এ আপলোড করুন।
কোন প্রোগ্রামগুলো glTF সমর্থন করে?
Blender, Three.js, Babylon.js, Unity, Unreal Engine, Godot এবং Windows 3D Viewer ডিফল্টভাবেই glTF সমর্থন করে।
সম্পর্কিত glTF কনভার্সন পেয়ার
জিএলটিএফ জেএসওন সম্পদগুলিকে জিএলটিএফ বাইনারি কন্টেইনারগুলিতে রূপান্তর করলে দ্রুত ওয়েব সরবরাহের জন্য পৃথক টেক্সট ম্যানিফেস্ট, বাইনারি বাফার এবং টেক্সচারগুলিকে একটি একক ফাইলে প্যাকেজ করা হয়।
জিএলবি থেকে জিএলটিএফ রূপান্তরের মাধ্যমে একক বাইনারি কন্টেইনারকে আলাদা টেক্সট এবং অ্যাসেট ফাইলে বিভক্ত করা হয়, যাতে ডেভেলপাররা খুব সহজেই টেক্সচার এবং থ্রিডি জিওমেট্রি কোড সম্পাদনা করতে পারেন।
ওয়েভফ্রন্ট ওবিজে জিওমেট্রি ফাইলকে জিএলটিএফ JSON ম্যানিফেস্টে রূপান্তর করার মাধ্যমে স্ট্যাটিক থ্রিডি মডেলগুলোকে আধুনিক ওয়েব-প্রস্তুত অ্যাসেটে রূপান্তর করা যায় যা স্ট্যান্ডার্ড ওয়েব ব্রাউজারে তাৎক্ষণিকভাবে লোড হয়।