How do I achieve the best cross-platform gaming experience? Unity Masaaki decryption Real-time rendering technology!

Source: Internet
Author: User

Tags: Dash compiler Basic effects edit time zone Precision Forum defer

July 31, the 2018 Yun Chuang Conference Game Forum was successfully held in Hangzhou International Expo Center 103B. This game forum focuses on new technologies and practices that may be driving major developments in the gaming industry, such as AR, blockchain, security, big data, and more.

Masaaki, a technology manager at Unity Greater China, says the cross-platform performance of real-time rendering technology makes the gaming experience even better

Masaaki, a technology manager at Unity Greater China, made a keynote speech on UNITY2018 's latest real-time rendering technology, sharing 2018 years of Unity's three key technologies for real-time rendering, including graphics-related programmable rendering pipelines, shader graph based on the rendering pipeline, PostProcess tools, as well as ECS, burstcom and other performance-related technologies.

Masaaki says unity has a complete ecosystem that has been focused on solving graphics, networking and AR issues, allowing more and more developers to make cool games or animations. At present, Unity has developed a lot of familiar games, but also for the film industry, industry, medical, automotive and other fields to provide remote data analysis, data tracking, remote debugging, monetization and other capabilities. And one of the key technology applications is the real-time rendering technology introduced this year.

Unity Real-time rendering technology has a strong cross-platform capability, mainly including graphics-related programmable rendering pipelines, tools based on rendering pipelines, and performance-related technologies such as ECS, burstcom, etc.

Masaaki introduced, as the game more and more, the traditional rendering pipeline has become more and more difficult to meet the needs of game features. Unity's programmable rendering pipeline not only allows the user to customize the rendering process, but also has a very good extensibility, providing more interfaces with the classic C + + kernel in reserve. The programmable rendering pipeline provides two sets of open-source templates that allow users to customize functionality to suit their needs:

HD (High-definition) focuses on high-end PC platforms, which provide more accurate models and advanced materials, more transparent to the user when customizing the rendering pipeline, enhanced lighting configuration, and can help the user achieve a very gorgeous rendering effect;

? Lightweight mainly for mobile modules and XR platform, allowing users to balance the performance of the same time can be adapted to more devices. It uses the Single-pass Forward rendering to support 8 image light in a batch, and provides a very convenient material upgrade tool.

Masaaki also elaborated on Unity's rendering pipeline-based shader Graph, Progressive lightmapper, and post-processing v2 three tools:

? Shader graph is a kind of node graph mode, which can help users to create without programming, greatly reduces the programming threshold;

? The post-processing station provides rich effect features, supports the setting of different regions and flexible and extensible framework, but also compatible with the latest rendering pipeline;

? Progressive baking makes it easy for users to see the process of baking in real time, which brings great convenience and efficiency to the user's workflow. GPU-based progressive lighting will also be introduced this year, increasing efficiency by more than 10 times times.

In terms of performance, Masaaki finally mentioned that Unity's new set of systems can help users achieve a huge leap in performance. The system consists of three parts: the JOB system, which helps users take advantage of GPU multi-core processing capabilities, ECS, makes the memory of data more tightly arranged, improves the cache hit ratio, Burst Compiler, technology-optimized compiler.

The following is a transcript of Masaaki's speech:

Hello everyone! I am a masaaki from unity. Today I am very happy to have this opportunity to come to Hangzhou, to share with you unity in the 2018 latest real-time rendering technology.

There are four main things to share today, first of all I will do a basic introduction to unity, the following will be introduced this year unity in real-time rendering of three more important technology: one is graphics-related programmable rendering pipeline, and the second is based on the rendering pipeline launched tools, including shader Graph, PostProcess, the third is ECS, burstcom and other performance-related technologies.

First introduce unity. Unity was founded in Copenhagen, Denmark, in 2014, with three founders who presented three corporate concepts: democratization of development, solving difficult problems, and helping developers succeed. The concept of democratization is well understood to be to lower the threshold of technology, so that more and more developers can make cool games or animations. In contrast, unity is required to solve difficult graphics, networking, and AR issues.

Unity has a complete ecosystem, it has a strong real-time rendering engine, with a strong cross-platform capabilities, in addition to provide remote data analysis, data tracking, remote debugging, monetization and other capabilities. As of 2017, there were 20 billion applications installed, and 3 billion mobile devices were installed with Unity software. Of the top 1000 games, 40% were unity, new production games exceeded 50%, and 60% of VR and AR applications were developed using unity. Unity has developed a lot of familiar games, as well as in the film industry, industry, medical, automotive and other fields, there are many manufacturers to use unity to do real-time rendering tools.

Here's how to get started with real-time rendering related techniques. First look at the shape aspect, this year our most important technology is the programmable rendering pipeline, compared to the previous pipeline, the programmable rendering pipeline provides more rendering interface to the developer, you can define your development according to your own requirements. Of course we have two templates ready for everyone: HD (high-definition) is mainly for high-end PCs, this pipeline provides a more accurate model, provides a very advanced material to help you achieve very gorgeous rendering effect, lightweight mainly for mobile modules, It allows you to combine performance with more devices.

This is the current rendering pipeline, it can be customized with few functions, you can choose forward or deferred:forward in the number of objects to accept the amount of light to determine its rendering batches, when the number of light is a lot of new problems encountered, deferred in the last application of a light, However, deferred has hardware requirements, so it is not supported on some mobile platforms. In addition, you can write some command Buffer, that is, in the time point of rendering the pipeline, such as the green point of the place, you can insert their own rendering.

