{"id":1133,"date":"2020-10-01T20:10:11","date_gmt":"2020-10-01T20:10:11","guid":{"rendered":"http:\/\/gim.studio\/?page_id=1133"},"modified":"2020-10-01T20:12:25","modified_gmt":"2020-10-01T20:12:25","slug":"creating-and-using-lods","status":"publish","type":"page","link":"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/","title":{"rendered":"Creating and Using LODs"},"content":{"rendered":"<div id=\"pl-1133\"  class=\"panel-layout\" ><div id=\"pg-1133-0\"  class=\"panel-grid panel-has-style\" ><div class=\"siteorigin-panels-stretch panel-row-style panel-row-style-for-1133-0\" data-stretch-type=\"full-stretched-padded\" ><div id=\"pgc-1133-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1133-0-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"0\" ><div id=\"onas\" class=\"panel-widget-style panel-widget-style-for-1133-0-0-0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<h1>Creating and Using LODs<\/h1>\n<p>Let\u2019s have a deeper look at gFur LODs, how to correctly create them and what are the necessary steps in Unreal Engine. There are two options with LODs which can be used separately or both at the same time. First option is polygon reduction of the \u201cGrow Mesh\u201d which will result in every fur layer using less polygons. The other option is to reduce the number of fur layers for each successive LOD level.<\/p>\n<p>Great thing about the system is that it does not require any more work on \u201cSpline Guides\u201d or \u201cMesh Guides\u201d.<\/p>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div><div id=\"pg-1133-1\"  class=\"panel-grid panel-has-style\" ><div class=\"siteorigin-panels-stretch panel-row-style panel-row-style-for-1133-1\" data-stretch-type=\"full-stretched-padded\" ><div id=\"pgc-1133-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1133-1-0-0\" class=\"so-panel widget widget_sow-accordion panel-first-child panel-last-child\" data-index=\"1\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-accordion so-widget-sow-accordion-default-1b76bb6e6f77-1133\"\n\t\t\t\n\t\t><div>\n\t<div class=\"sow-accordion\">\n\t\t\t<div class=\"sow-accordion-panel\"\n\t\t\t data-anchor=\"creating-lods-for-grow-mesh-in-3d-application\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-creating-lods-for-grow-mesh-in-3d-application\" aria-controls=\"accordion-content-creating-lods-for-grow-mesh-in-3d-application\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tCreating LODs for Grow Mesh in 3D application\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"&#xf218;\"\n\t\t \n\t\taria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"&#xf209;\"\n\t\t \n\t\taria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div\n\t\t\t\tclass=\"sow-accordion-panel-content\"\n\t\t\t\trole=\"region\"\n\t\t\t\taria-labelledby=\"accordion-label-creating-lods-for-grow-mesh-in-3d-application\"\n\t\t\t\tid=\"accordion-content-creating-lods-for-grow-mesh-in-3d-application\"\n\t\t\t\tstyle=\"display: none;\"\t\t\t>\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>The most important requirement for gFur LODs to work correctly is that the optimized meshes can\u2019t move the vertexes of the mesh. The reduction in polygons has to work by removing polygons, edges and vertexes, but new vertexes can\u2019t be created or old vertexes can\u2019t move. Each successive LOD should usually have around 50% of polygons of the previous mesh. As many LODs as necessary can be used, but on the other hand, more LODs take up more memory. So usually, around 4 or even 3 or 2 LODs will do the job.<\/p>\n<p>1. We start by duplicating the original Grow Mesh and remove the skinning.<br \/>\n2. Then we apply optimization modifier, in 3ds Max ProOptimizer works great.<br \/>\n3. For the first LOD we can use around 50% of polygon reduction<br \/>\n4. We then collapse the whole mesh.<br \/>\n5. Using Skin Wrap or similar in other 3D applications we re-skin the LOD using the original mesh as source.<br \/>\n6. Convert the skinning from Skin Wrap to regular Skin.<br \/>\n7. We export the LOD with the skeletal structure to fbx file format, call the mesh something like \u201cRedDeer_GrowMesh_LOD1\u201d.<br \/>\n8. Repeat steps 1-7 as many times as required, using more and more optimizations (keep 25% polygons for LOD #2 and so on).<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\"\n\t\t\t data-anchor=\"using-lod-optimized-meshes-in-unreal-engine\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-using-lod-optimized-meshes-in-unreal-engine\" aria-controls=\"accordion-content-using-lod-optimized-meshes-in-unreal-engine\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tUsing LOD optimized meshes in Unreal Engine\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"&#xf218;\"\n\t\t \n\t\taria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"&#xf209;\"\n\t\t \n\t\taria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div\n\t\t\t\tclass=\"sow-accordion-panel-content\"\n\t\t\t\trole=\"region\"\n\t\t\t\taria-labelledby=\"accordion-label-using-lod-optimized-meshes-in-unreal-engine\"\n\t\t\t\tid=\"accordion-content-using-lod-optimized-meshes-in-unreal-engine\"\n\t\t\t\tstyle=\"display: none;\"\t\t\t>\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t1. In Unreal Engine we import the LODs and use the \u201cRedDeer_Base_Skeleton\u201d as target skeleton.\n2. Next we open the RedDeer_GrowMesh and once again we import and assign the LODs from the fbx file. We could leave out the first step altogether, but this way we will have everything nicely together in the project, ready for experimentation (we could, for example, use the first LOD importend in step 1. directly as a grow mesh).\n<p style=\"padding-left: 40px;\">a. For LOD 0 (main mesh) we can leave \u201cScreen Size\u201d at 0.0\nb. For LOD 1 try 0.75\nc. And for LOD 2 try 0.5 for \u201cScreen Size\u201d\nRemember the values because they will be useful in the next steps<\/p>\n3. Then we setup the fur as usually \u2013 drop the _Base mesh into viewport, add gFur component, assign the _GrowMesh and Spline Guides or Mesh Guides.\n4. Next step would be to setup gFur component to use the LODs of the Grow Mesh for the fur layer generation.\n<p style=\"padding-left: 40px;\">a. In gFur component, \u201cgFur Shell Settings\u201d section add a new LOD and use similar value for \u201cScreen Size\u201d as in 2b., for example 0.75; for LOD set the value to 1 which will use the first LOD of the Grow Mesh\nb. Add as many LODs as needed<\/p>\n5. Now when zooming away from the mesh, at a certain point, both, the Grow Mesh will switch to first LOD and also gFur component will switch fur to be generated from Grow Mesh LOD1. Zooming further away will switch to any more successive LODs\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t<div class=\"sow-accordion-panel\"\n\t\t\t data-anchor=\"using-layershell-removal-for-lods\">\n\t\t\t\t<div class=\"sow-accordion-panel-header-container\" role=\"heading\" aria-level=\"2\">\n\t\t\t\t\t<div class=\"sow-accordion-panel-header\" tabindex=\"0\" role=\"button\" id=\"accordion-label-using-layershell-removal-for-lods\" aria-controls=\"accordion-content-using-layershell-removal-for-lods\" aria-expanded=\"false\">\n\t\t\t\t\t\t<div class=\"sow-accordion-title sow-accordion-title-icon-left\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tUsing layer\/shell removal for LODs\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"sow-accordion-open-close-button\">\n\t\t\t\t\t\t\t<div class=\"sow-accordion-open-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"&#xf218;\"\n\t\t \n\t\taria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"sow-accordion-close-button\">\n\t\t\t\t\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"&#xf209;\"\n\t\t \n\t\taria-hidden=\"true\"><\/span>\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t<div\n\t\t\t\tclass=\"sow-accordion-panel-content\"\n\t\t\t\trole=\"region\"\n\t\t\t\taria-labelledby=\"accordion-label-using-layershell-removal-for-lods\"\n\t\t\t\tid=\"accordion-content-using-layershell-removal-for-lods\"\n\t\t\t\tstyle=\"display: none;\"\t\t\t>\n\t\t\t\t<div class=\"sow-accordion-panel-border\">\n\t\t\t\t\t<p>This optimization is much simpler to setup. It can be used even if we haven\u2019t created LOD meshes for the Grow Mesh. We just add a few LOD levels in the gFur component and for each we setup a lower number of shells or layers to be used along the \u201cScreen Size\u201d at which gFur should start using less layers.<\/p>\n<p>Finally, we combine the \u201cLOD optimized meshes\u201d and \u201cshell removal\u201d for the best optimization.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<\/div>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Creating and Using LODs Let\u2019s have a deeper look at gFur LODs, how to correctly create them and what are the necessary steps in Unreal Engine. There are two options with LODs which can be used separately or both at the same time. First option is polygon reduction of the \u201cGrow Mesh\u201d which will result &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/\"> <span class=\"screen-reader-text\">Creating and Using LODs<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Creating and Using LODs - GiM<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Creating and Using LODs - GiM\" \/>\n<meta property=\"og:description\" content=\"Creating and Using LODs Let\u2019s have a deeper look at gFur LODs, how to correctly create them and what are the necessary steps in Unreal Engine. There are two options with LODs which can be used separately or both at the same time. First option is polygon reduction of the \u201cGrow Mesh\u201d which will result &hellip; Creating and Using LODs Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/\" \/>\n<meta property=\"og:site_name\" content=\"GiM\" \/>\n<meta property=\"article:modified_time\" content=\"2020-10-01T20:12:25+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/\",\"url\":\"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/\",\"name\":\"Creating and Using LODs - GiM\",\"isPartOf\":{\"@id\":\"https:\/\/gim.studio\/animalia\/#website\"},\"datePublished\":\"2020-10-01T20:10:11+00:00\",\"dateModified\":\"2020-10-01T20:12:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/gim.studio\/animalia\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Creating and Using LODs\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/gim.studio\/animalia\/#website\",\"url\":\"https:\/\/gim.studio\/animalia\/\",\"name\":\"GiM\",\"description\":\"Games in Motion\",\"publisher\":{\"@id\":\"https:\/\/gim.studio\/animalia\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/gim.studio\/animalia\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/gim.studio\/animalia\/#organization\",\"name\":\"GiM\",\"url\":\"https:\/\/gim.studio\/animalia\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/gim.studio\/animalia\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/gim.studio\/wp-content\/uploads\/2020\/11\/gim.studio_256.png\",\"contentUrl\":\"https:\/\/gim.studio\/wp-content\/uploads\/2020\/11\/gim.studio_256.png\",\"width\":256,\"height\":256,\"caption\":\"GiM\"},\"image\":{\"@id\":\"https:\/\/gim.studio\/animalia\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Creating and Using LODs - GiM","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/","og_locale":"en_US","og_type":"article","og_title":"Creating and Using LODs - GiM","og_description":"Creating and Using LODs Let\u2019s have a deeper look at gFur LODs, how to correctly create them and what are the necessary steps in Unreal Engine. There are two options with LODs which can be used separately or both at the same time. First option is polygon reduction of the \u201cGrow Mesh\u201d which will result &hellip; Creating and Using LODs Read More &raquo;","og_url":"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/","og_site_name":"GiM","article_modified_time":"2020-10-01T20:12:25+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/","url":"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/","name":"Creating and Using LODs - GiM","isPartOf":{"@id":"https:\/\/gim.studio\/animalia\/#website"},"datePublished":"2020-10-01T20:10:11+00:00","dateModified":"2020-10-01T20:12:25+00:00","breadcrumb":{"@id":"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gim.studio\/animalia\/creating-and-using-lods\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/gim.studio\/animalia\/creating-and-using-lods\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gim.studio\/animalia\/"},{"@type":"ListItem","position":2,"name":"Creating and Using LODs"}]},{"@type":"WebSite","@id":"https:\/\/gim.studio\/animalia\/#website","url":"https:\/\/gim.studio\/animalia\/","name":"GiM","description":"Games in Motion","publisher":{"@id":"https:\/\/gim.studio\/animalia\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gim.studio\/animalia\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/gim.studio\/animalia\/#organization","name":"GiM","url":"https:\/\/gim.studio\/animalia\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gim.studio\/animalia\/#\/schema\/logo\/image\/","url":"https:\/\/gim.studio\/wp-content\/uploads\/2020\/11\/gim.studio_256.png","contentUrl":"https:\/\/gim.studio\/wp-content\/uploads\/2020\/11\/gim.studio_256.png","width":256,"height":256,"caption":"GiM"},"image":{"@id":"https:\/\/gim.studio\/animalia\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/gim.studio\/animalia\/wp-json\/wp\/v2\/pages\/1133"}],"collection":[{"href":"https:\/\/gim.studio\/animalia\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gim.studio\/animalia\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gim.studio\/animalia\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gim.studio\/animalia\/wp-json\/wp\/v2\/comments?post=1133"}],"version-history":[{"count":6,"href":"https:\/\/gim.studio\/animalia\/wp-json\/wp\/v2\/pages\/1133\/revisions"}],"predecessor-version":[{"id":1139,"href":"https:\/\/gim.studio\/animalia\/wp-json\/wp\/v2\/pages\/1133\/revisions\/1139"}],"wp:attachment":[{"href":"https:\/\/gim.studio\/animalia\/wp-json\/wp\/v2\/media?parent=1133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}