Skip to main content

KLM JETS: INCREASING VIEWING-DISTANCE WITH NO LOD-ING OR PERFORMANCE-DROP





Continuously generated levels  are not completely an unusual  technology to construct today. Nevertheless, possessing a brilliant globe, with a lot of moving objects and complete customized amount layout that also has to run on low-end mobile phones, frequently demonstrates more difficult than at first expected. On this page, one of the most advanced developers, Michiel Frankfort, describes how we tackled this for KLM Jets , Papercraft Air-O-Batics.



This is what they done!


[RequireComponent(typeof(Camera))]
public class LowResFrustumExtension : MonoBehaviour {
Awake() {
On awake we create one or multiple camera’s nested as a child into this gameobject. We then inherit all the settings found on the parent-camera component. For each camera, we assign a target RenderTexture (RT), with decreased resolution.
Thanks to the custom projection-matrix, we are able to go with anamorphic (non square) pixels, allowing us to scale down the ‘width’ by a factor of 2 and the ‘height’ by a factor 4. After rendering, the target-texture will appear ‘skewed’ but by blitting the RT back to full screen, it stretches back into place. We do not scale down with a square ratio,because this reduces tearing. There are a lot of vertical lines that will start to jitter when the ‘width’ is scaled down to a factor of 4, but for the (relative stable) horizontal lines, this looks okay.
Each camera and its target RT represents a ‘RenderLayer’. Each layer renders a certain area of the total render-distance. For example, this is one of the setups we used for Jets:
MainCamera (full-res)  0.1 to 25
First RenderLayer (half-res) 25 to 55
Second RenderLayer (third-res) 55 to 75
The RenderLayers need to be rendered in a ‘far-to-near’ order, so the camera’s depth equals the parent camera’s depth, minus its own RenderLayer index.
}

Update() {
On update we loop through all the RenderLayers and update the custom projection-matrix accordingly. Each layer should extend its parent main camera, therefore some values need to be inherited in each frame, such as fov, culling-mask, etc.
}

OnPreRender() {
This ‘OnPreRender’ is fired when the parent/main camera is about to be rendered. At this point, due to lower camera-depth, all the children RenderLayers are already done rendering. This means that there is a stack of RenderTextures available and ready to be ‘blitted’ to the final RT or screen.
So we first make sure the screen is targeted as its final render-target, then we loop through all RenderLayers and blit its RT to the screen.
}
}

KLM Jets papercraft air-o-batics


read original article here
http://www.littlechicken.nl/en/coding-en/klm-jets-doubling-viewing-distance-without-lod-ing-or-performance-drop/



MORE TO SEE:

The Basic Concept behind This Mind-Blowing 3D Interactive Sandbox

New Unity 2d Tools You Can Get Its Early Access







Comments

Popular posts from this blog

Free Unity Game Assets -The 54 Best Websites To Download

When it comes to  Free Unity Assets,  Every indie game developer loves to hear about Websites To Download Game Assets like 3d models, Textures, Shaders, complete source etc. On various sites, you can buy your own assets like 3d models, package etc. Here we are giving you same amazing websites to download Free assets, Textures, Sounds, 3Dmodels and more,   Some websites have both free and paid you just need to do advance search for free only. WOW  BEST VR ROLLER COASTER Free Unity Assets Below are 6 must have pro and free unity assets 1.UMA – Unity Multipurpose Avatar The UMA framework is the new way to do customizable characters. Regardless if you need an npc, a hero or a villain this pack is for you! With the UMA Humanoid DNA system you got 46 tweakable values to adjust anything from height to ear rotation, giving you virtually infinite amount of customization options.  download 2.Unity-chan! model The cute 3D model gir

Unity 2d Water fluid system, How to make it?

When I was searching to make unity 2d water fluid system and unity 2d water effect I got lots of threads on forums, blogs and everywhere. I found some good techniques and plugin that I want to share today. Today I am not giving you right answer but telling some methods and plugins you can use and tutorials you can follow to get unity 2d Water fluid system in you 2d or even 3d projects. There are many other ways like Metaballs   but metaballs are for 3d one solution is also available to make it 2d ,  and a game by PixelJunk called Shooter they use some trick and also described at GDC2010 Presentation  (PDF) unity 2d water Fluvio Plugin Test First I love to show this plugin called fluvio. I get it from asset-store what fluvio said about their plugin. "Fluvio is a solution for real-time 2D/3D fluid physics. It is fully integrated with the editor and compatible with desktop, web player and mobile platforms. Fluvio can simulate both liquids and gasses, with a custo

[SOLVED] Your Android setup is not correct. See Settings in Facebook menu

Your Android setup is not correct. See Settings in Facebook  menu.UnityEditor.HostView:OnGUI() The simple way to solve this error is installing OpenSSL. 1 - Download the OpenSSL installer (the x64 full package) here : http://slproweb.com/products/Win32OpenSSL.html (link to the file : http://slproweb.com/download/Win64OpenSSL-1_0_1f.exe ) If you are on older version of JavaSDK please update it. 2 - Download the lastest x64 JavaSDK here ( http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html).  And are you using latest facebook SDK for desired unity version? 3 - Take a look here : https://developers.facebook.com/docs/unity/downloads/?campaign_id=282184128580929&placement=SDK_list Must See: Optimizing Mobile Games in Unity Now you have everything ready to solve this error! Install OpenSSL on C:/ and open it  And add its Environment Variables in windows Path. Go to "Control Panel > System > Advanced system settings