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

. On this page, one of the most advanced developers, Michiel Frankfort, describes how we tackled this for KLM Jets , Papercraft Air-O-Batics.





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

FREE$type=three$author=hide$comment=hide$readmore=hide

$type=carousel$cols=3$count=9

Name

2014 2016 2d concave Collider 3d 3D Interactive Sandbox 3d scanning activations Adcolony admob Alternative app stores alternatives Amazon AMD analytics android angrybirds APK App App Review apple as ASO Assets augmented reality AVPro QuickTime beginner behind the scene BigMiniGolf Bravo Storm Beta bugfix Buy c# camera Cardboard CGTrader China chrome chromebook clash of clans Collaboration collider colors converter companies contest Cpi CrossyRoad DEPENDENCY INJECTION Downloads drawcalls dropbox EA error Error building Player facebookdevelopers facebookUnitySDK Failed flapflap Flappybird flapybird Fog free free post future game Game Companies game design document template Games gamestory GIMP git github GLOBAL GAME JAM 2015 Google Google Daydream Google play store googledevelopers graphics Guides Hacknslash Headless Mode Health Heroku How to Code HowTo Income India indie Indie teams infographics information Intel iOS iPhone Issues javascript jdk installation keyboardshortcuts Language learn Level Eleven license error Linux List madebyunity madewithunity mo mobile mobogenie monetize mouse tricks Must news to know NullReferenceException Object oculus Official open beta open source optimization Paint.net performance permission PKBhaag plugins Pokemon Go polijoy production Profitable programmer Promote Your App psd Publish realsense reddit release render settings reskin Resources Russia scripts SDK SHADERS Similar skybox Slender soomla Source Codes SourceCodes sponsored post Sprites Staff Pick strategies textures Tilt Brush tools tricks Tutorial Unable to find unite 2013 unity Unity 2d Pathfinding unity 2d water Unity AdMob Plugin Unity Forum unity timer unity web player Unity Windows 10 Crash Unity2d unity4.6 unity5 useful apps Version virtal reality Virtual Reality Visual Studio vouchers voxel VR webplyer win windows wordpress
false
ltr
item
Unity 3d Tutorials: KLM JETS: INCREASING VIEWING-DISTANCE WITH NO LOD-ING OR PERFORMANCE-DROP
KLM JETS: INCREASING VIEWING-DISTANCE WITH NO LOD-ING OR PERFORMANCE-DROP
. On this page, one of the most advanced developers, Michiel Frankfort, describes how we tackled this for KLM Jets , Papercraft Air-O-Batics.
http://3.bp.blogspot.com/-ySCDak-k7pg/Vgr36RBd9mI/AAAAAAAACX8/GS8ko-hAIrI/s1600/littlechicken.nl%2BBlogpostAmsterdam-810x506.png
http://3.bp.blogspot.com/-ySCDak-k7pg/Vgr36RBd9mI/AAAAAAAACX8/GS8ko-hAIrI/s72-c/littlechicken.nl%2BBlogpostAmsterdam-810x506.png
Unity 3d Tutorials
http://unity3diy.blogspot.com/2015/09/klm-jets-increasing-viewing-distance.html
http://unity3diy.blogspot.com/
http://unity3diy.blogspot.com/
http://unity3diy.blogspot.com/2015/09/klm-jets-increasing-viewing-distance.html
true
8957287156628097350
UTF-8
Not found any posts VIEW ALL Readmore Reply Cancel reply Delete By Home PAGES POSTS View All RECOMMENDED FOR YOU LABEL ARCHIVE SEARCH ALL POSTS Not found any post match with your request Back Home Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow THIS CONTENT IS PREMIUM Please share to unlock Copy All Code Select All Code All codes were copied to your clipboard Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy