使用 PHP 渲染 .glb / .gltf 3d 模型

Render .glb / .gltf 3d model with PHP

是否可以在 PHP 中创建或修改 .glb 或 .gltf 文件?

比如我想加载一个.glb文件,修改后再次保存,类似《图像处理与生成》-函数

伪代码:

$model = @modelcreatefromglb("model.glb");
modelstring($model, 5, 0, 0, 0, "Hello world!");
modelglb($model, "model-with-text.glb");

我只找到了一个用于“blender”的小型库 (.blend-Files),但这不是我想要的方式。

据我所知,PHP 生态系统实际上并没有很多图形 API 库(OpenGL、Vulkan、Metal 等),而且我找不到任何与语言的 glTF 2.0 格式。然而,一个 .gltf 文件只是 JSON,你可以用 json_decode( $gltfContent ) 解析它的内容。许多变化,比如改变 objects 的材质或位置,只需根据 glTF specification or quickstart guide 修改 JSON 即可。顶点和纹理数据通常位于单独的文件中(.bin.png.jpg),这需要更仔细的解析才能使用。

一个.glb是一个二进制文件,包含一个小的JSONheader(相当于一个.gltf的内容),后面是二进制顶点、动画和贴图一个 self-contained 文件中的数据。解析这需要更多的工作,但非常可行。 example code in JavaScript,如果有帮助的话。