{"id":3739,"date":"2020-10-02T08:55:15","date_gmt":"2020-10-02T15:55:15","guid":{"rendered":"https:\/\/wallskors.com\/gamedev\/?p=3739"},"modified":"2020-10-02T08:55:15","modified_gmt":"2020-10-02T15:55:15","slug":"25-unreal-engine-tips","status":"publish","type":"post","link":"https:\/\/wallskors.com\/gamedev\/uncategorized-fr\/25-unreal-engine-tips\/","title":{"rendered":"25 Unreal Engine Tips"},"content":{"rendered":"<h2 id=\"01-importing-textures-into-unreal-4\"><span style=\"font-size: 23px; font-family: 'andale mono', monospace;\">01. Importing textures into Unreal 4<\/span><\/h2>\n<div class=\"slot-double-height-image-0\">\n<figure data-bordeaux-image-check=\"\"><figcaption><em><span class=\"caption-text\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3525 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture-300x169.png\" alt=\"\" width=\"389\" height=\"219\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture-768x433.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture-600x338.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture.png 903w\" sizes=\"(max-width: 389px) 100vw, 389px\" \/><br \/>\nTextures can be imported in a matter of clicks<\/span><\/em><\/figcaption><\/figure>\n<p>You can import textures via the Import button in the Content Browser. Unreal 4 supports a large variety of texture formats, from .tgas and .pngs to .psds and .jpgs. One important tip is to make sure normal maps are compressed as TC Normalmap to prevent visual errors in engine. Also be aware that if your texture dimensions do not follow the power of two, they won&#8217;t stream or have mipmaps.<\/p>\n<\/div>\n<h2 id=\"02-save-memory-channel-pack-textures\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">02. Save memory: Channel-pack textures0<\/span><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3528 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture2-300x169.png\" alt=\"\" width=\"376\" height=\"212\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture2-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture2-768x432.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture2-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture2-600x337.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture2.png 904w\" sizes=\"(max-width: 376px) 100vw, 376px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em>Unreal 4&#8217;s high degree of control sets it apart from the competition<\/em><\/figcaption><\/figure>\n<p>One of the fantastic things about Unreal is the large amount of control you get to have by creating your own materials. When you&#8217;re creating multiple black and white masks for textures like roughness or transmission, you are able to save memory by hiding each mask into an individual channel of a texture image and then accessing each channel of that texture separately in your material.<\/p>\n<p>&nbsp;<\/p>\n<h2 id=\"03-physically-based-rendering\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">03. Physically-based rendering<\/span><\/h2>\n<div class=\"slot-double-height-image-2\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-3529 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture3-300x169.png\" alt=\"\" width=\"378\" height=\"213\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture3-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture3-768x432.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture3-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture3-600x338.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture3.png 903w\" sizes=\"(max-width: 378px) 100vw, 378px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em>Unreal 4 leads the way for physically based rendering<\/em><\/figcaption><\/figure>\n<p>With the dawn of new rendering capabilities in new engines like Unreal\u2028 4, there has come the widely praised adaptation of physically-based rendering. This should definitely be worked with rather than against. Learning how \u2028to accurately represent the physical properties of materials with roughness and metalness masks can seem like a change from the way game engines worked last generation but can help keep materials consistent and believable across multiple lighting environments.<\/p>\n<\/div>\n<h2 id=\"04-texture-reuse\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">04. Texture reuse<\/span><\/h2>\n<div class=\"slot-double-height-image-3\">\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><span class=\"caption-text\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-3534 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture4-300x168.png\" alt=\"\" width=\"382\" height=\"214\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture4-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture4-768x431.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture4-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture4-600x337.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture4.png 901w\" sizes=\"(max-width: 382px) 100vw, 382px\" \/><\/span><\/span><em>Texture reuse helps to save on memory<\/em><\/figcaption><\/figure>\n<p>Another fantastic element of Unreal 4&#8217;s Material Editor is that it allows for very intelligent texture reuse. This can not only save you memory, but also time. Sometimes a red channel from a rock albedo texture can make a great overlay for a roughness texture. A tiling cloud render texture from Photoshop could be useful for adding variation to a brick, but also to blend in a detail texture for some concrete. The possibilities are endless.<\/p>\n<\/div>\n<h2 id=\"05-don-t-make-unnecessary-textures\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">05. Don&#8217;t make unnecessary textures<\/span><\/h2>\n<div class=\"slot-double-height-image-4\">\n<figure data-bordeaux-image-check=\"\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-3531 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture5-300x169.png\" alt=\"\" width=\"380\" height=\"214\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture5-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture5-768x433.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture5-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture5-600x338.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture5.png 900w\" sizes=\"(max-width: 380px) 100vw, 380px\" \/><figcaption><span class=\"caption-text\"><br \/>\n<em>Cutting down on textures can also spare your memory<\/em><\/span><\/figcaption><\/figure>\n<p>Occasionally certain textures are \u2028not needed and can be left out to save memory. For 100 per cent non-metal materials like wood or dirt, a metalness texture can be substituted in the Material Editor for a simple float constant with a value of 0. The same idea can be applied for multiple versions of the same material. Three slightly different colored bricks don&#8217;t all need different normal\u2028maps, but could share one.<\/p>\n<\/div>\n<h2 id=\"06-building-a-core-material-set\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">06. Building a core material set<\/span><\/h2>\n<div class=\"slot-double-height-image-5\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3532 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture6-300x169.png\" alt=\"\" width=\"380\" height=\"214\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture6-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture6-768x433.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture6-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture6-600x338.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture6.png 898w\" sizes=\"(max-width: 380px) 100vw, 380px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><br \/>\n<em>Large collections of materials can be made by instancing a smaller set of base materials<\/em><\/span><\/figcaption><\/figure>\n<p>One way to save considerable time and work is by creating a basic set of materials that can be instanced out for different objects. When I start projects I create a base material for each type\u2028of object I&#8217;ll need. For example, if I was making a nature scene I would want base materials for terrain, props and foliage. There will always be outliers but it helps with the bulk of the process.<\/p>\n<\/div>\n<h2 id=\"07-iterating-through-material-instances\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">07. Iterating through material instances<\/span><\/h2>\n<div class=\"slot-double-height-image-6\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-3536 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture7-300x168.png\" alt=\"\" width=\"391\" height=\"219\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture7-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture7-768x431.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture7-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture7-600x337.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture7.png 905w\" sizes=\"(max-width: 391px) 100vw, 391px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em>These can be used to create a wide variation all from one base material<\/em><\/figcaption><\/figure>\n<p>A great feature of a Material Instance of a base material is its ability to parameterize values that can be changed in real time. You can use these changes to rapidly test out many different values without having to recompile a material. Whenever I have a complicated material I always have a test material instance on the side. I use the test material instance to lock in more realistic base values for the final material.<\/p>\n<\/div>\n<h2 id=\"08-material-comments-and-organisation\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">08. Material comments and organisation<\/span><\/h2>\n<div class=\"slot-double-height-image-7\">\n<figure data-bordeaux-image-check=\"\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-3537 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture8-300x169.png\" alt=\"\" width=\"392\" height=\"221\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture8-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture8-768x433.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture8-70x40.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture8-600x339.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture8.png 902w\" sizes=\"(max-width: 392px) 100vw, 392px\" \/><figcaption><span class=\"caption-text\"><br \/>\n<em>Basic text descriptions can accompany nodes<\/em><\/span><\/figcaption><\/figure>\n<p>For very complex materials Unreal 4 brings some very welcome organisational tools to help. Selecting a group of nodes and pressing <strong>C<\/strong> puts those nodes into a comment, which can then be moved as a group and color coded. The comments (and individual nodes) can have basic text explanations added to improve readability.<\/p>\n<\/div>\n<h2 id=\"09-material-functions\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">09. Material functions<\/span><\/h2>\n<div class=\"slot-double-height-image-8\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3538 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture9-300x168.png\" alt=\"\" width=\"389\" height=\"218\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture9-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture9-768x431.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture9-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture9-600x337.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture9.png 904w\" sizes=\"(max-width: 389px) 100vw, 389px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em><span class=\"caption-text\"><br \/>\nMaterial functions can perform repeat actions<\/span><\/em><\/figcaption><\/figure>\n<p>Material functions can be thought of in the same way real functions work in code \u2013 repeatable operations that can be called multiple times to perform a specific set of instructions. They are made outside of a material in the Content Browser, but can then be called on their own to help simplify materials. They can contain their own set of inputs and can be a fantastic way to save time when repeatable operations need to be called.<\/p>\n<\/div>\n<h2 id=\"10-foliage-materials\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">10. Foliage materials<\/span><\/h2>\n<div class=\"slot-double-height-image-9\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3539 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture10-300x168.png\" alt=\"\" width=\"398\" height=\"223\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture10-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture10-768x430.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture10-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture10-600x336.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture10.png 902w\" sizes=\"(max-width: 398px) 100vw, 398px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em><span class=\"caption-text\"><br \/>\nFoliage Shading Models make creating foliage easier<\/span><\/em><\/figcaption><\/figure>\n<p>Foliage can be one of the trickiest things to ensure looks correct in any game engine. As of UE4 version 4.7, a Foliage Shading Model exists to help make that task easier. It is highly recommended as it supports sub-surface transmission, which most leaves benefit from. I also recommend adding sky light to your scene to help balance out some of the darker areas of a foliage mesh that could be in shadow.<\/p>\n<\/div>\n<h2 id=\"11-vertex-colours\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">11. Vertex colours<\/span><\/h2>\n<div class=\"slot-double-height-image-10\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3540 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture11-300x169.png\" alt=\"\" width=\"401\" height=\"226\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture11-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture11-768x432.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture11-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture11-600x338.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture11.png 901w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><\/div>\n<p>&nbsp;<\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em><span class=\"caption-text\">Vertex colors\u00a0are useful for blending tiling textures<\/span><\/em><\/figcaption><\/figure>\n<p>Having access to vertex colors in materials is one of my favorite features in Unreal 4. They can be incredibly powerful when used creatively. From ambient occlusion to masking out wind and world offset for foliage,their versatility is incredible. They&#8217;re particularly useful in blending tiling textures together. Vertex colors can be imported from outside 3D software or imported and painted in editor.<\/p>\n<h2 id=\"12-detail-diffuse-and-normal-overlays\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">12. Detail diffuse and normal overlays<\/span><\/h2>\n<div class=\"slot-double-height-image-11\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3542 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture12-300x168.png\" alt=\"\" width=\"405\" height=\"227\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture12-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture12-768x430.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture12-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture12-600x336.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture12.png 903w\" sizes=\"(max-width: 405px) 100vw, 405px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><br \/>\n<em>Secondary textures increase the material detail<\/em><\/span><\/figcaption><\/figure>\n<p>Because you can customize texture UV tiling rates you can increase the details of a material by blending in\u2028 a secondary set of textures, usually diffuse or normal maps, then tiling them at a higher frequency on top of base textures. Diffuse detail can be applied with various techniques, such as the Overlay Blend Function, while detailed normal maps can be applied by adding the red and green channels to the base as normal.<\/p>\n<\/div>\n<h2 id=\"13-texture-blending-in-materials\"><span style=\"font-size: 23px; font-family: 'andale mono', monospace;\">13. Texture blending in materials<\/span><\/h2>\n<div class=\"slot-double-height-image-12\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3543 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture13-300x168.png\" alt=\"\" width=\"405\" height=\"227\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture13-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture13-768x430.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture13-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture13-600x336.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture13.png 901w\" sizes=\"(max-width: 405px) 100vw, 405px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em>Epic is packed with useful material functions<\/em><\/figcaption><\/figure>\n<p>Want to combine textures in the material editor but only familiar with Photoshop&#8217;s blend modes? Epic has it covered. Along with many useful material functions, they included the majority of blend modes that all Photoshop users are familiar with. From Overlay to Linear Dodge, they can be found in the Palette window inside the Material Editor. They can be particularly great for adding detail and variation to your materials.<\/p>\n<\/div>\n<h2 id=\"14-knowing-your-light-types\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">14. Knowing your light types<\/span><\/h2>\n<div class=\"slot-double-height-image-13\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3544 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture14-300x168.png\" alt=\"\" width=\"409\" height=\"229\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture14-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture14-768x431.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture14-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture14-600x337.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture14.png 902w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em><span class=\"caption-text\"><br \/>\n4 different light types can be used<\/span><\/em><\/figcaption><\/figure>\n<p>Unreal offers four different types of lights to use in the environment: Directional, Point, Spot, and Sky light. Directional lights are great for outdoor areas or any kind of extreme singular light source. Point lights are omni-directional and Spot lights are similar but have their limits defined by a cone. Sky lights can be used to add ambient light to your environment by capturing distant parts of your map. They also support custom Cubemaps.<\/p>\n<\/div>\n<h2 id=\"15-adding-environment-fog-to-your-scene\"><span style=\"font-size: 23px; font-family: 'andale mono', monospace;\">15. Adding environment fog to your scene<\/span><\/h2>\n<div class=\"slot-double-height-image-14\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3545 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture15-300x168.png\" alt=\"\" width=\"407\" height=\"228\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture15-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture15-768x431.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture15-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture15-600x337.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture15.png 901w\" sizes=\"(max-width: 407px) 100vw, 407px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><br \/>\n<em>Unreal 4 provides a fog alternative to particle effects<\/em><\/span><\/figcaption><\/figure>\n<p>While close up fog can always be created with particle effects, Unreal 4 offers two other ways to add fog to your scene. Atmospheric Fog reacts to directional lighting angles and intensity to create fog based on actual scattering of light in the atmosphere. Exponential Height Fog gives a bit more color control and allows you to add a simpler fog effect that becomes less dense in higher parts of the map and denser in lower parts.<\/p>\n<\/div>\n<h2 id=\"16-creating-clever-light-shafts\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">16. Creating clever light shafts<\/span><\/h2>\n<div class=\"slot-double-height-image-15\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3546 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture16-300x169.png\" alt=\"\" width=\"405\" height=\"228\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture16-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture16-768x432.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture16-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture16-600x338.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture16.png 901w\" sizes=\"(max-width: 405px) 100vw, 405px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption>&#8216;god rays&#8217; can be created in a variety of ways<\/figcaption><\/figure>\n<p>Light Shafts or &#8216;god rays&#8217; can be a powerful visual tool and are created by particles in the air being lit by specific light sources. In Unreal 4 they can be created in a few ways. The most common way is by enabling them from the properties of a Directional light. They can also be made using geometry and clever materials. Epic&#8217;s blueprint example project contains a good example of how someone could go about doing this.<\/p>\n<\/div>\n<h2 id=\"17-taking-high-resolution-screenshots\"><span style=\"font-size: 23px; font-family: 'andale mono', monospace;\">17. Taking high-resolution screenshots<\/span><\/h2>\n<div class=\"slot-double-height-image-16\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3547 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture1-300x169.png\" alt=\"\" width=\"405\" height=\"228\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture1-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture1-768x433.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture1-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture1-600x338.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture1.png 903w\" sizes=\"(max-width: 405px) 100vw, 405px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><br \/>\n<em>There are easier ways to take high-resolution screenshots<\/em><\/span><\/figcaption><\/figure>\n<p>While custom resolution videos can be rendered out of Matinee, there is a quick and easy way to take high-resolution screenshots straight from the editor. By clicking the little downward arrow in the top left of your Viewport you can reveal a little drop down menu. At the bottom of that you can open up the High Resolution Screenshot window. From there high-resolution shots can be captured and sent to your project\/saved\/Screenshots folder.<\/p>\n<\/div>\n<h2 id=\"18-colour-correction-and-look-up-tables\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">18. Color correction and look-up tables<\/span><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3548 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture18-300x170.png\" alt=\"\" width=\"406\" height=\"230\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture18-300x170.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture18-768x434.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture18-70x40.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture18-600x339.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture18.png 902w\" sizes=\"(max-width: 406px) 100vw, 406px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><br \/>\n<em>Color look-up tables allow for complex color transformation<\/em><\/span><\/figcaption><\/figure>\n<p>Using post-process volumes, final render colors can be tweaked and adjusted based on artistic preference. While options exist for basic settings like contrast and color tinting, custom color correction can be done using color look-up tables. These tables allow for complex color transformation and can be made with a base file available on Epic&#8217;s Unreal 4 documentation site and Photoshop \u2013 or other image adjusting software suites.<\/p>\n<h2><span style=\"font-size: 23px; font-family: 'andale mono', monospace;\">19. Editing bloom and lens flare<\/span><\/h2>\n<figure data-bordeaux-image-check=\"\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3549 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture19-300x169.png\" alt=\"\" width=\"401\" height=\"226\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture19-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture19-768x433.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture19-70x40.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture19-600x339.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture19.png 900w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><figcaption><em><span class=\"caption-text\"><br \/>\nLens flares can be customized\u00a0to create your desired effect<\/span><\/em><\/figcaption><\/figure>\n<p>Image bloom and lens flares post processing has become popular in games and 3D and can be enabled and customized in UE4 using post-process volumes. Bloom can be highly customized in almost every sense. Size, color, intensity, and threshold can all be tweaked and even be used to mask in dirt textures to mimic dirty lenses. Similarly, image- based lens flares can also be enabled and their shapes and intensity adjusted.<\/p>\n<h2 id=\"20-creating-depth-of-field\"><span style=\"font-size: 23px; font-family: 'andale mono', monospace;\">20. Creating depth of field<\/span><\/h2>\n<div class=\"slot-double-height-image-1\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3550 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture20-300x167.png\" alt=\"\" width=\"415\" height=\"231\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture20-300x167.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture20-768x428.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture20-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture20-600x335.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture20.png 902w\" sizes=\"(max-width: 415px) 100vw, 415px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><br \/>\n<em>Creating depth of field is a delicate process where foliage is concerned<\/em><\/span><\/figcaption><\/figure>\n<p>Unreal 4 supports both Gaussian and custom shaped bokeh depth of field. Both of these options exist within the settings of Post Process Volumes. It should also be noted that while bokeh sprite weighting exists to help with blurring thin objects in front of distant objects and vice versa, problems can sometimes still occur. Care should be taken when applying depth of field to foliage and other similar shots.<\/p>\n<\/div>\n<h2 id=\"21-auto-exposure-and-eye-adaptation\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">21. Auto exposure and eye adaptation<\/span><\/h2>\n<div class=\"slot-double-height-image-2\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3551 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture21-300x168.png\" alt=\"\" width=\"411\" height=\"230\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture21-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture21-768x430.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture21-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture21-600x336.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture21.png 903w\" sizes=\"(max-width: 411px) 100vw, 411px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><br \/>\n<em>Auto exposure mimics real life eye adjustments<\/em><\/span><\/figcaption><\/figure>\n<p>Auto exposure control is on by default and simulates eye adjustment to bright or dark areas. The effect is awesome but can create constantly changing visual variables that are hard to stay consistent within. Adjustments to the exposure range can be made in the settings of post-process volumes and can be disabled by setting the minimum brightness equal to the maximum. Exposure bias can be used to adjust base exposure settings.<\/p>\n<\/div>\n<h2 id=\"22-light-functions\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">22. Light functions<\/span><\/h2>\n<div class=\"slot-double-height-image-3\">\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3552 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture22-300x169.png\" alt=\"\" width=\"422\" height=\"238\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture22-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture22-768x432.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture22-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture22-600x337.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture22.png 902w\" sizes=\"(max-width: 422px) 100vw, 422px\" \/><\/p>\n<figure data-bordeaux-image-check=\"\"><figcaption><em>Light functions can create custom color variations<\/em><\/figcaption><\/figure>\n<p>One fun feature when lighting in Unreal 4 is the support of light function materials. These materials act as masks for the light and can be used to make anything from custom color variation in a light to cloud shadows on the ground. They are made by setting the Material Domain to Light Function in the Material Editor and can be used on spot, point, and directional lights.<\/p>\n<\/div>\n<h2 id=\"23-save-yourself-time-by-copying-and-pasting\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">23. Save yourself time by copying and pasting<\/span><\/h2>\n<div class=\"slot-double-height-0-339\">\n<figure data-bordeaux-image-check=\"\"><figcaption><em><span class=\"caption-text\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-3554 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture23-300x169.png\" alt=\"\" width=\"429\" height=\"242\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture23-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture23-768x432.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture23-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture23-600x337.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture23.png 904w\" sizes=\"(max-width: 429px) 100vw, 429px\" \/><br \/>\nUnreal 4 can copy and paste any object between levels<\/span><\/em><\/figcaption><\/figure>\n<p>One fantastic trick to know about Unreal 4 is that any object in a level can be copied and pasted directly into another level within the same project. It will appear with the same properties and in the same location. What&#8217;s even better is that anything copied from Unreal can be pasted into a text document. That text can then be copied and re-pasted into another Unreal 4 level.<\/p>\n<\/div>\n<p>&nbsp;<\/p>\n<h2 id=\"24-view-modes-and-buffer-visualisations\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">24. View modes and buffer visualizations<\/span><\/h2>\n<div class=\"slot-double-height-image-5\">\n<figure data-bordeaux-image-check=\"\"><figcaption><span class=\"caption-text\"><img decoding=\"async\" loading=\"lazy\" class=\" wp-image-3553 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture24-300x168.png\" alt=\"\" width=\"434\" height=\"243\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture24-300x168.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture24-768x430.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture24-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture24-600x336.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture24.png 903w\" sizes=\"(max-width: 434px) 100vw, 434px\" \/><br \/>\n<em>Toggling between view modes can track level wide ranges of material inputs<\/em><\/span><\/figcaption><\/figure>\n<p>Knowing what makes up your image is an integral part of working in any 3D engine and working in a deferred renderer like UE4 allows for some useful view modes. Pressing\u00a0<strong>Alt<\/strong>\u00a0and\u00a0<strong>1-8<\/strong>\u00a0switches between various view modes like Unlit or lighting only but if you click on the View Mode button in the Viewport you can view individual buffers. This can be useful for seeing level wide ranges of material inputs, like roughness.<\/p>\n<h2 id=\"25-performance-tips\"><span style=\"font-family: 'andale mono', monospace; font-size: 23px;\">25. Performance tips<\/span><\/h2>\n<figure data-bordeaux-image-check=\"\">\n<p class=\"vanilla-image-block\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-3555 alignleft\" src=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture25-300x169.png\" alt=\"\" width=\"442\" height=\"249\" srcset=\"https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture25-300x169.png 300w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture25-768x433.png 768w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture25-70x39.png 70w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture25-600x338.png 600w, https:\/\/wallskors.com\/gamedev\/wp-content\/uploads\/2020\/08\/Capture25.png 901w\" sizes=\"(max-width: 442px) 100vw, 442px\" \/><\/p><figcaption><em><span class=\"caption-text\"><br \/>\nTurning down certain options can speed up workflows<\/span><\/em><\/figcaption><\/figure>\n<p>While Unreal is incredibly powerful, not every workstation is created equally. If you are running into performance problems in-engine, the first place to turn is the Engine Scalability Settings within the Setting button on the Editor Toolbar. Turning down some options like anti-aliasing can really speed things up when working. Another trick is to organize large groups of assets into folders in the world outliner. You can then toggle their visibility to help with performance.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>01. Importing textures into Unreal 4 Textures can be imported in a matter of clicks You can import textures via the Import button in the Content Browser. Unreal 4 supports a large variety of texture formats, from .tgas and .pngs to .psds and .jpgs. One important tip is to make sure normal maps are compressed [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3573,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[93],"tags":[153],"_links":{"self":[{"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/posts\/3739"}],"collection":[{"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/comments?post=3739"}],"version-history":[{"count":1,"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/posts\/3739\/revisions"}],"predecessor-version":[{"id":3753,"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/posts\/3739\/revisions\/3753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/media\/3573"}],"wp:attachment":[{"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/media?parent=3739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/categories?post=3739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wallskors.com\/gamedev\/wp-json\/wp\/v2\/tags?post=3739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}