You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| glTF 1.0 | Any | 🔴 | glTF 2.0 was introduced in 2017 with major improvements. Avoid using the outdated glTF 1.0 standard in your projects. |
173
+
| glTF 2.0 | Separate (`.gltf` + `.bin` + textures) | 🟢 | Recommended! Offers better performance, version control, caching, transferability, and debugging. |
174
+
| glTF 2.0 | Embedded (only `.gltf`) | 🟢 | Assets are embedded directly into the `.gltf` file as base64 encoded `data:` sources within the `uri` fields, making single-file management simpler. |
175
+
| glTF 2.0 | Binary (`.glb`) | 🔴 | Currently not supported because we scan JSON-encoded `.gltf` files for type generation and cannot yet process binary representations. Contributions welcome! ❤️ |
163
176
164
177
## Draco Compression handling
165
178
@@ -211,16 +224,17 @@ scene/ model graph, we store the paths in the graph by caching the child indices
211
224
object. With this, we can O(1) look up what the user requests without the need of traversing - neither depth first
212
225
(default approach from [three.js](https://github.com/mrdoob/three.js/)), nor breath first.
213
226
214
-
One of the biggest challenges was making the plugin bundler agnostic bc not every bundler handles inner path references
215
-
the same. Therefore, we have to reconstruct the buffers that link the glTF file with the binary and textures by text
216
-
string & replace - kinda hacky, but reliable and the additional runtime is only performed in dev and build, not in the
217
-
production runtime.
227
+
One of the biggest challenges was making the plugin build tool agnostic bc not every build tool handles inner path
228
+
references the same. Therefore, we have to reconstruct the buffers that link the glTF file with the binary and
229
+
textures by text string & replace - kinda hacky, but reliable and the additional runtime is only performed in dev
230
+
and build, not in the production runtime.
218
231
219
-
## Troubleshooting
232
+
## Troubleshooting with Known Problems and Limitations
220
233
221
234
If you have problems, maybe one of the following will help:
222
235
223
236
- Delete your build output folder (maybe some old builds copied model files in there and our plugin is now scanning them).
237
+
- We currently do not provide a watcher. Restart your dev environment when changing model files.
224
238
225
239
## Attribution/ Contribution
226
240
@@ -230,11 +244,16 @@ Project founder & head of project:
230
244
231
245
Honorable mentions to people that helped this project:
232
246
233
-
-[Andreas Fehn](https://github.com/fehnomenal) as contributor who helped incredible with the project and the magic behind the core. Thank you <3
247
+
-[Andreas Fehn](https://github.com/fehnomenal) as contributor who helped incredible with the project and the magic
248
+
behind the core. Thank you <3
234
249
235
250
Respectable mentions to projects that helped this project:
236
251
237
-
-\[currently none\]
252
+
-[zlig (zen-landscape-idle-game)](https://github.com/toddeTV/zlig): A Japanese zen-inspired idle browser game that
253
+
showcases lightweight web technologies like `Vue` and `Three.js` to create fully browser-based games. The idea and
254
+
initial implementation of this plugin [@todde.tv/gltf-type-toolkit](https://github.com/toddeTV/gltf-type-toolkit)
255
+
originated during the development of zlig, where we required type-safe glTF representations to enable faster and
256
+
more reliable development.
238
257
239
258
Used programs/ softwares, services and dependencies - besides the ones in `./package.json`:
0 commit comments