Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Join us on Dec 8, 2022, between 7 am & 7 pm EST, in the DOTS Dev Blitz Day 2022 - Q&A forum, Discord, and Unity3D Subreddit to learn more about DOTS directly from the Unity Developers.
    Dismiss Notice
  3. Have a look at our Games Focus blog post series which will show what Unity is doing for all game developers – now, next year, and in the future.
    Dismiss Notice

Official USD for Unity Updates

Discussion in 'Formats & External Tools Previews' started by marief_unity, Mar 18, 2019.

  1. pachermann

    pachermann

    Joined:
    Dec 18, 2013
    Posts:
    101
    Yes, but Terrain is not Mesh, you need to make it into a mesh first.
    Simplygon is not needed if you work with unity terrain, only for asset LOD's.
    If you to mesh terrains, different story but then you have no export problems with USD.
    And many other Objects are maybe not in a format USD understands it, so you need to either work in meshes if you use USD as source, or split things up.
    Other assets with Polygons are no problem, i tried the export and they work as excepted.
    I even exported nested Quads and planes from unity base objects i used as 3d tooltips and everything was perfectly in the USD.
    Tested it with Modo.
     
  2. cubrman

    cubrman

    Joined:
    Jun 18, 2016
    Posts:
    354
    The package cannot be installed on 2021.2.15f1. Cannot be found in Package Manager (with pre-released packages enabled) and cannot be installed using the git clone url.
     
  3. judub

    judub

    Unity Technologies

    Joined:
    Nov 5, 2019
    Posts:
    11
    Hi @cubrman, experimental packages are not listed in the package manager even with pre-released packages enabled.
    But installing from git URL or from name is still working. I just did it in a fresh project in 2021.2.17f1.

    To install by name: use com.unity.formats.usd
    To install by git URL: use com.unity.formats.usd@3.0.0-exp.2
     
  4. cubrman

    cubrman

    Joined:
    Jun 18, 2016
    Posts:
    354
    Ok, thanks. I would recommend mentioning these two URLs somewhere on the GIT page as it is absolutely unclear where to find them or how to construct them.
     
    Jaxxtrend likes this.
  5. eastes

    eastes

    Joined:
    Sep 1, 2012
    Posts:
    57
    Thanks @judub. This worked for me! You can install by name with the little + icon on the top left of the package manager.
     
  6. eastes

    eastes

    Joined:
    Sep 1, 2012
    Posts:
    57
    At time of writing:

    3.0.0-exp.2 doesn't work with simplygon.


    I needed to use com.unity.formats.usd@3.0.0-exp.1 as a git URL
     
  7. cubrman

    cubrman

    Joined:
    Jun 18, 2016
    Posts:
    354
    Hahahahah, I also used it for simplygon)
     
  8. talespinvr

    talespinvr

    Joined:
    Apr 11, 2020
    Posts:
    7
    Where and how can I get sample USD files that work with the latest USD package? I've had trouble getting anything from the film tv toolbox.
     
  9. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,344
    Hi,
    I'm wondering if anyone can point me in the right direction. I have a USD file with some extra primvar data on each vertex of the mesh (basically a string[] with one entry per vertex). I need to convert that into renderable data - something like reading those strings and marking a vertex color or texcoord with a value based on the string. Digging through the API and examples it looks like there's a way to do this using IImporter or one of the other import processors, but I'm having a hard time understanding the mapping between primvars and the resulting meshes. Ideally what I want do so is something along the lines of (in psuedocode):

    Code (CSharp):
    1. For all meshes in scene
    2.     If mesh has primarys named "extra_data"
    3.        foreach vertex in mesh
    4.           if extradata[vertex.index] == "foo"
    5.                mesh.vertexColor = red
    6.           else
    7.                mesh.vertexColor = blue
    8.  
     
  10. JasonBooth

    JasonBooth

    Joined:
    Jan 27, 2014
    Posts:
    514
    So I guess the USD importer for unity is another project that's died before it was finished?

    Has anyone gotten a skinned mesh renderer to import right? It seems like the SkinnedMeshRenderer.bones array is not filled out correctly (it has data, just not the right data) and because of that nothing renders..
     
  11. holo-krzysztof

    holo-krzysztof

    Joined:
    Apr 5, 2017
    Posts:
    68
    Kinda looks like it, there hasn't been a release in like a year. There are some WIP branches from 2 months ago with animation fixes, not sure if that helps you at all, but maybe it's something.

    I checked the omniverse website yesterday and it looks like all mentions of the Unity connector are gone, it's not even "coming soon" anymore. Oh well...
     
  12. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,347
    Last edited: Aug 10, 2022
  13. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,344
    So I can import the pixar example of a character fine, and I can import the USD I have into Unreal fine, but in Unity it doesn't render. I've debugged the bones array on the Skinned Mesh Renderer and it matches the list of joints in the USD file, in the same order. If I just assign the bones array a list of all the transforms in the skeleton, it will render, but obviously as a jumbled mess as the transforms are not in any particular order.
     
  14. ROBYER1

    ROBYER1

    Joined:
    Oct 9, 2015
    Posts:
    1,382
    How do I import textures with my USD file? On export from Blender, they are in a separate folder
     
  15. fherbst

    fherbst

    Joined:
    Jun 24, 2012
    Posts:
    799
    I think you need to copy the entire folder into Unity (including the textures). Alternative is having absolute paths but that just makes things harder across a team.
     
    ROBYER1 likes this.
  16. ben-britton

    ben-britton

    Joined:
    Feb 7, 2015
    Posts:
    14
    My goal with the USD exporter is to use Unity to compose virtual worlds and export them to implement in metaverse environments using USD as an interchange format. For example, I would like to create a virtual world in Unity and export it completely to import it into NVidia Omniverse tools, or Maya, or Blender, or 3DSMax. Cap1.PNG



    So far, I have a few impressions of the SDK, using Unity 2022.2.0b4.2768* <DX11> with this version of the USD SDK.
    https://github.com/Unity-Technologies/usd-unity-sdk/archive/dev.zip/


    1. It appears true that Unity destroys the UV coordinates when you export objects out of Unity into USD, and then import the resulting file back into Unity. The UV coordinates are gone from the model. This seems to be a bug, and because the UV coordinates are lost, the material cannot simply be reconstituted in the USD Shader component and reapplied to the gameObject, because the UV coordinates are lost so the texture map cannot be applied properly on the object.

    It seems that the USD exporter needs to to retain the UV mapping coordinates on the meshes it exports.

    It also seems that USD exporter needs to convert Unity Standard Shader materials into USD compatible USD shader material components in the exported material. The textures should be effectively embedded/exported with or within the USD file with path designations correct.

    2. I would like the USD exporter to convert the terrain into a USD compatible mesh and export it and its splat maps and textures also. Floral vegetation should also somehow be exportable - maybe new/more/better USD compatible Unity shaders are needed with transparency and translucency (not to mention normal maps, height maps, and splat maps).

    3. Consistently, exported models are rotated by 90 degrees on the X axis. This would be good to fix immediately.

    Hoping work in ongoing with this SDK, if Unity is to be a compositional tool for the metaverse, it MUST embrace or replace the USD train, halfway hanging on is no way to travel. It is dangerous and stressful to test with a half-built tool, and we need to start building metaverse environments today, so we need an authoring tool that will work; gosh, it seems like Unity would be our answer - IF Unity enables us to export our Unity compositions in a compatible file format! USD exists for that purpose, will Unity overlook USD? is there something better it is doing? If so, tell me, so I would like to continue using Unity to help me make virtual environments for the metaverse. It seems the USD format is vital for this.

    I am looking forward to a new version of the Unity USD exporter soon, or I will have to begin looking at Unreal after years of dedication to Unity. We may seem like stupid idiots, but developers need to prepare for web3d and realtime 3d interactivity on the net, and the usd format is an emerging solution - so we hope Unity will embrace it or replace it.
    #Beta2022Win_Unity
     

    Attached Files:

    afshin_a_1 and ROBYER1 like this.
  17. ben-britton

    ben-britton

    Joined:
    Feb 7, 2015
    Posts:
    14
    waited a few days for a reply but none so far.

    maybe work has stopped on this USD file import/export sdk, and maybe they are doing another project with another file standard output, which is why the gltfast and a few others like it look like the next step to explore for me now.
    any suggestions would be appreciated.

    now examining gltfast and UniVRM on github and a few other gltf exporters for unity, and it appears that the world is coming back to the h-anim standard of vrml in the vrm file format for humanoids, so that is part of the puzzle. How does Unity expect to generate files with cameras, interactivity, lights, terrains, etc that are interoperable with everyone elses? the html of 3d?

    so next effort is to try exporting gltf files from unity instead of usd to explore interoperability.

    thanks,
     
    Last edited: Sep 17, 2022
  18. axmsw

    axmsw

    Joined:
    Mar 13, 2019
    Posts:
    3
    With the apparent Nvidia announcement, more attention is likely to come here :)

    Any timelines for when USD support will go live?

    Will it be backported to 2021 LTS?

    Will this work with WebGL? One issue seems to be that due to just embedding Pixar's USD engine there's a nice dependency with Intel TBB.

    How are USD assets going to work with runtime addressables? :)
     
    PeteSmalls, Blarp and DEEnvironment like this.
  19. afshin_a_1

    afshin_a_1

    Joined:
    Apr 26, 2015
    Posts:
    42
    usd unity sdk latest version 3.0.0-exp.2 Oct2021 does export usdz but it doesn't import usdz... :/
     
  20. jsingh_unity750

    jsingh_unity750

    Joined:
    Oct 23, 2022
    Posts:
    3
    Hi All, I am trying to make a standalone unity app to take in usd format and view them on scene. The plugin for usd by unity only works on OSX/PC. Is there a point of release planned for a stable version which supports runtime import on Android as well. And the plugin has issues on mac where it cannot find certain dll.
     
  21. yosimba2000

    yosimba2000

    Joined:
    Jun 3, 2021
    Posts:
    24
    How do you get textures/materials to show? I have a source .usdc file and an Assets folder containing my base mesh and textures. Unity only imports the model and skeleton, no textures or materials. I've tried changing every setting under the sun and it doesn't work.

    Blender imports the usdc with textures perfectly...
     
  22. yosimba2000

    yosimba2000

    Joined:
    Jun 3, 2021
    Posts:
    24
    Hi, can you expand on this? My usdc file came with an Assets folder containing textures and meshes. What should the file path look like when placing these textures in the Unity project folder?
     
  23. Cazforshort

    Cazforshort

    Joined:
    Feb 22, 2016
    Posts:
    16
    It doesn't work on Android?
    So I can't even import a USDC file into the scene at runtime on Unity?
    I just want my users to be able to bring in their own models.
     
    jsingh_unity750 likes this.
  24. jsingh_unity750

    jsingh_unity750

    Joined:
    Oct 23, 2022
    Posts:
    3
    Can you please elaborate those limitations. I am trying to make an android app that imports usd models from a path chosen with a file picker. And the usd package fails to build for android build settings
     
    PeteSmalls likes this.
  25. PeteSmalls

    PeteSmalls

    Joined:
    Apr 29, 2020
    Posts:
    8
    In the latest (Nov) Unite 2022 update, Unity teased that Universal Scene Description (USD) would be a topic on the roadmap for 2023 with no other information. Those are cool words - yet meaningless.
    So far, Unity has not instilled confidence that the organization understands the value of having such a format / framework more integrated to the engine. It is not about importing and exporting models (which the current package BARELY does and does it poorly as illustrated with peoples experiences above) - It is about collaborative workflows and the ability to work across applications which is something I have to imagine Unity will consider a threat to their proprietary solutions and NOT actually integrate to the best of its ability.
    We are about to embark on a significant project with “USD during runtime” at the center; leveraging much more of the great capabilities USD can unlock for creators. USD is our approach and Unity would be an obvious solution around this - but only if USD is going to be taken seriously in some meaningful period of time.
    Would it be possible to get a more detailed update in this forum, or a position posted or would it be possible for me to connect with someone at Unity to get more information so we can make a decision on the tools to address our needs?
    Any tangible insight would be appreciated.
    As it currently stands - we could not proceed with Unity as our solution if the existing package is the level of thinking Unity is willing to put toward this framework.
     
    milox777, Bisonfoutu and horeaper like this.
  26. PeteSmalls

    PeteSmalls

    Joined:
    Apr 29, 2020
    Posts:
    8
    Nothing? Silence? How would Unity like us to interpret no response on the subject? Is the USD topic headed the way of EditorXR, ArtEngine, etc?
     
  27. jbooth

    jbooth

    Joined:
    Jan 6, 2014
    Posts:
    5,344
    Certainly seems so.