Optimizing a modular character asset

Characters constructed of modular pieces can suffer from a problem after they are optimized. If the seams connecting the different parts are not matching each other, you can end up with visual artefacts. This blog post will show how you can use the modular seams feature of Simplygon to prevent these issues.

Keep original materials during aggregation

In this blog we'll showcase how to keep original materials during material merging. This enables you to keep materials that require special shaders separated during optimization.

Meet Simplygon at Nordic Game 2024

We will be at Nordic Game 2024 in Malmö, Sweden on 21st - 23rd of May.

Meet Simplygon at Reboot Develop Blue 2024

We will be at Reboot Develop Blue 2024 in Dubrovnik, Croatia on 22nd - 24th of April.

Character optimization with quad reduction

In this introduction blog we'll look at how to optimize a skinned character with the quad reducer.

Low-poly character optimization

In this introduction blog we'll look at how to optimize a low poly skinned character with the Simplygon plugin for 3ds Max.

Aggregation with multiple output materials

In this blog we'll showcase how to use a mapping image with multiple output materials. This enables you to perform material merging on an asset with both opaque and transparent materials.

Meet Simplygon at GDC 2024

We'll be at Game Developers Conference (GDC) in San Francisco on March 18th to 22nd and hold a talk on 20th - "Can HLOD save your game".

Introduction to terrain culling

In this blog we'll showcase how to cull away triangles that are below terrain. This is useful for aggregation and remeshing. We'll also showcase some common pitfalls.

Introduction to micro-meshes for mesh compression

In this blog we will cover how to generate meshes using NVIDIAs new micro-mesh technology with Simplygon. We will create a batch processor for kit-bashed 3d scanned content indented to save disc space and optimize render performance.

Meet Simplygon at Arctic Game Dev

Simplygon is visiting Arctic Game Dev in Umeå 22th- 24th November.

Tight fitting impostors with minimal overdraw

Generate tight fitting impostor geometries around the opaque areas based on the input opacity map.

Using your own shaders for material baking with Compute Casting

Today we will look at how to create proxies for object with custom shaders. We are going to use compute casters in combination with scene descriptions serialized to xml files to create a batch processor indented to process HLOD meshes. We'll also cover clipping planes.

Customer Story: Warhammer 40,000: Darktide

For this customer story we'll share the talk we did at GDC 2023 together with Fatshark. We'll cover the basics of 3d optimization and then how those concepts where applied in the making of Warhammer 40k: Darktide.

A look at impostor from single view in Unity HDRP

In this blog post we will take a look at how material casting for Unity HDRP render pipeline allows us to create extremely lightweight impostors. We are also going to cover how to hide LOD pops with cross fading.

Troubleshooting material baking in Unreal Engine

In this blog we'll look at different issues with material baking in Unreal Engine and their solutions. As example we will optimize draw calls by create a stand-in replacement of a group of objects. We are going to look at how to reuse UV-space, separate out troublesome material nodes and how to debug texture baking.

Meet Simplygon at MIGS 2023

We will be at MIGS in Montréal, Québec on November 8th to 9th to help even more game studios optimize their games.

How to find correct settings for a scripted pipeline

In this post we'll cover how to find the correct settings for a scripted pipeline by exporting a pipeline created using the user interface.

A look at flipbook in Unreal Engine

In this blog we'll have a look at the flipbook impostor and how to use it in Unreal Engine. We are going to cover what the up and down sides of it are as well as some tips and tricks how to change parameters and materials on generated LODs in Unreal Engine.

CEDEX2023で Simplygon に会える!| Meet Simplygon at CEDEX 2023

8月23日~25日まで横浜で開催されるCEDEC 2023に参加し、 日本のデベロッパーの素晴らしいゲームに対しコンテンツを最適化するお手伝いをさせて頂きます。 We will be at CEDEC 2023 in Yokohama, Japan on August 23rd to 25th to help Japanese developers optimize their amazing games.

What's new in Simplygon 10.2

As a Midsummer gift to all game developers we are proud to release Simplygon 10.2! In this release we have worked on core improvements to our remesher, support for Unity's Universal Render Pipeline and High Definition Render Pipeline and lastly support for Unreal Engine 5.2.

Remapping Materials in Blender after Simplygon Processing

