realvirtual.io
  • Building Digital Twins with Unity and realvirtual.io
  • Basics
    • Installation
    • Demo Model
      • Old Demo Model
    • Editor User Interface
      • Hierarchy Window
      • 3D Views
      • Quick Edit
      • Move Pivot Points (Pro)
      • Selection Window (Pro)
      • Material Window (Pro)
      • Measurement (Pro)
      • Kinematic Tool (Pro)
      • Model Checker
    • Runtime UI
      • Group Manager
      • Debug Console
      • Responsiveness
      • Runtime Persistence
    • Importing and exporting
    • Folder structure
    • Tutorial
    • Physics
    • CAD import (Pro)
      • CADLink (Pro)
      • CAD Checker (Pro)
      • CAD Updater (Pro)
    • Reusable Components (Prefabs)
    • Cadenas parts4cad
    • Publishing the Digital Twin
    • Revision management
  • News
  • Login & Download Updates (Pro)
  • Components & Scripts
    • Realvirtual
      • Environment Controller
    • MU, Source and Sink
      • Source
      • Sink
    • Motion and Kinematic
      • Drive
      • Kinematic
      • Group
      • Joint
      • CAM
      • TransportSurface
      • Guided Transport
      • KinematicMU (Pro)
      • Drive behavior
      • Chain
      • Chain element
      • Motion for developers
    • Sensors
      • Sensor
      • Measure
      • MeasureRaycast
    • Picking and Placing MUs
      • Grip
      • Gripper
      • Fixer
      • Pattern
    • Changing MUs
      • MaterialChanger
      • PartChanger
      • Cutter
    • Scene Interaction
      • Tooltip (Pro)
      • 3D Buttons
      • Screen Overlay Buttons
      • Scene Selectables (Pro)
      • Lamp
      • Interact3D
      • UI components
      • HMI components (Pro)
        • Start your own HMI
        • HMI Tab
        • HMI DropDown
        • HMI Puschbutton
        • HMI Switch
        • HMI Value
        • HMI Text
        • HMI Slider
        • HMI Message
        • HMI Marker
      • ModelZoo (Pro)
    • Interfaces
      • Interface Tools
        • Signal Manager
        • Signal Importer Exporter
        • Signal Catcher
        • OnValueChangedReconnect
      • Signal Importer / Exporter
      • ABB RobotStudio (Pro)
      • Denso Robotics (Pro)
      • EthernetIP (Pro)
      • Fanuc (Pro)
      • FMI
      • Igus Rebel
      • MQTT (Pro)
      • Modbus (Pro)
      • OPCUA (Pro)
      • PLCSIM Advanced (Pro)
      • RoboDK (Pro)
      • RFSuite (Pro)
      • SEW SimInterface (Pro)
      • Siemens Simit Interface (Pro)
      • Simit Shared Memory (Pro)
      • Simulink (Pro)
      • S7 TCP
      • TwinCAT (Pro)
      • TwinCAT HMI (Pro)
      • UDP (Pro)
      • Universal Robots (Pro)
      • Wandelbots Nova (Pro)
      • Websocket (Pro)
      • Windmod Y200 (Pro)
      • Custom Interfaces
    • Performance Tools
      • Combine Meshes (Pro)
      • Create Prefab (Pro)
      • Hierarchy Cleanup (Pro)
      • Mesh Optimizer (Pro)
      • Performance Optimizer (Pro)
    • Defining Logic
      • Unity Scripting
      • Behavior Graph
      • Logicsteps
      • Unity Visual Scripting
      • Recorder
    • Robot Inverse Kinematics (Pro)
    • Volume Tracking (Pro)
  • Multiplayer (Pro)
  • Extensions
    • ModelZoo
      • Beckhoff TwinCAT
      • Siemens S7
      • Denso Cobotta 1300
      • Wandelbots Nova Fanuc CRX
      • Universal Robots UR10
      • Fanuc Roboguide
    • realvirtual.io AIBuilder
      • realvirtual.io AI Builder Overview
      • Generate AI Training Data
      • AI Training
      • Testing AI in a Digital Twin
      • Deploying the AI
    • realvirtual.io Simulation
      • Conveyor Library
      • Path System
        • Path finding
        • Line
        • Curve
        • Workstation
        • Catcher
        • Pathmover
    • realvirtual.io Industrial Metaverse
      • Setup Guide
      • VR Modules
      • AR Modules
      • Multiuser
    • AGX Physics
    • VR Builder
    • CMC ViewR
  • Advanced Topics
    • Render Pipelines
    • Mixed Reality with Meta Quest3
    • Upgrade Guide
      • Upgrade to 2022
    • Open Digital Twin Interface
    • Usefull Addons
    • Improving Performance
    • Supported Platforms
    • Compiler Defines
    • For Developers
      • Important Classes and Interfaces
      • Assembly Definitions
      • Starting your development
      • Class documentation
      • realvirtual Init Sequence
      • realvirtualBehavior Lifetime Methods
      • Testing
    • Newtonsoft JSON
    • Troubleshooting
  • Release Notes
  • AI Digital Twin Assistant (GPT4)
  • License Conditions
Powered by GitBook
On this page
Edit on GitHub
  1. Components & Scripts
  2. Performance Tools

Performance Optimizer (Pro)

Performance Optimizer is only included in Professional Version

PreviousMesh Optimizer (Pro)NextDefining Logic

Last updated 3 months ago

The excessive use of separate meshes in Unity can significantly affect performance. To mitigate this impact, it is possible to combine these meshes into a single mesh as long as they are part of a common kinematic group and are not moving independently.

Combining meshes is a powerful feature that can significantly improve performance in large models. This can result in up to 4 times faster performance. However, it is not recommended for smaller models.

The Performance Optimizer can be applied to any Gameobject, typically at the top level of the imported CAD data. All its child meshes are taken into account during the optimization process.

The optimizer considers whether a Gameobject is part of a and if that group is assigned to a . For each "Kinematic Group," a single optimized mesh is generated and named after the group. The optimized mesh is automatically set as non-Static.

Optimization is initiated by clicking the Optimize button. The combined meshes resulting from the optimization process can be found as children of the OptimizedMeshes Gameobject.

Please note that after optimization, the original meshes are deactivated but the corresponding Gameobjects remain in the hierarchy. All previously defined colliders will remain active. The optimization process can be undone by clicking the Undo Optimize button.

Properties

IsOptimized (readonly)

This property indicates whether the meshes have been optimized or not.

NumOptimziedMeshes (readonly)

This property provides the number of meshes that have been optimized as a result of the optimization process.

NumUnOptimziedMeshes (readonly)

This property provides the number of meshes that have not been optimized.

Ignore Groups

This property allows you to specify the groups that should be ignored during the optimization process. By default, all groups are considered during the optimization process.

Ignore Hidden Object

This property allows you to ignore hidden objects during the optimization process. By default, hidden objects are considered during the optimization process. If Hidden Objects are ignored, they are not part of the resulting combined mesh.

Combine Non Kinematic Groups

This property allows you to combine the meshes of groups that are not assigned to a Kinematic. By default, only the meshes of groups assigned to a Kinematic are combined.

Ignored Groups

In this list you can define groups which should be totally ignored and not be part of the combined mesh. These Groups remain fully active inside the structure.

If a Gameobject is part of a group that is not used in a and the "Combine Non-Kinematic Groups" option is turned on, a separate optimized mesh is generated. This mesh is set as Static.

Kinematic
Group
Kinematic