Import
将 3D 模型(目前仅 OBJ)加载到 Unity 场景中, 在运行时和 Editor 模式下,将它们导入到 Unity 项目中 作为资产。 要利用运行时加载器中实现的相同功能,它可以 也可以用作资源导入器(具有依赖项的预制件为 在项目中创建)。
3D 模型可以从文件和 URL 加载。
与当前版本的 Unity 相比,OBJ 导入进行了一些改进:
- 凹凸贴图
- 凹凸贴图将转换为法线贴图
- 法线贴图和切线的计算
- Specular Map(镜面反射贴图)
- 镜面反射贴图将转化为光泽度贴图(金属纹理)
- 反射贴图
- Reflection Map (反射贴图) 替换为 Ambient Reflection (环境反射) (天空盒或反射探针,如果可用)
- 不透明度贴图
- 漫反射贴图和不透明度贴图在 Albedo 纹理中混合在一起
- 顶点颜色
- 如果顶点颜色可用(并且未定义材质库),则会加载它们并用于为网格着色
- 标志对材质使用 Unlit 着色器,并将光照渲染到漫反射纹理
- 纵轴转换
- 网格碰撞器
- 可以选择从加载的网格 即使使用凸面网格生成
该项目的启动是由于这些要求(部分由一些现有项目解决):
- 选择硬盘任何位置的obj模型
- 以异步方式加载模型(在加载过程中不“冻结”场景)
- 同时加载更多模型
- 在 UI 上显示加载进度
- 将加载的模型作为资源导入到 Unity 项目中
- 准备要用不同文件格式扩展的加载器
Unity Editor 主菜单中添加了菜单 unity3d 运行时模型导入器,其中包含一个子菜单 Import OBJ model,该子菜单将打开一个窗口。在此窗口中,您可以设置路径 并导入设置,然后您可以按 导入 开始导入 所选模型。进度条显示导入进度和阶段,直到 模型已加载(或者直到您按 Cancel 中止 进程)。添加了一个实用程序菜单项,以将 屏幕截图中,文件会自动命名并保存到主 project 文件夹,则该文件夹将在 File Manager 中打开。Capture screenshot
子菜单 Import OBJ model [unity3d runtime model importer] 已添加到 Unity Editor Asset 菜单中。 它会打开一个窗口,您可以在其中设置路径和导入设置,然后您可以按 Import 开始导入 所选模型。进度条显示导入进度和阶段,直到 模型已加载(或者直到您按 Cancel 中止 进程)。在 Window 菜单中添加了一个子菜单项,以 take 屏幕截图中,文件会自动命名并保存到主 project 文件夹,则该文件夹将在 File Manager 中打开。Capture screenshot [unity3d runtime model importer]
提供了一个示例场景来演示导入器如何 连接到 UI 并使用新功能进行扩展。
此项目中的代码应准备好进行扩展以支持其他文件格式。 即使当前唯一支持的格式是 OBJ,其想法也是创建一个通用框架,在该框架上可以开发对其他格式的支持,从而允许与其他应用程序交换数据。
导入过程分为不同的阶段:
- 纹理资源导入(如果导入资源)
- 文件解析和数据填充
- 在 Unity 场景中创建游戏对象
- 材质、网格和预制件资源创建(如果导入资源)
您可以在文件夹中找到完整的 unity3d 运行时模型导入器文档 压缩的 HTML 和压缩的 HTML 都可用。Documentation
要加载一些 OBJ 文件,可以将 ObjectImporter 添加到游戏对象中,并将 从 MonoBehavior 调用其 ImportModelAsync() 方法, 请参阅 中的示例场景,其中 您还可以在 中找到更高级的示例。 在 EXAMPLES.md 中,您可以找到有关每个示例的详细信息。001_Import_SimpleTest
Assets/unity3d runtime model importer/Examples
002_Import_CustomImporter
有需要的可以在评论区留言