Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Official Standard approach to optimize a 3D model with Pixyz Studio

Discussion in 'Pixyz' started by dani-ria, Jun 22, 2023.

  1. dani-ria

    dani-ria

    Unity Technologies

    Joined:
    Sep 7, 2021
    Posts:
    15
    Optimizing a 3D model with Pixyz Studio is a straightforward process that involves a series of steps to ensure the best possible results. Pixyz Studio is a powerful tool designed to handle complex and large data, making it an ideal choice for CAD data preparation and optimization. Here's a standard approach to optimize a 3D model using Pixyz Studio:
    1. Import the 3D model: Start by importing your 3D model into Pixyz Studio. The software supports a wide range of input formats, including native CAD files from industry-leading CAD solutions like CATIA, Siemens NX, SolidWorks, CREO, Inventor, and STEP.
    2. CAD Tessellation: Once the model is imported, the next step is to perform CAD tessellation. Tessellation is the process of converting CAD data into a mesh of polygons, which is more suitable for real-time 3D visualization and game engines. Pixyz Studio offers best-in-class tessellation algorithms to ensure high-quality results.
    3. Decimation: After tessellation, you may need to reduce the number of polygons in the model to improve performance and reduce file size. This process is called decimation. Pixyz Studio provides advanced decimation algorithms that allow you to maintain the visual quality of the model while significantly reducing the polygon count.
    4. Optimize the Product Structure: Pixyz Studio preserves the original product structure (hierarchy) of the imported CAD data. You can optimize this structure by merging, splitting, or reorganizing the tree to better suit your needs.
    5. Manage Part Occurrences and Prototypes: Pixyz Studio allows you to work with instances and prototypes, which can help optimize your model further by reducing memory usage and improving performance.
    6. Adjust Face and Vertex Normals: To ensure the best visual quality, you may need to adjust the face and vertex normals of your model. Pixyz Studio provides tools to easily edit and optimize normals.
    7. Animation (optional): If your model includes animations, you can use Pixyz Studio to manage and play them back to ensure the animation quality when exported has been retained.
    8. Export the Optimized Model: Once you have completed the optimization process, you can export the optimized 3D model to a suitable format for your target platform, such as Unity, 3DS Max, Maya.

    By following this standard approach, you can efficiently optimize your 3D models using Pixyz Studio, ensuring high-quality results and improved performance for real-time 3D visualization and gaming applications.
     
  2. laurent-milon

    laurent-milon

    Unity Technologies

    Joined:
    Nov 30, 2022
    Posts:
    14
  3. guyvandenbosch

    guyvandenbosch

    Joined:
    Jan 25, 2023
    Posts:
    1
    Hello,

    Very useful summary for beginners in Pixyz.

    I am having an issue with point 6.: Adjust Face and Vertex Normals: To ensure the best visual quality, you may need to adjust the face and vertex normals of your model. Pixyz Studio provides tools to easily edit and optimize normals.
    This feature is very handy in Pixyz (because of the pink overlay color) and is the reason why we purchased it over the choice of doing this in a regular 3d package like 3dsmax or....
    However, Pixyz has one major drawback, for which I am already in contact with support for a feature request, you have to select each polygon manually before r-click and flipping the normal. This easily gets very tedious when needing to select hundreds of triangles (from a CAD file).

    My request was to expand the selecting capabilities of Pixyz: for Ex: in 3dsmax you can pick the middle polygon of an area and do a grow command on the selection. Then the selection grows based on the direction of the edge over the surface. It's a pretty smart feature as it stops where the topology of a model change direction. For Ex: where a flat surface changes to a fillet to another side of a model.
    Another functionality could be (from keyshot) to have a degree type-in that limits the selection to polygons let's say 30 degrees on the surface. In that way, you can select polys easily in large amounts.

    Many thanks
    Per
     

    Attached Files:

    laurent-milon and mgear like this.
  4. mgear

    mgear

    Joined:
    Aug 3, 2010
    Posts:
    8,988
    can you go into more detail, what should be done with step 4 & 5 when using large CAD assembly?



    *i'm still not convinced that these tips are not AI generated from docs : )
     
  5. laurent-milon

    laurent-milon

    Unity Technologies

    Joined:
    Nov 30, 2022
    Posts:
    14
    Hello @guyvandenbosch , thank you for your comment and feedback. And for suggesting some feature improvements to our support and Product Management team. We'll have a look and see what is feasible regarding manual polygonal selection.
    In the meantime, have you tried the
    repairMesh()

    orientFromView()

    or
    smartOrient()


    functions in Studio? Any luck?
     
    Last edited: Jun 26, 2023
  6. laurent-milon

    laurent-milon

    Unity Technologies

    Joined:
    Nov 30, 2022
    Posts:
    14
    Hi @mgear , those particular steps would include the use of features like:
    mergeFinalLevel()

    mergeByTreeLevel()

    mergeByRegions()


    Most of them are available in the Scene menu, check it out and give it a try!
    upload_2023-6-26_11-2-40.png

    As for step 6., the creation/regeneration of part instanciation can have a quite positive impact on your overall model size, and complexity, and boost the rendering performances in your favorite 3D engine (assuming that engine does support instances). Unity does.
    algo.createInstancesBySimilarity([1], 0.980000000000, 0.980000000000, False, True, True)
     
    Last edited: Jun 26, 2023
    mgear likes this.