{"id":1443,"date":"2024-01-17T14:42:54","date_gmt":"2024-01-17T14:42:54","guid":{"rendered":"https:\/\/www.katsbits.com\/site\/?p=1443"},"modified":"2024-01-17T14:42:54","modified_gmt":"2024-01-17T14:42:54","slug":"export-ase-models","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/site\/export-ase-models\/","title":{"rendered":"Export ASE Models From Blender 3D"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Initial_scenemodel_set-up\" >Initial scene\/model set-up<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#The_basic_mesh_export_procedure\" >The basic mesh export procedure<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Make_sure_meshes_have_Material_Texture_and_Image_assignments\" >Make sure meshes have Material, Texture and Image assignments<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Make_sure_mesh_objects_have_UVW_maps_applied\" >Make sure mesh objects have UVW maps applied<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Remove_unused_material_assignments\" >Remove unused material assignments<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Collapse_mesh\" >Collapse mesh<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Select_objects\" >Select object(s)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#%E2%80%98Fix_object_position\" >&#8216;Fix&#8217; object position<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Centre_objects_point_of_origin_at_grid_000\" >Centre objects point of origin at grid 0,0,0<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Triangulate_all_mesh_sections\" >Triangulate all mesh sections<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Export\" >Export<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<p>Meshes can be exported from Blender as &#8220;<b>ASE<\/b>&#8221; (&#8220;<b>Ascii Scene Export<\/b>&#8220;) models using an <a title=\"Blender 2.5 ASE export script\" href=\"https:\/\/www.katsbits.com\/site\/tag\/ase\/\" target=\"_self\" rel=\"noopener\">export script<\/a>. The format is supported by a number of mod-able games including Unreal\/UDK, <a href=\"https:\/\/www.katsbits.com\/site\/tag\/idtech\/\">idTech<\/a> et cetera, as well as being an easy-to-use format non-proprietary content can be exported to for general game development usage.<\/p>\n<p>Whilst the actual export process itself is reasonably straightforward, meshes do need ideally need to follow a number of basic rules if they are to load and work correctly in a game or editing environment; exporting a simple cube with a single texture is not quite the same as exporting an actual game ready model with all the complexities of using multiple meshes, materials, textures and UVW maps, something that&#8217;s far more typical of making custom models and content for games.<\/p>\n<blockquote><p><strong>Resources<\/strong>: useful links to accompany the tutorial below;<br \/>\n&#8211; <a title=\"Download Blender ASE export scripts\" href=\"https:\/\/www.katsbits.com\/site\/tag\/ase\/\" target=\"_self\" rel=\"noopener\">Download ASE script<\/a>.<br \/>\n&#8211; <a title=\"Installation instructions for Blender 2.5 ASE export script\" href=\"https:\/\/www.katsbits.com\/community\/index.php?topic=147.0\" target=\"_self\" rel=\"noopener\">Installation ASE export scripts<\/a>.<br \/>\n&#8211; <a title=\"learning Blender 2.5\" href=\"https:\/\/www.katsbits.com\/site\/learning-layout\/\" target=\"_self\" rel=\"noopener\">Learning Blender<\/a><\/p><\/blockquote>\n<p>The following tutorial discusses the main considerations to keep in mind when preparing and exporting ASE models from Blender, as well as <a title=\"Problems exporting ASE models from Blender 2.5\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/\" target=\"_self\" rel=\"noopener\">explaining some of the issues and more advanced concerns<\/a> that need to be observed whilst doing so. <a title=\"Learn the basics of using Blender\" href=\"https:\/\/www.katsbits.com\/site\/learning-layout\/\" target=\"_self\" rel=\"noopener\">A basic understanding of Blender is assumed<\/a>.<\/p>\n<blockquote><p><strong>Design note<\/strong>: the process explained below can also be used to export (static map object) models from Blender 3D to other formats and not just ASE, the principles are generally the same irrespective of model format.<\/p><\/blockquote>\n<p><a id=\"modelsetup\" name=\"modelsetup\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Initial_scenemodel_set-up\"><\/span>Initial scene\/model set-up<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To explain the process of exporting ASE models from Blender properly and in sufficient detail we&#8217;re going to prepare and export the object shown below, a relatively complex rock-walled corridor map-object (previously used in the <a title=\"Setting up and making collision hulls for game models in Blender\" href=\"https:\/\/www.katsbits.com\/site\/collision-models\/\" target=\"_self\" rel=\"noopener\">setting up collision hulls tutorial<\/a>) composed of a number of separate elements &#8211; a &#8220;rock&#8221; section, a &#8220;floor&#8221; section, &#8220;sky&#8221;, &#8220;hull&#8221;, and finally a &#8220;collision&#8221; section. Each individual object has it&#8217;s own individual material, texture image and UVW map applied so there are five separate &#8220;<b>Object<\/b>&#8220;, &#8220;<b>Material<\/b>&#8220;, &#8220;<b>Texture<\/b>&#8221; and &#8220;<b>Image<\/b>&#8221; references being used. This is and should be the initial state from which to export.<\/p>\n<div class=\"content_images\">\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-export-ase\/model-sub-objects.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" title=\"Model componant parts before prepping for ASE export from Blender\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-export-ase\/model-sub-objects_sml.jpg\" alt=\"Model componant parts before prepping for ASE export from Blender 2.5\" width=\"640\" height=\"400\" border=\"0\" \/><\/a><\/p>\n<p>The individual elements that go into the making of a typical game object; each item is a separate &#8216;object&#8217; with it&#8217;s own material and texture.<\/p>\n<\/div>\n<p><a id=\"basicexport\" name=\"basicexport\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_basic_mesh_export_procedure\"><\/span>The basic mesh export procedure<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The actual export process tends to require the following preparatory steps be done before a mesh can be exported from Blender to ASE or any other model format for game use. If not, or if any steps are missed, there is and increased likelihood the model may not exporting, or may export incorrectly. They are;<\/p>\n<ul>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"Make_sure_meshes_have_Material_Texture_and_Image_assignments\"><\/span>Make sure meshes have Material, Texture and Image assignments<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>One of the main sources of problems with ASE and other models exported from Blender. Make sure all objects have <b>at least one Material, Texture and Texture Image assignment.<\/b> <a title=\"Learn about materials in Blender\" href=\"https:\/\/www.katsbits.com\/site\/learning-multiple-materials-textures-images\/\" target=\"_self\" rel=\"noopener\">Learn more about materials<\/a>. [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#multiplematerials\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problemmaterials\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"Make_sure_mesh_objects_have_UVW_maps_applied\"><\/span>Make sure mesh objects have UVW maps applied<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>As with Materials, make sure all objects to be exported have <b>at least one UVW map present<\/b>. <a title=\"Learn about UVW maps in Blender 2.5\" href=\"https:\/\/www.katsbits.com\/site\/learning-unwrapping-uvw-maps\/\" target=\"_self\" rel=\"noopener\">Learn more about UVW maps<\/a>. [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problemuvw\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"Remove_unused_material_assignments\"><\/span>Remove unused material assignments<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Always remove unused or rogue material assignments (this applies for both Blender &#8216;datablocks&#8217; and physical assets). <a title=\"Learn more about adding and removing materials\" href=\"https:\/\/www.katsbits.com\/site\/learning-materials-textures-images\/\" target=\"_self\" rel=\"noopener\">Learn more about removing materials<\/a>. [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#deletematerials\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problemdead\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"Collapse_mesh\"><\/span>Collapse mesh<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Be sure to properly set up object hierarchies relative to there being either a <b>single mesh\/multi-material<\/b> <i><b>or<\/b><\/i> <b>sub-objects\/multiple-materials<\/b>, they are NOT the same. Select all and &#8220;<b>Ctrl+J<\/b>&#8221; to JOIN items together into a single mesh. [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#singleobject\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problemcollapse\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"Select_objects\"><\/span>Select object(s)<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Related to &#8220;<b>Collapse mesh<\/b>&#8221; above, if an object containing &#8216;sub&#8217; objects is required, select all meshes prior to export, making sure that at least one is the &#8216;primary&#8217; object &#8211; DO NOT join meshes together in this instance. [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#subobject\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problemselection\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"%E2%80%98Fix_object_position\"><\/span>&#8216;Fix&#8217; object position<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Make sure to correctly position all objects relative to their intended use. Select and position objects, then use &#8220;<b>Ctrl+A<\/b>&#8221; to fix &#8220;<b>Location<\/b>&#8220;, &#8220;<b>Rotation<\/b>&#8221; and &#8220;<b>Scale<\/b>&#8220;. [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#objectorigin\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problemposition\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"Centre_objects_point_of_origin_at_grid_000\"><\/span>Centre objects point of origin at grid 0,0,0<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Related to the above, be sure to correctly position all objects relative to Blenders grid centre (&#8220;0,0,0&#8221;) and the eventual intended use of the exported object. Select and position objects, position cursor then use &#8220;<b>Shift+Ctrl+Alt+C<\/b>&#8221; to set origin relative to requirements. [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#objectorigin\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problempoo\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"Triangulate_all_mesh_sections\"><\/span>Triangulate all mesh sections<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>For most games, a REQUIREMENT. Meshes should be manually &#8220;<b>tessellated<\/b>&#8221; however. Select meshes individually and use &#8220;<b>Ctrl+T<\/b>&#8221; to triangulate. [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#triangulate\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problemtris\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<li>\n<h4><span class=\"ez-toc-section\" id=\"Export\"><\/span>Export<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Depending on the version or format of used export script, check appropriate parameters; if &#8220;<b>Scale<\/b>&#8221; is present, make sure that &#8220;<b>1:1<\/b>&#8221; (or &#8220;<b>1.000<\/b>&#8220;) means models are exported the same size as they appear in the scene (this will mean using some form of <a title=\"Download sizing templates for Blender\" href=\"\/tools\/\" target=\"_self\" rel=\"noopener\">sizing template<\/a> in Blender). [<a title=\"Read more advanced information on this sub-topic\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/\" target=\"_self\" rel=\"noopener\">advanced<\/a>] [<a title=\"Click here to find out how to fix this problem\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/#problemexport\" target=\"_self\" rel=\"noopener\">problem?<\/a>]<\/li>\n<\/ul>\n<p><a id=\"conclusion\" name=\"conclusion\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>As is typical when exporting any form of content from Blender for use in game development, all manner of issues and problems can occur that are not directly related to Blender or its output. However, so long as the above steps are followed and the technicalities of game production are kept in mind (<a title=\"Read up on the advanced information you need to know when exporting models from Blender 2.5\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/\" target=\"_self\" rel=\"noopener\">read the advanced section for more on this<\/a>) it aught to be relatively straightforward to sort out problems when\/if they do occur; the ASE format, being text based, is quite versatile, often requiring nothing more than an amend in a text editor.<\/p>\n<div class=\"subNav\">[<a title=\"Blender ASE export basics\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models\/\" target=\"_self\" rel=\"noopener\">1: export basics<\/a> | <a title=\"Blender ASE export advanced information\" href=\"https:\/\/www.katsbits.com\/site\/export-ase-models_adv\/\" target=\"_self\" rel=\"noopener\">2: export advanced<\/a> ]<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":1444,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[197,276,277,366,245,271,32,25,239],"class_list":["post-1443","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-ase","tag-blender-2-5x","tag-blender-2-6x","tag-collision","tag-edit-mode","tag-export","tag-assets","tag-materials","tag-uv-editing"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/1443","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/comments?post=1443"}],"version-history":[{"count":6,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/1443\/revisions"}],"predecessor-version":[{"id":1450,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/1443\/revisions\/1450"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media\/1444"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media?parent=1443"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/categories?post=1443"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/tags?post=1443"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}