Unity3d WorldComposer1 satellite map to generate terrain

Source: Internet
Author: User
Tags abstract language scale image

http://blog.csdn.net/myarrow/article/details/42709113

1. Introduction 1.1 Terraincomposer (TC)

A unity extension tool that can be used to create AAA-quality unity terrain.

1.2 Worldcomposer

is the Unity3d extension tool to extract data from the real world. It can be run alone or as an extension of terraincomposer.

Worldcomposer has a unique shadow removal tool. Satellite imagery (which uses a Microsoft satellite map because Google satellite maps has a logo, and it does not) always has a shadow, if you use a satellite image directly in a game or simulator, to match this shadow, you need to put the sun in a fixed position. Worldcomposer's shadow deletion algorithm makes the effect look better and allows for day and night cycles.

Worldcomposer provides scrolling and zooming capabilities like Google Maps, you can create multiple areas, each showing a few kilometres of real world. Satellite images can be exported to zoom level 19, with a resolution of 0.3 meters per pixel. Elevation data can be exported to zoom level 14, which is 10 meters per pixel resolution.
Worldcomposer only outputs altitude maps (elevation heightmaps) and satellite imagery (satellite images), which allows you to create terrain that looks like the real world.
When used in combination with Terraincomposer, you can mix/modify height plots, or add perlin noise to enhance detail, such as mixing satellite images with image textures, increasing cloud shadows, and more. You can also place trees, grasses, and objects on top to make unlimited adjustments and edits.

1.3 RTP Relief Terrain Pack

Mostly with terrain composer to set the terrain's texture (the best terrain Shader in Unity)

1.4 Ufs Flight Simulation Engine Forum

It is used to simulate air combat games or flight effects.

2. Basic Concepts

2.1 heightmap (height map)

Usually the heightmap height map is stored as gray scale image, which is often said to be grayscale. The more white the point is higher, pure black represents the lowest point, and the plain point represents the highest. 8-bit grayscale graphs have 256 orders. 16-bit grayscale graphs have 65536 orders. If the accuracy is still not enough (for example, to draw a large scene), then you can use the standard RGB bitmap to store the height map, then the accuracy is 256 of the 3 square =16777216 order. In the same vein, it can be further upgraded to RGBA.
Heightmap can be drawn with 3D software (Unity's terrain is also available), or Photoshop to draw

The height chart is mainly used in 3 places.

(1) Topographic terrain

(2) Bump Texture Bump Map

(3) Displacement Map Displacement mapping

The Unity3d comes with a terrain editor to draw the terrain. Terrain fluctuations that are height information can be stored with a height map (heightmap). You can either import the raw suffix of the heightmap to generate the terrain, or you can draw a good terrain in unity3d to export the raw suffix heightmap. Heightmap saves a lot of storage space compared to 3D terrain models.

2.2 Baking (Bake)

After the object model is placed in the scene, the engine calculates the light and the light shines on the surface of your object to form reflections and shadows. If not baked, these reflections and shadows are computed in real time by the GPU and the CPU when the game is running. After baking, these reflections and shadows are recorded in the model, becoming a new map, and when running, the GPU and CPU do not need to perform real-time operations on the ambient light effect.

2.3 Shader (Shader)

Shader is a program that runs on the GPU.

Allows programmers to write code to participate in the GPU rendering graphics of the specific process, to create some beautiful special effects and animations and even to make the model strange deformation, the simple point is that it can be interpreted as a display on the screen of a beautification tool.

Writing shader is now well-known for DirectX-based HLSL and OpenGL-based GLSL, and our unity Shaderlab is based on the CG (C for Graphic) language developed together with Nvida and Microsoft, From the name we can know, just a Class C language, if you touch the C language or C + +, or even java,c# that his basic grammar will not be unfamiliar. CG language He is a cross-platform, he can be based on OpenGL can also be DirectX to run, that is, he is working in the upper level of DX and OpenGL abstract language, these three languages in some specific aspects may have performance and extensibility differences, but there is no big difference in the underlying technology.

Unity3d use is not the full CG language, from the official API can be seen shader divided into three major categories:

1) Fixed function shader (fixed render line shader):

It is rarely used, and is generally used to do the default processing, in a fixed mode to deal with the rendering process, but he completely use the Shaderlab syntax allows you to easily modify some parameters, limited functionality, a lot of unity built-in default effect with this shader.

2) Surface Shader (surface Shader):

This shader is the most used in the official unity document, and in many foreign unityshader learning materials are also used to give examples, this shader is actually very similar to the third one, just do not need to write all the fragment shader code, Unity gives you a lot of packages, and if you want to write it yourself, it's the biggest difference from the third one is that the lighting model doesn't determine exactly which light source is out there. You can also not use multiple passes in the same subshader in your surface shader.

3) Vertex and Fragment Shader (vertex and fragment Shader): This kind of Shader is very good and powerful, the vertex shader and fragment shader are completely controlled by ourselves, so that we can maximize the use of what we know, Of course, this kind of shader also need time to study most.

In a shader we mainly participate in rendering by two parts, vertex shader (Vertex) and fragment shader (Fragment), they two participate in different time, vertexshader is in the vertex transformation, The Fragmentshader is then rasterized to the frame buffer to the pixel value that the final calculation completes. In VertexShader we can perform some coordinate transformations or even deformations on the vertex of the model, and we can take some of the necessary actions by calculating and assigning some attributes that are not included by default to the Fragmentshader. And in the fragmentshader we can do a lot of, a lot of light processing is carried out here (of course, in the vertexshader can also be light calculation, but the effect is not very good), but also can do some more complex color transformation and processing.

Unity3d WorldComposer1 satellite map to generate terrain

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.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.