Simplygon is using Blender glTF exporter/importer as an intermediate format when processing objects. The glTF importer creates new materials even if identical materials already exist in the scene, resulting in a duplication of materials when reduction processes brought back into Bleder. To overcome this limitation and ensure material continuity, we can employ a Python script that remaps materials from the processed objects to their original counterparts

Customize your Simplygon pipelines

This blog will cover how to customize your Simplygon pipelines in 3ds Max, Maya, Unity and Blender. Customizing pipelines allows you to share presets for different kinds of assets with your team. Defining pipelines for different asset categories can be seen as a step to fully automating your asset pipeline.

Meet Simplygon at Digital Dragons and Nordic Game

After our little trip over the sea to Game Developer Conference we are looking into making a spring tour of game conferences. Meet us at Digital Dragons 15th-16th May or Nordic Game 24th-26th May.

Customer Story: How Simplygon helped bringing Anno 1800 to PS5 and Xbox

Anno 1800 is a city-building game from Ubisoft Mainz that was released in 2019 for PC. It features a massive world with huge islands, dense forests and hundreds of unique and beautiful buildings that form anything from small villages to gigantic cities. There’s a wide range of assets, small fishing huts, noble four-storey-tall residences, breathtaking skyscrapers, factories, monuments and more. Thanks to its great initial success and continuing support of the live-game with DLCs and cosmetic DLCs, the decision was made that the title should launch on console, too. This was a huge undertaking but with Simplygon's help it turned into a great success.

Calculating LOD transitions when using triangle ratio as reduction target

This blog covers how to use GetResultDeviation to calculate when to LOD transition. In normal case we strongly recommend to use screen size or max deviation as reduction target, but if you have a specific need which request reduction ratio or exact triangle count this blog will describe how to calculate when to switch to that LOD. We are going to use this to populate a Unity LODComponent. We are also going cover how to reuse materials from LOD0 automatically.

Bake vertex colors into textures

In this blog we'll look at how to bake vertex colors into textures. Use case for this is certain phot scanned assets where color data is saved into vertex colors. We'll look at how to do this with both the remesher and aggregator pipeline. We'll also cover how to create a shading network for vertex colored materials as well as how to remove vertex colors from model post processing.

Meet Simplygon at GDC 2023

We'll be at Game Developers Conference (GDC) in San Francisco on March 20 to 24. Main event is our GDC talk collaboration with Fatshark on art optimization in their latest title Darktide. We are also happy to reveal the third episode of the beloved Poly saga.

Aggregation and remeshing - Evaluating the best method for proxy creation

After reading this blog post, you will have a framework to evaluate the best method to create proxies for your game. The post will compare the remeshing and aggregation methods for generating proxies for your asset collection, and delve deeper into how to decide which method is best for your game.

Automating your asset pipeline

This blog post describes how to optimize content using Simplygon's SDK for various platforms with automation. It includes a guide on creating an LOD chain in Maya and scripting it for multiple assets, and highlights the benefits of using screen size optimization. The post also gives suggestions for further challenges to tackle in the pipeline.

Introducing our high density reducer

In this post we will take a look at the new high density reducer we introduced in Simplygon 10.1. It's main intention is to be used with very high poly sculpted models and 3d scanned assets. We are going to compare the process quality and time to our ordinary reducer.

What's new in Simplygon 10.1

In Simplygon 10.1 we have focused on improving the new features added in 10.0, as well as adding new exciting features. The headline of the release is definately shader casting which we hope will make it much easier for developers to bake materials and textures. We have also added a high density reducer to tackle very high poly scanned and sculpted meshes.

Reuse skeletons for Unity LODGroup

In this holiday themed blog post we'll showcase how to reuse skeletons for different LOD levels in Unity. As an extra spice we will also throw in Bone Reduction for our last LOD level.

Troubleshooting gamma issues

If you have processed assets in Simplygon and the output had another color shade, then this post is for you. In this post we'll go through how to detect and solve gamma issues.

Protecting features using vertex locks and weights

Sometimes you want the ability to protect certain features in your assets. Simplygon provides you with the ability to use either vertex weights or locks to direct the optimization process to keep polygons where you want.

Bake decals into surfaces

In this spooky blog post we will optimize away spider web decals from a scene. While it might seem unfitting given the release date of this post it is a well-known fact that most of the spider webs being displayed are not real and just for decoration.

Using Simplygon with Unity LODGroups