With the increasing variety of games, traditional rendering pipelines are becoming more and more difficult to meet the needs of the game. For example, we see a very 3D, very light game, there are 2D reel game, these games with a pipeline is difficult to take into account such performance, such as a 2D game or a FPS game rendering when there are a lot of trade-offs, 2D does not need lighting, material is not based on physical material ...... Wait a minute.

So unity has introduced a programmable rendering pipeline this year that allows users to customize the rendering process, such as your tailoring or drawing objects, which can be controlled as needed. The new rendering pipeline has a very good extensibility, the original rendering pipeline has been effectively promoted, retaining the classic C + + kernel, provides more interfaces to help you as much as possible to customize their own functions. In addition to provide two sets of templates, we can customize the function according to needs, and these two sets of functions are open source, so it is also a very good reference for everyone.

First look at the lightweight, which is mainly for the mobile and XR platform, provides a very convenient material upgrade tool, and for some do not need to light the material is fully compatible, so it is very convenient to upgrade to this set of pipelines. Its rendering is also different from the original, using the Single-pass Forward Rendering, can support 8 like light in a batch to render. We've done a trash dash example before, it's a 3D game, but it's not actually using lighting, so it's very easy to upgrade from the original pipeline to the current pipeline using our Material upgrade tool.

Here is a look at High,high features a lot, here is to give you a detailed disassembly and introduction. It is divided into six chunks of functionality, first of its rendering pipeline has a relatively large change, the rendering pipeline relative to the previous adoption of a new model, physical computing will be more accurate. It is more transparent to the user when customizing the rendering pipeline, as long as the user focuses on the set properties, rather than on what pipeline to choose. It is mainly for the high-end PC platform, for the lighting configuration has enhanced, lighting and shading can use color temperature to control the color of light. Light shapes also have a lot of choices, and new areas of light are added. More materials, providing a lot of advanced materials for everyone to choose. There are also layered-based material systems that have deformed effects. debugging, provides a new window to watch debugging.

The new pipeline does not have to choose the configuration, the user according to their own needs to set up the rendering pipeline can be. The first is to enhance the illumination configuration, can control the color according to color temperature, support more shapes, including cone, square or pyramid shape, support the effect of light color, second, the new area light type, support real-time area light, and the area light shape including orange shape, round and other shapes; The third is to provide a new illumination model GGX, In the traditional mode is a single color rendering model, the coarse color will not be saturated, and will have a dark phenomenon; In addition, there are many new materials, including the effect of rainbow color and transparent lacquer, double-sided transparent effect, layered model, volume light and light speed effect, no occlusion probe effect and so on.

In addition to this, the new pipeline also adds a debug window, where you can see a wealth of information, including materials, lighting, and more. As shown below, this graph shows the surface of the object being rendered, which can be used not only on the editor, but also in real-time to the PC side.


The Debug window supports displaying only one light, such as only slow reflection. It also supports intermediate render targets, such as DEPHT buffer display, and the left only shows diffuse lightin.

The above shows us the effect of the real-time rendering that unity's programmable rendering pipeline can render. Let's take a look at the tools that are handy for you to create, Shader Graph, Progressive lightmapper and post-processing v2.

Shader graph is a way of node diagrams to help you no longer have to write in a programmatic way. It has the advantage of not coding, may reduce some of the syntax or debugging pain, reduce the threshold of programming.

The post-processing station has a very wide selection of effects, can be set up different areas, but also support a flexible and extensible framework, because this is also an open source function, so you can see as needed, on the one hand to provide a custom API, you can customize, you can also see the entire code. It is also compatible with the latest available rendering pipeline.

Take a look at the progressive lighting baking, real-time rendering the scene has a lot of light is the first static baking, especially like indirect lighting, are baked up, because if the real-time calculation is certainly too late, so usually in the project when the lighting baking function. and progressive baking can see the baking process in real time, and the effect of the view window can be seen first, which brings great convenience and promotion to everyone's workflow. In addition, the GPU-based progressive lighting feature should be introduced this year, which will increase the efficiency of lighting baking by more than 10 times times.

This year in the performance above Unity launched a new set of systems, can help you in the performance of a qualitative leap. The newest system consists of three parts: one is the job system, which helps you take advantage of GPU multi-core processing capability, and the other is ECS, which can make the memory of our data more tightly arranged, improve the hit ratio of the cache, and the third is burst Compiler, which is the compiler of technology optimization.

As shown above, this is the current system. It refers to a variety of components, which is a reference list. As a result, these reference types have no way of controlling how they are arranged in memory, so it is scattered in memory so that the results of the data dispersion are less than the cache hit ratio. There is also a problem, if the single-core situation, once the task is more, it processing speed will be more and more slow.

Entity Component System, we separate the data and functions, render contains the data, by classifying the data, and then sent to different tasks for processing. As shown below, this is a combined architecture diagram.

Consider a practical example of how much performance it has improved. As shown, the traditional way the spaceship contains the Movemen component, in this case, the same screen rendered 18,500 spacecraft. But in addition to the deformation, there is no application in the spaceship. All of the tasks are performed through functions, so when the job system is deformed, the performance can be increased to 25,000, which improves the performance by One-third.


Looking at ECS with job system, after data tightness plus parallelization, in the case of the ESC with job system, we have changed from the first 18,000 to 96,000, with a performance increase of 5 times times. Combined with burst Compiler, the number reached 156,000, up nearly 10 times times higher than the initial performance.

This is the latest unity on real-time rendering technology progress, I hope to help developers to achieve a more cool effect, thank you.

Click for free try NetEase Cloud Easy Shield Security Service please add link description

How do I achieve the best cross-platform gaming experience? Unity Masaaki decryption Real-time rendering technology!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

Tags Index: