MeshSync icon indicating copy to clipboard operation
MeshSync copied to clipboard

Scene Cache

Open i-saint opened this issue 4 years ago • 0 comments

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)

i-saint avatar Jul 21 '19 20:07 i-saint