nginx和netcore加载常见的3D模型

背景

数字孪生带火了3D版的Web世界,3D模型格式也是众多,常见的glb适合web传输,fbx,gltf,obj,unity等常用于模型编辑和处理。我们在用netcore或者wasm加载这些3D模型文件时,一般都需要手工增加Mime类型。IIS上好办,UI可视化增加就行,Kestrel的话,就得修改代码了,目前没有找到其它方便的配置方法。

配置

  1. 第一个要配置的肯定是Nginx,打开mime.types编辑,增加:
	model/gltf+json                            json gltf;
    model/gltf+binary                          bin glb;
    application/fbx                            fbx;
  1. 第二个配置,修改工程代码,增加:
            //app.UseStaticFiles(); //默认使用wwwroot目录  

            //注册自定义的3D模型常用 Mime类型
            var provider = new FileExtensionContentTypeProvider();
            provider.Mappings[".data"] = "application/octet-stream";
            provider.Mappings[".wasm"] = "application/wasm";
            provider.Mappings[".unity3d"] = "application/octet-stream";
            provider.Mappings[".unityweb"] = "application/binary";
            provider.Mappings[".gltf"] = "model/gltf+json";
            provider.Mappings[".glb"] = "model/gltf+binary";
            provider.Mappings[".fbx"] = "application/fbx";

            app.UseStaticFiles(new StaticFileOptions()
            {
                ContentTypeProvider = provider,
            });

常见3D模型Mime配置:

重启服务

  1. 重启或者加载nginx配置;
  2. 重启网站或者服务;

修订

在 Nginx 中配置常见的 3D 模型格式的 MIME 类型可以帮助确保这些文件在客户端(如浏览器)中被正确识别和处理。以下是一些常见的 3D 模型文件格式及其对应的 MIME 类型,你可以将它们添加到 Nginx 的配置中:

  1. 打开 Nginx 的 MIME 类型文件

    • 通常在 /etc/nginx/mime.types,如果路径不同,请根据你的系统找到正确的文件。
  2. 编辑 MIME 类型文件

    • 使用文本编辑器打开文件:
      sudo nano /etc/nginx/mime.types
      
  3. 添加常见的 3D 模型格式及其 MIME 类型

    • types {} 块中添加以下行:

      types {
          application/fbx fbx;
          model/gltf-binary glb;
          model/gltf+json gltf;
          model/obj obj;
          application/octet-stream stl;
          model/vnd.collada+xml dae;
          model/vrml wrl vrml;
          model/x3d+xml x3d;
          model/x3d+binary x3db;
          model/x3d+vrml x3dv;
          application/x-blender blend;
      }
      
  4. 保存并退出编辑器

    • nano 中,按 Ctrl + O 保存,然后按 Ctrl + X 退出。
  5. 测试 Nginx 配置

    • 测试配置以确保没有语法错误:
      sudo nginx -t
      
  6. 重新加载 Nginx

    • 应用更改需要重新加载 Nginx:
      sudo systemctl reload nginx
      
    • 或者使用:
      sudo nginx -s reload
      

MIME 类型说明:

  • FBXapplication/fbx,用于 Autodesk FBX 格式。
  • GLB/GLTFmodel/gltf-binarymodel/gltf+json,分别用于二进制和 JSON 格式的 glTF 文件。
  • OBJmodel/obj,用于 Wavefront OBJ 格式。
  • STLapplication/octet-stream,用于立体光刻文件格式。
  • DAEmodel/vnd.collada+xml,用于 COLLADA 格式。
  • VRMLmodel/vrml,用于 VRML 格式。
  • X3Dmodel/x3d+xmlmodel/x3d+binarymodel/x3d+vrml,用于 X3D 格式。
  • BLENDapplication/x-blender,用于 Blender 文件格式。

通过这些配置,Nginx 将能够为这些 3D 模型文件提供正确的 MIME 类型,确保客户端能够正确识别和处理这些文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值