This post will showcase how we can use Simplygon to generate LOD levels to populate Unity's LODGroup component. We are going to use cascaded reduction pipelines with screen size as stop criteria. This means we can think of LOD transitions in terms of visual difference instead of polygon count and distance to camera.

Simplygon supporting NVIDIA's new Micro-Mesh technology

With NVIDIA's new Micro-Mesh technology, developers will be able to continue their quest to fill their worlds with content. The technology removes many of the traditional bottlenecks, releasing creators from many of the shackles that previous generation hardware had put on them. We at Simplygon have been working closely with NVIDIA to ensure that can use our SDK to transform your meshes to be ready for your Micro-Mesh render pipeline.

Accelerated remeshing using tessellated attributes

With Simplygon 10.0 we introduced tessellated attributes. In this post we'll showcase how to use them to speed up high resolution remeshings where we only care about surface details.

Optimizing assets made of both quads and triangles

In this post we'll showcase how to reduce meshes containing both quads and triangles. We are going to use both the triangle reducer and new quad reducer along with vertex locks.

What's new in Simplygon 10

The Simplygon 10 release brings a couple of real hero features to the game. In this version we have added a quad reducer and processor that helps with protecting seams when optimizing modular content.

Getting started with custom Simplygon nodes in Houdini

This post will demonstrate how to access the Simplygon Python scripting API through our Houdini plugin. We are going to create a custom geometry node running Simplygon's reduction processor and pass parameters from Houdini's UI to it.

Customer story: LOD Authoring in Forza Horizon 5

In this post we will show how Forza Horizon 5, the latest award-winning open world racing game from Playground Games, is using Simplygon to run smoothly.

Bake textures into vertex colors

In this post we are going to bake textures into vertex colors. This is useful for LODs which are really far away, where we just want some color. In order to do this, we need to disable sRBG on all texture nodes in the scene. So we'll cover how to traverse shader network as well.

Demystifying vertex colors in 3ds Max

In this blog post we are going to optimize a game character in 3ds Max. We are going to use two sets of vertex colors; one which the game utilized and one which control the reduction.

Manually separate trunk during vegetation optimization

Simplygon has a pipeline specific tailored for vegetation optimization; Billboard Cloud for Vegetation. One of its features is an automatic trunk detector which can separate out the trunk from all leaves and run it in a separate reduction processor. However for this blog post we are going to do that manually to increase our control over the processing.

How to detect broken assets with scene validation

A lot of unexpected Simplygon behavior is caused by broken assets. This blog post is about how to use our scene validator to validate your assets.

Bake material data into textures for Unity physics meshes

Physics meshes are used in almost every 3d game. It is also very common that we want to know the different materials of the physics object for spawning certain impact effects. In this post will showcase how to optimize a physics mesh and keep material data in Unity as a texture.

Your first remeshing in 3ds Max

In this post we'll introduce how to use the Simplygon plugin for 3ds Max and use it to remesh a very high poly model.

How to remesh your house with Simplygon

There are many objects which have different types of materials; both transparent and opaque. Remeshing these with Simplygon requires extra care if one wants to preserve the transparency. In this example are going to optimize a house with glass windows, a quite common asset in many games.

What's new in Simplygon 9.2

In Simplygon 9.2, we have lots of new features for you to explore! With improved logging and a more extensive scene validation it is easier to detect and solve potential issues in your content. For those of you using 3ds Max we added support for morph targets, a set of new material nodes and Max 2022 support. Last but not least, 3ds Max and Maya plugins are now open sourced on GitHub!

Visibility culling via 3ds Max's user interface

In many games the players movement is restricted to a certain volume, that means some object will only be visible from certain angles. That is where optimization through visibility culling comes in. In this post we'll show how to use it in 3ds Max.

Remeshing interior design assets in 3ds Max

In this post we will create a proxy for an interior design asset using the 3ds Max Simplygon plugin. We will both use the basic remeshing with material baking template but also the advanced remeshing template to unlock some advanced optimization settings.

Create a Blender Add-on for your Simplygon pipeline

In this post we will take the script created in previous blog post and turn it into a simple Blender Add-on with a basic user interface. That allows us to easily share it and makes it easy to use for non-programmers.

Customer Story: How Simplygon enables large scale optimization in Flight Simulator

