'How to load a 3d model from URL in unity?
What is the best way to load a 3d model from a URL inside of unity at runtime. I have tried this obj importer http://wiki.unity3d.com/index.php?title=ObjImporter
But the mesh in not imported properly. What other options exist? Assetbundle needs a pro version and even that won't solve as I need to load a 3d model from url. Any suggestions?
Solution 1:[1]
The way to go would be asset bundles. They are Unity's (proprietary) way to load prepackaged, compressed assets from a file or an URL. All asset bundles must be prepared and built in Unity Editor.
If you need a more general approach which loads a raw file format like fbx, obj, 3ds, collada, et cetera, you should use the Assimp library. Assimp library is written in C++ but there is a wrapper for C#.NET here.
There are also wrappers for Unity like this Unity Assimp being free but quite outdated. The Asset Store though is packed with format specific importers including this free OBJ importer.
2021 update
Unity now also has Addressables which are an evolution of the aforementioned Asset Bundles. In a sentence, Addressables are memory managed, asynchronously loadable resources that can be loaded from local or remote end points.
Solution 2:[2]
There are a couple of libraries available to load 3d model from a URL in Unity.
These are the best two libraries to load the model from remote location at runtime.
Asynchronous Importer and run-time Loader for Unity is quite a useful tool to import obj files from a remote location with texture and materials. where the Runtime OBJ Importer might miss the texture/material of the model.
Demos:
https://github.com/codemaker2015/unity3d-runtime-model-importer https://github.com/codemaker2015/Runtime-OBJ-Importer-Demo
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 |
