Giter Site home page Giter Site logo

cadop / humangenerator Goto Github PK

View Code? Open in Web Editor NEW
17.0 4.0 0.0 177.91 MB

A free and open source human generator integrated inside Nvidia Omniverse

License: GNU Affero General Public License v3.0

Python 100.00%
omniverse-kit-extension omniverse animation character-generator extension human nvidia python

humangenerator's Introduction

Hi there ๐Ÿ‘‹

humangenerator's People

Contributors

cadop avatar fruity-grebbles avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

humangenerator's Issues

Comments for code

Severe lack of comments in the code, especially considering we want others to be able to read and reuse parts of our code for their own purposes.

Think of the pain it took to write this extension, don't do that to others.

Async for pip on first install

The pip installer takes too long, users don't know if it crashed or not.

The pip install can be moved from toml to the extension itself, so on enable it checks if makehuman is in path, otherwise run in async showing it is being installed. Message: Installing components may take a few minutes . Similar to downloading the assets.

Add materials/skins API

Right now skins from MH cannot be applied through our extension. Giving direct access to MHAPI would solve this, but further tie us to MH in the future.

Mesh breaks when updating skeleton

We have tried changing from Creating attributes to Getting and Set() when the already exist on this branch https://github.com/cadop/ov_makehuman/tree/mesh-fix but continued to have issues.

Currently we modified the code to delete the mesh and rebuild the skeleton at the end of the process, which is working enough for demos. However, this stops someone from:

  • editing their human after making it
  • switching rigs
  • posing character while editing

Our latest updates on main are from the mesh-fix branch, with some modifications to only build skeleton at the end.

We are not sure what is causing the mesh to break, but rebuilding the skeleton each time we update the mesh is problematic and takes too long for a good user experience. The current slow processing is also on the makehuman side, so updates to USD being faster won't help us.

Host and download assets (skeletons, proxies) outside of git to speed up install

Note from Jen_B@NVIDIA:

async with session.get(download_url) as response: So this would be when you are downloading content from the given url. Inside you would get each chunk until the download is done. Then from there you would want to check that the response is ok and set the destination to write the file. You can also look into how Sketchfab does there _download() functionality

Clothing / Proxy assets cannot be downloaded

Attempting to download assets via the context menu in the asset browser produces the following error:

2022-12-09 15:19:24 [Error] [siborg.create.human.browser.downloader] [access denied: https://download.tuxfamily.org/makehuman/asset_packs/makehuman_system_assets/makehuman_system_assets.zip

Assets appear to no longer be hosted at this address.

Docstrings

We need docstrings and type hints for functions, at a minimum.

Doctests using examples parameter would be beneficial, but at least for some of the main calling functions this would be good.

OmniSurface for skin materials

Use OmniSurface (maybe an OmniSurfacePreset Skin?) instead of OmniPBR when adding materials to humans in the scene.

OmniSurfaces look much better.

Humans swap clothes

Updating humans inherits the previously selected human's clothes + proxies

Some proxies should make mesh hidden

For clothing we want to keep the underlying mesh, but other proxies require the mesh below to be culled. Should have a user selection/option for proxies that enable this.

Pose storage

Omniverse does not natively support storing poses manually configured by manipulating skeleton joints, as it considers them "transient prims." As pose control has been a desired feature from users, we could add this. There are several approaches of various degrees of integration.

Store custom prim data for poses
Extend USD schema to allow manual posing
Saving PreviewSkelAnims currently created to display transient state

(potentially out of scope)

Add slider icons

Some sliders have unclear function. Add images to show what they do.

Refactor

  • Create Skeleton Class
  • Create Human Class
  • Separate inits

API example for generating human

We need an example of interfacing with the extension as a class so that someone can generate people through python, e.g. a script to generate many people with a specified range of attributes.

Add extension to menu

If the UI tab is closed, it cannot be reopened without reloading the extension. Add it to the menu bar to give users the option to restore it

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.