mgear-dev / flex Goto Github PK
View Code? Open in Web Editor NEWFlex is the mGear models (geometry) update tool inside rigs.
License: MIT License
Flex is the mGear models (geometry) update tool inside rigs.
License: MIT License
copy_cluster_weights function causes error when handling clusters
If a model contains several skin cluster nodes in a chain Flex wont update correctly those when going into mismatched topologies
Feature description
Skinned meshes need to be updated correctly
Extra information
This case is the most complex case to handle in terms of quality. So for this we might need to give users a UV base transfer or a Wrap base sort of transfer but this is not hard
Test driven development
In order to make this tool as solid as possible for future release and artists feedback test will be require in order to refactor the code in the easiest possible way.
Extra information
The tests will be created with PyTest
Reset orig shape points position
We assume that the points position on the source shape has reset vertex positions
Extra information
This might need to become an option that can be used or not
When closing Flex UI the widgets are still kept in memory
This is a simple test
Feature description
Skinned meshes need to be updated correctly
Extra information
Normally this is a simple case as the outMesh connection to the ori shape of the deformed object works fine when topology is the same.
Flex.update_rig method should have a default setting on how rigs will get updated. For now it is dependent on the UI features. A property needs to be created for this inside the Flex class
Feature description
Skinned meshes need to be updated correctly
Extra information
This case is pretty simple as we can be sure of copying the skinning into the newer topology re-injected into the rig
If Flex fails updating it is important to be able to go back to the initial state after update. This is tricky because Maya doesn't correctly deals with shapes updates.
Official Flex release
The first version that will get published with mGear.
Update render attributes on the shapes
To keep a correct sync on the source and target we need to be able to transfer render attributes
Extra information
This needs to become a feature that users can use or not (API level)
Scan meshes
Extra relevant information
Scan meshes will check and compare the content of this two groups to match shape names
Fill Readme file with more content
Add extra information about the tool and its API
Add display color attributes option
Flex should handle display colors attributes transfer.
Extra information
This is the list of attributes been covered on the display colors attribute feature
["displayColors",
"displayColorChannel",
"materialBlend"]
Describe the bug
I an attribute is locked the update attribute wasn't applying the updated values correctly
Live blendshape targets should be updated as well
When updating the non matching topology meshes we need to be able to update live targets as well but this can be tricky because we can't predict what is inside those live targets.
Maybe we deal with just on target level because there might be cases in which a live target blendshape contains a blendshape node deformer and has as well another cascading live target...
flex.update_rig.update_rig method should make sure that the options passes to it have valid keys
API performances
Check how Maya cmds vs Maya OpenMaya affects performances. As this tool is not doing anything fancy with geometries it is quite possible that keeping maya.cmds module will still provide enough good performances of code execution but we need to test if maya.OpenMaya will give better results.
Extra information
Simplest cases are irrelevant here. Flex needs to be able to update rigs with more than 1.000 geometries pieces with lots of deformers and geometry changes almost instantaneously.
Transformed geometries
Handle the model update on geometries that are not deformed
Flex update should work on mesh and nurbs curves and nurbs surfaces
Add display attributes option
Flex should handle display attributes transfer.
Extra information
This is the list of attributes been covered on the display attribute feature
["visibility",
"template",
"lodVisibility",
"displayHWEnvironment",
"ignoreHwShader",
"hideOnPlayback"]
The intermediateObject attribute is not been transferred as we want the shape to keep it's state.
UI prorotype for Beta releas
Need to present some prototypes to the devs team for Flex
Extra information
The prototype might be done as a simple drawing or maybe a ruff qt ui
Handle plugin defined attributes
Flex will query plugin defined attributes and try to update those as well.
Feature description
Flex need to check the topology changes between corresponding shapes. This will mostly be relevant when meshes are deformed
Extra information
The first version wont handle topology changes on deformed meshes. It will allow to update it but your deformation chain will probably break
Handle transferring user defined attributes
In order to maintain correct synchronization between the model and the rig the existing attributes on the source shapes need to get transferred.
Extra information
The first version wont cover all type of Maya attributes
If new vertices exists on the update object, the target deformed objects deform set needs to get updated as well.
Option to update certain attributes
Maybe the user wants to update certain Maya attributes on the shape that are not been taken into account with Flex. Maybe they can add a json file or simply fill in an option on the UI to add attirbutes that will be added to the update
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.