JuanGea
February 9, 2020, 10:55am
1
@sybren this is probably for you, with builbot build of 2.83, if I try to export a USD file I get an error about a plugin not being available:
USD Export: unable to find suitable USD plugin to write X:\Export\test_usd
How can I solve it to be able to export the animated USD?
usd is very picky on the file extension, if you do not pick the right one, you’ll get an error like that, try using test_usd.usda
, test_usd.usdc
or just test_usd.usd
1 Like
sybren
February 10, 2020, 11:07am
3
Yup, what @LazyDodo said. The exact format (ASCII or binary USD) is determined by the file’s extension.
1 Like
JuanGea
February 10, 2020, 11:26am
4
I made it work finally, I’m not sure what did I do, but it seems to work now, the only problem is that in Unity I receive an error regarding normals import.
Would be useful if I give you the error message here and a sample file with that error?
Because so far the example USD files work fine in Unity, but the Blender exported ones have that problem and I have to disable normal import and set it to compute, so no normals are imported.
JuanGea
February 10, 2020, 11:34am
6
OK, I’ll be working with those later, I’ll upload it in a while and post it here, the file is pretty simple.
JuanGea
February 10, 2020, 8:09pm
7
I was not able to upload this before today, here is the erro I get in Unity and the file to download, the error disappear as soon as I compute the normals instead of importing them.
https://1drv.ms/u/s!AlC82JdQ66jg1iDWtbkG3mqv9RYo?e=UF8RGy
IndexOutOfRangeException: Index was outside the bounds of the array.
Unity.Formats.USD.MeshImporter.BuildMesh_ (System.String path, USD.NET.Unity.MeshSample usdMesh, UnityEngine.Mesh unityMesh, Unity.Formats.USD.MeshImporter+GeometrySubsets geomSubsets, UnityEngine.GameObject go, UnityEngine.Renderer renderer, Unity.Formats.USD.SceneImportOptions options) (at Library/PackageCache/[email protected] /Runtime/Scripts/IO/Geometry/MeshImporter.cs:429)
Unity.Formats.USD.MeshImporter.BuildMesh (System.String path, USD.NET.Unity.MeshSample usdMesh, Unity.Formats.USD.MeshImporter+GeometrySubsets geomSubsets, UnityEngine.GameObject go, Unity.Formats.USD.SceneImportOptions options) (at Library/PackageCache/[email protected] /Runtime/Scripts/IO/Geometry/MeshImporter.cs:248)
Unity.Formats.USD.MeshImportStrategy+<Import>d__5.MoveNext () (at Library/PackageCache/[email protected] /Runtime/Scripts/IO/Geometry/MeshImporter.cs:150)
Rethrow as ImportException: Error processing mesh </Room_Curtains_AN/Cylinder_012>
UnityEngine.Debug:LogException(Exception)
Unity.Formats.USD.<Import>d__5:MoveNext() (at Library/PackageCache/[email protected] /Runtime/Scripts/IO/Geometry/MeshImporter.cs:156)
Unity.Formats.USD.<BuildScene>d__9:MoveNext() (at Library/PackageCache/[email protected] /Runtime/Scripts/IO/Scene/SceneImporter.cs:526)
Unity.Formats.USD.SceneImporter:BuildScene(Scene, GameObject, SceneImportOptions, PrimMap, Boolean) (at Library/PackageCache/[email protected] /Runtime/Scripts/IO/Scene/SceneImporter.cs:299)
Unity.Formats.USD.SceneImporter:ImportUsd(GameObject, Scene, PrimMap, Boolean, SceneImportOptions) (at Library/PackageCache/[email protected] /Runtime/Scripts/IO/Scene/SceneImporter.cs:276)
Unity.Formats.USD.SceneImporter:ImportUsd(GameObject, Scene, PrimMap, SceneImportOptions) (at Library/PackageCache/[email protected] /Runtime/Scripts/IO/Scene/SceneImporter.cs:243)
Unity.Formats.USD.UsdMenu:UsdToGameObject(GameObject, Scene, SceneImportOptions) (at Library/PackageCache/[email protected] /Editor/Scripts/Behaviors/UsdMenu.cs:376)
Unity.Formats.USD.UsdMenu:MenuImportAsGameObjects() (at Library/PackageCache/[email protected] /Editor/Scripts/Behaviors/UsdMenu.cs:221)
Had this issue in 3.0… but if you are exporting USD, doesn’t it automatically add the extension? Seems like I had to manually type/add it…
sybren
December 24, 2021, 10:09am
9
Yup, you have to type the extension yourself.
3di
October 18, 2022, 2:33am
10
Unable to export in 3.4 with the same error. How do we know which usd extension to choose? Shouldn’t all three work and only fail at the other end if the format is incompatible?