Unity运行时程序动态加载外部.fbx.obj模型文件

这篇具有很好参考价值的文章主要介绍了Unity运行时程序动态加载外部.fbx.obj模型文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity运行时程序动态加载外部.fbx.obj模型文件


项目中有用到这个需求,为实现Unity程序运行状态下,从程序外部动态加载fbx或obj模型,所以研究了一下,目前TriLib比较靠谱,好用,多平台适用。会提供 下载插件地址。


1.效果展示

unity运行时加载fbx

使用的插件 下载插件地址


2、添加插件至Unity工程

将Trilib压缩包内容解压到Unity工程Assets文件夹下,返回工程等待加载,完成后即可在工程目录下看到Trilib目录,包含脚本以及各类License。Trilib插件包含了示例场景,我们的工程就从示例入手。
unity3d动态加载模型,C#,unity专栏,学习交流,unity,游戏引擎
先择模型,看效果。
unity3d动态加载模型,C#,unity专栏,学习交流,unity,游戏引擎

3、使用步骤

代码调用示例
        /// <summary>
        /// Loads the "Models/TriLibSample.obj" Model using the given AssetLoaderOptions.
        /// </summary>
        /// <remarks>
        /// You can create the AssetLoaderOptions by right clicking on the Assets Explorer and selecting "TriLib->Create->AssetLoaderOptions->Pre-Built AssetLoaderOptions".
        /// </remarks>
        private void Start()
        {
            var assetLoaderOptions = AssetLoader.CreateDefaultLoaderOptions();
            AssetLoader.LoadModelFromFile(ModelPath, OnLoad, OnMaterialsLoad, OnProgress, OnError, null, assetLoaderOptions);
        }

        /// <summary>
        /// Called when any error occurs.
        /// </summary>
        /// <param name="obj">The contextualized error, containing the original exception and the context passed to the method where the error was thrown.</param>
        private void OnError(IContextualizedError obj)
        {
            Debug.LogError($"An error occurred while loading your Model: {obj.GetInnerException()}");
        }

        /// <summary>
        /// Called when the Model loading progress changes.
        /// </summary>
        /// <param name="assetLoaderContext">The context used to load the Model.</param>
        /// <param name="progress">The loading progress.</param>
        private void OnProgress(AssetLoaderContext assetLoaderContext, float progress)
        {
            Debug.Log($"Loading Model. Progress: {progress:P}");
        }

        /// <summary>
        /// Called when the Model (including Textures and Materials) has been fully loaded.
        /// </summary>
        /// <remarks>The loaded GameObject is available on the assetLoaderContext.RootGameObject field.</remarks>
        /// <param name="assetLoaderContext">The context used to load the Model.</param>
        private void OnMaterialsLoad(AssetLoaderContext assetLoaderContext)
        {
            Debug.Log("Materials loaded. Model fully loaded.");
        }

        /// <summary>
        /// Called when the Model Meshes and hierarchy are loaded.
        /// </summary>
        /// <remarks>The loaded GameObject is available on the assetLoaderContext.RootGameObject field.</remarks>
        /// <param name="assetLoaderContext">The context used to load the Model.</param>
        private void OnLoad(AssetLoaderContext assetLoaderContext)
        {
            Debug.Log("Model loaded. Loading materials.");
        }



总结

以上就是使用trilib2.1.7 动态加载fbx模型。有问题请留言。文章来源地址https://www.toymoban.com/news/detail-564213.html

