cadop / humangenerator Goto Github PK
View Code? Open in Web Editor NEWA free and open source human generator integrated inside Nvidia Omniverse
License: GNU Affero General Public License v3.0
A free and open source human generator integrated inside Nvidia Omniverse
License: GNU Affero General Public License v3.0
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.
Extension window should be visible by default
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.
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.
Currently, you can only see progress if "info" is enabled in the debug console
They should be removed for clarity
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:
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.
This would match omniverse convention
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
This is resolved. I'll make an issue to clean up the TODO comments
Originally posted by @Fruity-Grebbles in #61 (comment)
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.
To prevent lost modifications, confusion, and user frustration, the panel should be locked when a human is not selected.
On refactor branch. It works better with animation retargeting
Double-click timing must be very precise compared to that in the documentation/examples
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.
Use OmniSurface (maybe an OmniSurfacePreset Skin?) instead of OmniPBR when adding materials to humans in the scene.
OmniSurfaces look much better.
In refactor branch
Updating humans inherits the previously selected human's clothes + proxies
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.
Eg. selecting a human's mesh should allow a user to modify the corresponding human
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)
Some sliders have unclear function. Add images to show what they do.
In refactor branch
Optimize load times by caching loaded data
Steps to reproduce unclear. Recommend examining reset functionality.
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.
Modifier label images are included twice, both within the makehuman module and in the data/ folder in the extension.
Consider disabling for default collection
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
When selecting a human, the macro modifiers are successfully loaded in the modifier parameter panel. All others are not.
Prudent to use async and get locks on prims
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.