The Flight Simulator game is in many aspects very complex from a rendering and data perspective in comparison with other games. The vast view distances, the detailed landmarks and the whole world as playable area makes the asset optimization strategy a very important part of the game production.

Use shading network to recreate normal maps

This example show how you can use shading networks to recreate a normal map that had it's blue channel removed.

Custom material casting using mapping image

In this example we'll show how you can use the mapping image directly to do a custom material casting.

Use geometry data caster to change materials on a remeshed asset

In this example we'll show how you can use geometry data casting to change materials on a remeshed asset in runtime.

Automating Simplygon workflow in UE4 using Python

The following article covers the basic of how to automate your Simplygon driven content pipeline using python in UE4

Unique optimization capabilities added by the Simplygon UE4 plugin

We get a lot of questions about our new UE4 plugin and what it provides for the user? So what exactly does our plugin provide that UE4 doesn't already have? That is exactly what this blog post is about, to hopefully make it a bit more clear what unique capabilities our UE4 plugin has to offer your project.

Remeshing terrain chunks for hierarchical LODs in C++

In this example we will discuss how to utilize the remeshing processor for generating a grid of HLOD terrain chunks from a large terrain input geometry. In doing so, we'll go over some basic geometry manipulation, remeshing fundamentals, and advanced usage of some remeshing processor functionality.

Multiple Reduction targets and Stop conditions

Running reduction with multiple Reduction targets and Stop conditions can be a flexible way to run the same reduction settings on a batch of assets targeting a certain quality while simultaneously enforcing a strict performance goal.

Using custom shaders in Unity

In this example we'll show how you can use material casting with a shading network to optimize a custom shader.

Optimizing 3D scans with Simplygon

Want to make those scanned assets more lightweight and ready to be used in your game or web application? This post will show how you can use Simplygon's remesher to produce heavily optimized versions of your scan data. It will also dig in on how to create a repeatable pipeline with which you can process large amounts of similar assets.

A simple Python remeshing

This post will give you a simple starting point for a remeshing script. We'll show how to turn an untextured glb asset, with material colors, into a textured proxy.

A simple reduction script in Unity

This example goes through how to setup a simple reduction script in Unity.

A simple reduction script in Blender

This blog will give you a simple starting point into scripting with Simplygon's Python API in Blender.

Visibility culling through generated cameras in Max

This (Python) example demonstrates how to use the Visibility Culling feature to remove geometry that is not visible from a specific set of cameras. The cameras are automatically generated by Simplygon based on a user-specified visibility volume / geometry.

Scripting a Python batch processor with distribution and progress observing

A crucial part of an automatic pipeline is the ability to distribute processes. With that you can complete large batches of assets much faster than if you're running them on a single machine. Distribution is a first class citizen of the Simplygon API, and in this post we will explore how to build a simple distribution over Simplygon Grid using Python.

Comparing material casting and aggregation

In Simplygon, you have two different options when it comes to transferring materials from source to optimized geometry. You can either cast the materials pixel for pixel, or merge the materials using the existing UVs. This makes for some interesting choices that we will explore in this post.

What to think about when it comes to LOD transitions

Balancing performance with visual quality by making sure the triangle budget of the LODs end up in the right place.

Automatic material casters with glTF in C++

If your asset pipeline holds different material setups for different assets, it can be useful to know how to make Simplygon cast materials correctly without having to know the exact setup for each asset. In this post we will guide you through a way of detecting and applying the correct material casters based on the input materials of the loaded scene. This guide is for the glTF file format, and different options is likely to be required for other file formats.

Culling geometry with camera volumes in Python script

In cases where you know from which angles an asset will be viewed, you can use that information to optimize the assets accordingly. For example, side scene geometry in the level that's only going to be seen from the playing field. Rather the building assets custom for that case, you could just use what you got and optimize it through cameras scattered in the player area. You can instruct Simplygon to cull anything fully occluded, but the visibility information can also be guide the reducer and the material caster to keep more where the geometry is most visible.

Simple remeshing scripting in 3ds Max 2021

This blog post will show you how to write a simple remeshing python script in 3ds Max 2021, using the new Physical Material system.

TwentyTwenty - A year in review

We're closing the book on a quite different year. A year filled with challenges. We all have had to figure out how to work within this new environment. At Simplygon we had big plans for this year, both in terms of development and presence at conferences and events. The latter we had to scratch, but their has been no brakes on our product development. In this post we'll go through what we added to the SDK over the last year.