到了这里,关于Unity运行时程序动态加载外部.fbx.obj模型文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity的AssetBundle系统来动态加载FBX模型

    在Unity中,可以使用C#脚本和Unity的AssetBundle系统来动态加载FBX模型。以下是一个简单的示例,演示如何动态加载FBX模型: 准备FBX模型 首先,准备一个或多个FBX模型,并将它们导入到Unity项目中。确保每个FBX模型都有一个独立的游戏对象,并且已经被正确地设置为“Static”或“

    2024年02月06日
    浏览(44)
  • OpenGL Assimp加载各类型模型(.obj、.fbx、.glb、.3ds)

    1.简介 本博客以.glb格式为例,加载glb格式的3d模型,网上找了一圈,基本上都是根据OpenGL官方示例,加载.obj格式的3d模型。 下面以.obj和.glb格式的3D模型简单介绍一下。 常见的.obj格式的3D模型如下所示:纹理都已经被剥离出来了。所以在使用Assimp库加载的时候,加载了指定的

    2024年01月19日
    浏览(36)
  • 【Unity3D】使用 FBX 格式的外部模型 ( 向 Unity 中添加 FBX 模型 | 向 Scene 场景中添加 FBX 模型 | 3D 物体渲染 | 3D 物体材质设置 )

    Unity 中使用的 3D 模型格式为 FBX , 使用如下建模软件 可制作该类型模型 : 3Dmax Maya ZBrush Cinema4D Blender 建模完成后 , 将 3D 模型导出为 FBX ( .fbx ) 格式 即可在 Unity 中使用 ; 在 Project 文件窗口 中的 Asstes 目录 下 , 创建一个模型目录 Models , 将 模型文件直接从文件系统中拖到该目录中

    2023年04月15日
    浏览(82)
  • 微信小程序 加载 fbx 模型

            three.js在微信小程序端加载3D动画fbx模型的代码。 得到了fbx模型的http链接,使其加载在小程序端,都是适配小程序版本的代码 其中three_new.js是小程序版的3D加载库文件 FBXLoader_new是小程序版本的fbx模型的加载器 inflate.min.js是小程序版的压缩解压库 model.js里面的expor

    2024年02月09日
    浏览(35)
  • Unity运行时导出FBX模型的解决方案

    本文章是写如何在运行时导出场景中的游戏对象到FBX格式的文件。该解决方案支持导出游戏对象在Hierarchy下的层次结构、Transform组件信息、材质贴图、静态Mesh网格、SkinnedMesh、骨骼信息以及动画等。也支持将场景中的摄像机组件以及灯光组件导出到FBX模型。 目前该解决方案仅

    2023年04月08日
    浏览(59)
  • 3dmax模型完美转glb模型,gltf格式模型转fbx格式转obj格式

    现在好多模型都是3dmax模型,但是客户要求是glb或者gltf模型 这个时候好多人直接导出glb模型,是没有颜色贴图的,这样的 这个时候是不能用的,怎么办,咱们要回到3dmax,把VR材质一个个重新上普通材质 当然也可以用插件一键转换 没有插件可以联系QQ 424081801也可以制作glb模

    2024年02月12日
    浏览(49)
  • 【瑞模网】Cesium 模型转换(obj max fbx转gltf/3dtiles)

    这三种都是3dmax支持的格式,可以统一将.fbx和.max转化为.obj格式,然后通过obj2gltf转为glb或者gltf,其中gltf是比glb的模型要大一点;或者通过ceisumlab等工具将.obj处理成3dtiles,当然3dtiles是用于大场景居多。 .obj .max .fbx类型的模型转换为gltf/glb,使用obj2gltf 以下举例讲述下.max的处

    2024年02月11日
    浏览(66)
  • vue-3d-model js在线预览obj,dae,ply,json,fbx,stl,gltf格式的3D文件

    在线预览地址vue-3d-model js在线预览obj,dae,ply,json,fbx,stl,gltf格式的3D文件 效果: 例子使用了.obj 3D文件格式,自带了截图和旋转功能,其他的3D格式只需要切换一个vue的模板标签即可。具体标签格式如下: 可支持obj,dae,ply,json,fbx,stl,gltf等格式的3D文件格式显示。只需要单页面html即

    2024年02月12日
    浏览(58)
  • qt加载obj格式的3D模型

    在 Qt 中加载 obj 格式的 3D 模型可以使用 Qt 3D 模块。 首先,你需要在你的工程文件中包含 Qt 3D 模块,方法是在工程文件的顶部添加以下行: 然后,在你的代码中包含 Qt 3D 的头文件: 接下来,你可以使用 Qt3DRender::QObjLoader 类来加载 obj 格式的 3D 模型。首先,创建一个 Qt3DRen

    2024年02月16日
    浏览(64)
  • Unity动态加载资源 - 从硬盘任意地址加载任意格式3D模型

    前言 一、Unity官方给的动态资源加载方式 二、Unity中调用windows资源管理器 三、从资源管理器获得文件地址后复制到Unity指定文件夹 附上全部代码(不完善,仅框架) Unity官方给的动态资源加载方式就不赘述了。大体分为3种:(1) Resources.Load (2)AssetBundle(3) WWW加载 。 其中前两

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包