Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: preparation to add Unity->DCC Tools communication (#639)
* Additional checks and handling for missing components or materials * Exposing geometry nodes parameters in the Instance renderer inspector * Using Utility function for destroying components to avoid branching * using clamp instead of min of max * Instances stored in a dictionary for more efficient lookup * Removed toggle button for activating instance rendering from config, instance renderer is a private field of the server instead of a monobehavior, instance rendering is always active * Adding a way to run blender from inside unity * Updates to blender run modes. * Moving sliders to mesh sync server * prep * Scene exporter uses the instance infos manager. msCore API adapted to use the instance infos in set messages. delete message support is WIP. Instance Renderer updated to listen to new events. Player Record class created for instance info, also WIP * Updated how delete message is handled for instance infos * Associating instances with entities instead of looking for gameobject in Scene * WIP blender UI * Support for receiving instances of meshes that are not part of the scene * Skip sending only if there are no instances or instance meshes * WIP property support * Fix for instances not rendering on 2-window workflow * Improved Fix for out of focus instance rendering * Single camera support for Play mode * Mutliple gameview camera support for Playmode * WIP properties * Support for multiple game views or multiple scene views rendering in edit mode * Support for chaging camera mode from inspector. Instanting Rendering parameters are reflected from original gameobjects * Support for moving/rotating/scaling instances when the referenced gameobject or a parent is moving/rotating/scaling * Support for moving/rotating/scaling instances when the referenced gameobject or a parent is moving/rotating/scaling * WIP properties * Only redraw at the end of the set message sequence * Support for light probe proxy volume * Caching for instance world matrix recalculation * Support for IL2CPP builds * WIP properties * Serialization support for instancing info * Pin data to avoid issues with memory defragmentation * Removed instance renderer clear from init * Render to all cameras by default * Fix for moveability error * Try to reduce memory pressure at the end of a scene message * Reverted manual garbage collection * Changed c++ version to c++17 * Support to control geo node properties from unity. * C++17 flag set for Apple * Fix for race condition * Avoid compilation errors when an unsupported build target is selected * Fix for rendering issue when Undo/Redo is invoked * Fix for compilation issues * Implementing custom properties * Fix: Support for instances of SkinnedMeshRenderer gameobjects * Updated linux build instructions about using c++17 dev tools instead of c++14 * WIP perrmutation baker * Fix: instance rendering handling for records without gameobject info * Implemented copy and move ctors and assignment operators * Avoid rendering instances while the scene is updating * Geometry Nodes Support: Refactored how instanced meshes are exported, managed and sent. All instancing info is now sent in one frame. Removed need for reference type in geometry nodes * Refactor: Remove Reference type from instance info. Simplified instance deletion code * Refactor: simplified instance rendering by using the RenderPipelineManager.beginFrameRendering and Camera.OnPreCull events * Instance Rendering: avoid rendering on the Preview Scene Camera on Built-in pipeline * WIP variant export * Refactor: Instance rendering and instance serialization. Each instanced gameobject has its own rendering component. The transform data are serialized in the gameobject * Instance Rendering: Support for saving depending material and meshes in the Asset database when creating a prefab of an instance renderer * wip baking * Instance Rendering: changed layout of instance rendering components to match blender3d * refactoring * Instances: Improved the records and scene management for instance rendering components * Instance Rendering: Allow instance rendering while scene is updating to avoid flickering * merge fix * Fix for render pipeline calllback * Refactoring and fixes * Instance Rendering: Use GraphicsSettings to check for the current rendering pipeline * Instance Rendering: use root object as parent if parent is missing * Instance Rendering: Fix for server poll delegate not unregistering from EditorApplication update. Hiding transforms from Inspector for avoiding GUI rendering performance issues * Instance Rendering: Serialize inverse rendering info components to avoid issues with recompilation * Serialization: Fixed Asset modified processor to handle all prefabs, not just instance rendering references * Fixes and improvements for 2 way communication and baking * Adding new exporter * Instance Rendering: avoid rendering instanced on prefab scenes that do not contain the instanced gameobject * Instance Rendering: Fixed unity runtime building errors. Better re-use of the transform/mesh entity update functions * Fixes and refactoring for 2 way communication * wip * Fix for property request not timing out * Refactoring and bug fixes * Improved asset name sort * Fix to save changed meshes for prefab variants * More property support * Property fixes * Fix for running meshsync in background mode * UI Improvements and fixes * Documentation for geometry nodes [skip ci] * geomentry node docs [skip ci] * Update Geometry Nodes.md [skip ci] * Added bakemodstups image * Added instance light probes gif * Updated GeometryNodes.md [skip ci] * WIP curve support * Use separate script to store blender properties * Fixes for prefab export. Implemented different instance handling approaches. * Cleanup * Ensure visibility is updated from autosync. * Fix for asset expoort and sharing assets between prefabs * Fix for clashing property names. Refactoring * Improved UI * Adding curve support * Curve fixes and multiple spline support. * WIP curve refactor and mesh support. * WIP mesh support. * module dependency fixes * Adding event to call before export. * Limit regenerator to controller. Fix for string properties. * Added mesh support * clean up * fix for crash and refactor * Adding dependencies * Disable quads to make it faster * Merge fixes * Adding validation to ensure assets are blend files * Removing not needed stuff * Removing not needed stuff * Cleanup * Fix for serialization * Removing unused setting * Removing variant exporter * Clean up * Formatting fix * Updating comment * Removing not needed stuff. * Updating compiled dll * Adding mathematics package dependency. Rebuilt dll for release. * Updating protocol version. Extracted string constant. * Fix for prefab's asset dependency not being deleted. * Refactoring * Refactoring * Renaming define * Formatting revert * Removing unused code * Formatting revert * Refactoring * Adding spaces to fix macro string concatenation. * Fix for dependencies and packages to work with unity 2019. * Fix for windows only functionality * Refactoring to draw ui for dcc tools in the meshsyncserver inspector. * Using version compatible with unity 2019 * rebuilt dll * Refactoring * Fix for string concatenation * Updating unit tests. * Updated dlll * Updated tests. * Fix for latest splines package code changes. * Reverting unwanted change * revert * Reverting not needed change * Renaming method to be more clear what it does. * Removing script that causes issues in the build pipeline. * Compile fixes when building game. * reverting changes * Reverting changes * Reverting changes * Format revert * Format fix * Updating protocol version * Fix for compiler errors on mac and linux * Update linux so file [skip ci] * update Mac intel bundle [skip ci] * Update mscore mac Silicon bundle * Deleting not needed code. * Removing not needed code. * Inverting if * Refactoring * Renaming field. * Reducing included files. * Fix for missing prefabs. Renaming property request to match naming scheme of other requests of that kind. * Removing dead code. * Refactoring * Refactoring * Extracting methods. * Adding TODO * Removing commented out code * Compile fix * Encapsulating field. * [skip ci] Adding documenation * [skip ci] documenation updates * Refactoring * Removing unused code. * Compile warning fix * Renaming class * Using map instead of vector. * [skip ci] updating comment * Extracting string constants * Adding more vector type support. * Adding tests to test undoing entity converters when sending data back. * Renaming stuff to be more clear. * Format fix * Removing not needed code. * Commenting code * Refactoring probuilder editor code out to separate class. * Renaming method to be more clear. * Renaming message type * Refactoring tests * Using dispose method to clean up. * Using hashset instead of list. * Refactoring * Using dictionary to store prefabs * Making MeshSyncServerInspectorUtils internal * Renaming to be more clear. * Refactoring tests * Extracting constants * Updating comments * Adding tests for array types. * Format fix * Increasing timeout * Refactoring code to make it more complicated. * Fix for null ref * Adding vhash for bools. * Renaming method to be more clear. * update mac intel bundle [skip ci] * Update Linux so file * Update mac silicon bundle * Making method internal * Changing access to internal * Changing access to internal. * Changing access to internal. * Adding test * Changing access to internal Co-authored-by: Sean Dillon <[email protected]> Co-authored-by: Sean Dillon <[email protected]> Co-authored-by: Sin <[email protected]> Co-authored-by: Sindharta Tanuwijaya <[email protected]>
- Loading branch information