Billboard cloud mode: Outer shell

The billboard cloud aims to replace the objects in a scene with a view independent set of billboards. The Billboard mode: Outer shell makes the planes fit to the outer shell of objects, as opposed to Billboard mode: Foliage.

Impostor: Billboard cloud for vegetation

The billboard cloud aims to replace the objects in a scene with a view independent set of billboards. For vegetation assets the "Billboard mode" should be set to "Foliage" . This mode allows the billboards to represent the foliage volume with intersecting planes. The leaves should map to the billboards in a manner that keeps the perception of volume and silhouette close to the original tree.

Introducing our new Unreal Engine plugin

With the release of 9.1 we are introducing a brand new plugin for Unreal Engine users. The plugin provides most of the functionality from our previous integration in a new and easier to integrate experince.

What's new in Simplygon 9.1

In this article we are walking you through the Simplygon 9.1 updates, ranging from easier Simplygon integration work in Unreal Engine 4 with a new standalone Simplygon UE4 plugin to new impostor processor for vegetation optimization as one of the use cases.

Working with Simplygon objects in Python

The Simplygon Python and C# APIs are wrappers around the core C++ library that contains all the algorithms and tools. This means that the ways of working with the API is inherited from the C++ library. Both in Python and C# there are some things that might seem odd at first, and this post will shed some light on these things.

Automate your E-Commerce 3D Optimization Pipeline

Prior to GDC this year we worked together with Adobe Substance on creating a automatic optimization pipeline for e-commerce content. David Larsson at Adobe has now released an excellent article and examples on how to combine Simplygon and Substance to create a neat optimization pipe.

Creating a physics mesh with Simplygon

When creating physics meshes, it's typically a good idea to optimize the original heavily, to make calculations cheaper. You would also want to keep material information in the optimized object, in order to spawn appropriate effects, play correct sounds etc. Combining the vertex color caster and remeshing is a great starting point to achieve super-simple geometry that checks the boxes for good physics meshes.

Running cascaded pipelines in script

Many scripted Simplygon workflows starts with a pipeline that is exported from one of our integrations. In this post will give you a very straight forward step by step on how to create a scripted optimization with cascaded pipelines.

Customer story: Simplygon saves time, improves visual quality and performance for Forza Motorsport 7

At Turn 10, hitting our visual and performance goals of a rock solid 60fps at native resolution on Xbox requires us to author highly optimized assets with multiple levels-of-detail (LOD). Manually creating LOD’s could take up to 30% of our individual asset creation time. We looked to Simplygon to help us find a solution that would reduce or even eliminate this extra workload.

Batching assets using headless Maya

Simplygon has a native plug-in within Maya that can handle exporting and importing assets. This is not only useful when you are working within the Maya UI, but can also come in handy if you want to batch process many assets and use the built-in functionality in Maya. In this post we will sho how you can set up a simple batch script that runs headless in Maya.

Visibility sphere

Using a visibility sphere can be a great way to save some polygons on assets that are not going to visible from all angles. In this article we will go through how you can use the SetCustomSphereCameraPath function in Simplygon to take away unnecessary polygons.

Volumetric culling

If you, like most others, are using kit bashing workflows when you are designing your levels volumetric culling can be really useful. This method will help you get rid of internal geometry, without affecting the exterior, nor require you to generate new materials. Apply it to assets that are built up from several small pieces and you will get rid of a lot of internal geometry, that's just hogging performance. In this post we will look deeper into this method.

Geometry culling overview

In the Simplygon SDK you can find a range of options in the area of geometry culling. You can cull geometry volumetrically, use custom cameras, distribute cameras along a spherical surface, use occluders and clipping geometry. All these options can be combined in different manners to achieve the results that you are looking for. In a series of posts we'll go through the different options you have at your disposal. We'll explain how you use them and in what cases the different options comes into play.

Simple hollow shell script

In this post we will show you how to create a simple python script that generates a hollow shell. This can help you to optimize kitbashed content that typically is riddled with internal geometry which causes all kinds of performance hits. The resulting hollow shell will have all its internal geometry removed, while the object collection looks exactly the same from the outside. Perfect as a final step to clean up your creation and make it game ready.

Request 30-days free evaluation license