MeshSync
MeshSync copied to clipboard
Scene Cache
Unity / MeshSync
- [x] make a component that opens cache files and sends data via TCP. MeshSyncServer is intact in this phase.
- [x] make a local version of MeshSyncServer. stream data directly from cache files (no TCP connection).
- [x] create animation clips
- all frames have key and interpolation is constant. (make skipping specific frames easy)
- timeline support will be done with this feature.
- [x] 'copy .sc to StreamingAssets' button
- [x] interpolation
- [x] make prefab when import cache
- [x] make scriptable importer for cache files
- [x] animation frame rate override functionality
- [ ] show better error messages (than "Invalid AssetDatabase path")
- direct GPU buffer update
- [ ] d3d11
- [ ] d3d12
- [ ] preload options
- [ ] generate velocity
- [ ] cache recorder (exporter for Unity)
- [ ] bake skinning functionality for MeshSync side
DCC
- [x] (max) cache exporter CUI
- [x] (max) cache exporter GUI
- [x] (max) export meshes after TurboSmooth applied (export render meshes)
- [x] (max) face group ids
- [x] (max) strip unused materials
- [x] (max) remove '3ds Max opt' from externals
- [ ] (max) submaterial name (parent name _ sub name)
- [ ] (max) custom view matrix (for tilt correction)
- [ ] (max) export meshes that have multiple render meshes (particeles, etc)
- [ ] (max) use camera/light state.
- [x] (maya) cache exporter CUI
- [x] (maya) cache exporter GUI
- [x] (maya) 'bake transform' option
- [x] (blender) cache exporter CUI
- [x] (blender) cache exporter GUI
- [x] (blender) 'bake transform' option
- [x] (blender) mesh instance with 'bake transform'
- [x] (blender) export selection
- [x] (modo) cache exporter CUI
- [x] (modo) cache exporter GUI
- [x] (modo) 'bake transform' option
- [x] (modo) mesh instance with 'bake transform'
- [x] (modo) export selection
- [ ] (mobu) lens shift
- [ ] Alembic to scene cache
- USD have Alembic plugin and can read .abc transparently. but it doesn't recognize some important properties (FaceSets, vertex colors which many DCCs support with their own extension attributes).
- [ ] USD to scene cache
optimization
- [x] strip unchanged vertex attributes
- [x] pre-convert (serialize refined meshes)
- [x] 'flatten hierarchy' mode
- [x] add meta data (just like topology variance in Alembic)
- [x] preload
- [x] (unity) use MeshRender if the Mesh is not skinned
- [x] use decoded scene buffer as vertex buffers directly (avoid large buffer copy)
- [x] split scene buffer & parallel decode
- [x] equalize vertex count per split
- [x] SIMD-ify lerp tangents/normals
- [ ] (unity) use NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray()
- on Unity 2019.3, Mesh can accept NativeArray vertex buffer
- [ ] per-vertex-attribute data update flags
- [ ] normal/tangents compression
- x, y, sign (1 bit)
- [ ] 'merge into monolithic mesh' mode
- [ ] use memory-mapped files
misc.
- [ ] interpolate matrices (MeshRefineSettings)