appwiki:omniverse

Omniverse and Metaverse

video info:

  • A Vision of the Metaverse: How We will Build Connected Virtual Worlds
    • notes:
      • Metaverse concept is not just a game only concept, but also apply to wider industry usage, like digital twins, factory
      • Omniverse is a set of tools to enable collaboration and build 3D products for those use case.
      • like html, it has compatibility issue at beginning across different browsers to show the content in the same way, but like it takes time to grow and add new features like video and canvas in html, and more standards implemeneted as it grows like html5
      • USD is choosen as a startup standard to extend this cross compatible 3D content for the metaverse.
      • USD is supported by different industry partners and with contributions and grow, it will get better in the coming years.

Omniverse connects:

  • digital twins + robotics
  • render, design, content creation
  • sensor models
  • system integratiors + service providers
  • asset and material library

app - RTX remix

  • RTX remix, take original USD, then remaster with omniverse, output RTX mod for games

app - synthetic data related

  • replicator: generate sythetic data for AI training
  • sim-ready library: for synthetic data generation and digital twins simulation

Course and Learning notes

Getting Started with USD for Collaborative 3D Workflows (nvidia self paced online course)

  • content
    1. USD file structure
      • purpose: to solve data integration among people and tools
      • hydra: rendering architecture
    2. USD sublayers
      • it is more like a stack of building history, origin_layer + edit_change_layer = stack result scene
    3. USD reference
    4. USD variants
      • more like built in choice of different model sets.
  • omniverse create app
    • edit, create, save USD files

Build Beautiful, Custom UI for 3D Tools on NVIDIA Omniverse (self paced nvidia course)

  • content
    1. overview of omniverse apps: https://www.youtube.com/watch?v=MbsFBukGOZE
      • Library path: large asset data, better in a seperate big drive
      • Data path: for co-op user data, fast drive and bigger better
      • Cache path: for application processing cache, fast drive and bigger better
      • apps
        • collaboration service: for multi-user, or single user-mult-app use case
        • omniverse drive: mount omniverse server to local drive
        • omniverse cache: service that optimize data flow
        • omniverse view: look and scene check render
        • omniverse code: build extension, micro service for omniverse
    2. steps on build omniverse extension
      1. open Omniverse Code app, under Extension tab, click on green + icon on left to create new extension from template
      2. once you save the project, extension.py is under the_project\exts\extensionName\sub_folders\extension.py
      3. UI code syntax is on Omni::UI doc tab.
ui object cmds
hlayout with ui.HStack():
vlayout with ui.VStack():
grid with ui.VGrid(column_width=200, row_height=50):
frame opt hide with ui.CollapsableFrame(“head”):
space ui.Spacer()

Omniverse and Python

  • Omniverse built-in python is 3.7, 64bit, check code
    from sys import platform
     
    def get_platform():
        if platform.startswith('win'):
            return 'windows'
        elif platform.startswith('darwin'):
            return 'mac'
        return 'linux'
     
    import sys
    pyMode = '.'.join([ str(n) for n in sys.version_info[:3] ])
    print("Python: {0}".format(pyMode))
     
    is_64bits = sys.maxsize > 2**32
    print(is_64bits)
  • install pyside2
    import pip
    pip.main(["install","PySide2"])
     
    # result path: %userprofile%/appdata/local/ov/pkg/create-2022.2.2/kit/python/Scripts
  • appwiki/omniverse.txt
  • Last modified: 2022/10/21 07:08
  • by ying