使用 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,如果有帮助的话。
是否可以在 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,如果有帮助的话。