{"id":1225,"date":"2010-03-28T09:59:30","date_gmt":"2010-03-28T07:59:30","guid":{"rendered":"http:\/\/EinleitungIndiesemTutorialm\u00f6chteichdirzeigen,wiedudeinselbstgebautesBrushworkausalsMapobjekt(ASE-Datei)exportierenkannst.DasRotierenundSkalierenvonkomplexemBrushworkkannimRadiantmanchmalzuunerw\u00fcnschtenEffektenu"},"modified":"2020-06-18T10:42:44","modified_gmt":"2020-06-18T08:42:44","slug":"converting-brushwork-from-a-map-into-an-ase-map-object","status":"publish","type":"post","link":"https:\/\/worldofpadman.net\/en\/tutorials\/converting-brushwork-from-a-map-into-an-ase-map-object\/","title":{"rendered":"Converting brushwork from a map into an ASE map object"},"content":{"rendered":"<p>In this tutorial I want to show you how to convert your self-created brushwork from a map file into an ASE file as a map object. But before you start you should make sure that you have installed and configured the Q3Map2 compiler at least version 2.5.16 and the GtkRadiant 1.4 or newer for World of Padman. With older versions, you may encounter errors when using this tutorial.<\/p>\n<h2>Introduction<\/h2>\n<p>Creating an ASE map object from existing brushwork of your map can have some advantages. Rotating and scaling complex brushwork can often lead to unwanted effects and shifts in your construction. Exporting your brushwork as a model in ASE format makes sense, because it can be easily re-imported into Radiant as a map object, which can then be rotated and scaled without restrictions. Another advantage is that an ASE map object references the textures from your map and therefore does not need an extra UV map. It is also a simple text file and can be edited directly in a text editor (e.g. <a href=\"https:\/\/notepad-plus-plus.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Notepad++<\/a>) in order to adapt texture paths that have been changed afterwards. Also in the case that the adjustable grid sizes in the radiant limit you too much, an export can be helpful. Have you ever thought about making your brushwork much bigger and therefore more detailed and then simply inserting it again as a map object scaled much smaller?<\/p>\n<p>Of course, such an ASE map object also has disadvantages. You can only implement the ASE map object using the <em>misc_model<\/em> entity, so it must be included in the BSP of your map. It is not possible to include the ASE Map object via the entity <em>misc_externalmodel<\/em> or via the key <em>model2<\/em> of any <em>func<\/em> entity. In contrast to the MD3 format, ASE map objects are not automatically considered during the light calculation, i.e. they appear very bright in the map later. However, this can easily be corrected afterwards (see last section). So you see, the MD3 format is still justified.<\/p>\n<h2>Preparing brushwork<\/h2>\n<p>To create an ASE map object, you need nothing more than your ready textured brushwork, which you have copied into an empty MAP file. It must have at least one brush with the property <em>structural<\/em>, otherwise no ASE file will be created later. The positioning of the brushwork towards the coordinate origin of the grid in the Radiant is crucial, since this also defines the tag, i.e. the coordinate origin of the ASE map object. Therefore, for example, a table should be positioned centered above the coordinate origin in the grid of the Radiant, while a lamp should be positioned centered below. If you do not center your brushwork correctly before converting, it will not appear centered on the misc_model entity.<\/p>\n<div id=\"attachment_11488\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebrushwork.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11488\" class=\"wp-image-11488 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebrushwork-676x380.jpg\" alt=\"Brushwork with info_player_start and room with caulk texture\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebrushwork-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebrushwork-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebrushwork-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebrushwork-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebrushwork.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-11488\" class=\"wp-caption-text\">Brushwork with info_player_start and room with caulk texture<\/p><\/div>\n<p>Create a room around the brushwork that completely envelops the construction and apply the texture <em>common\/caulk<\/em> to all six brushes of the room. In addition, all surfaces of your brushwork, which cannot be visible later in the game after positioning the map object anyway, should also have the caulk texture. These surfaces will then not be textured and thus unnecessary polygons will be saved. Finally you have to insert the entity <em>info_player_start<\/em> somewhere in the room and save the map under the name of the later map object, e.g. myASEmapobject.map.<\/p>\n<h2>Converting brushwork<\/h2>\n<p>There are several ways to convert your brushwork. But all of them use the same method. You can compile your small map e.g. via the build menu of the Radiant. To do so you have to select the command <em>map2ase<\/em> which we created there for this very purpose.<\/p>\n<div id=\"attachment_11487\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenu.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11487\" class=\"wp-image-11487 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenu-676x380.jpg\" alt=\"Build menu in Radiant with map2ase command\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenu-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenu-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenu-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenu-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenu.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-11487\" class=\"wp-caption-text\">Build menu in Radiant with map2ase command<\/p><\/div>\n<p>Alternatively, you can of course compile without the build menu by creating a batch file (BAT) containing the following commands. This is a simple text file that can also be started directly by double-clicking on it in Windows. It contains the paths to the Q3Map2 compiler and to your map, which of course you have to adapt to your situation. Actually it is two commands that are executed one after the other. First a BSP file is created from the MAP file and second step an ASE file is created from the BSP file.<\/p>\n<pre>&quot;C:\\mypathtoq3map2\\q3map2.exe&quot; -meta -patchmeta &quot;C:\\Program Files\\World of Padman\\wop\\maps\\myASEmapobject.map&quot;\r\n&quot;C:\\mypathtoq3map2\\q3map2.exe&quot; -convert -format ase &quot;C:\\Program Files\\World of Padman\\wop\\maps\\myASEmapobject.bsp&quot;<\/pre>\n<p>As a third possibility you can also use Q3Map2Build for compiling. In a first step, you activate only the <em>-meta -patchmeta<\/em> switches under <em>Options<\/em> in <em>BSP<\/em>, click on <em>Save<\/em> and then on <em>Build<\/em>. You must deactivate all other calculation phases (VIS, LIGHT and BSPC). In a second step you activate again in <em>BSP<\/em> under <em>Options<\/em> only <em>-convert<\/em> and enter the character string <em>ase<\/em> next to it, if it is not already listed there. Then you click <em>Save<\/em> again and then <em>Build<\/em>. Here too, all other calculation phases remain deactivated (VIS, LIGHT and BSPC).<\/p>\n<div id=\"attachment_11492\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2aseq3map2build.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11492\" class=\"wp-image-11492 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2aseq3map2build-676x309.jpg\" alt=\"Q3Map2Build BSP 1st step (left) and BSP 2nd step (right)\" width=\"676\" height=\"309\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2aseq3map2build-676x309.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2aseq3map2build-326x149.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2aseq3map2build.jpg 776w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-11492\" class=\"wp-caption-text\">Q3Map2Build BSP 1st step (left) and BSP 2nd step (right)<\/p><\/div>\n<p>No matter which way you use, after the compilation was finished successfully, you will find the new ASE file in the maps subdirectory of your WoP installation. For the sake of order, create a new directory of your choice, e.g. under <em>models\/mapobjects\/mymapobjects\/<\/em> and move your ASE map object there.<\/p>\n<h2>More detailed patches<\/h2>\n<p>If, in addition to brushes, you have also used patches, i.e. curved surfaces, and if these appear too angular after compiling the ASE model, you can increase the number of subdivisions to be made in your geometry using the parameter <em>subdivisions<\/em> by specifying a value of 0 and greater. The higher the value, the higher the triangulation, but this can affect the performance in the game. So, depending on the size of the patches you use, this is where you should try it out. The parameter can be considered directly in the first BSP step of the BAT file.<\/p>\n<pre>&quot;C:\\mypathtoq3map2\\q3map2.exe&quot; -meta -patchmeta -subdivisions 2 &quot;C:\\Program Files\\World of Padman\\wop\\maps\\myASEmapobject.map&quot;\r\n&quot;C:\\mypathtoq3map2\\q3map2.exe&quot; -convert -format ase &quot;C:\\Program Files\\World of Padman\\wop\\maps\\myASEmapobject.bsp&quot;<\/pre>\n<p>Alternatively you can also configure the map2ase command in the main menu of the Radiant under <em>Build &gt; Customize&#8230;<\/em> yourself. Unfortunately Q3Map2Build does not offer this parameter, at least I haven&#8217;t found it yet.<\/p>\n<div id=\"attachment_11486\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenucustomize.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11486\" class=\"wp-image-11486 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenucustomize-676x380.jpg\" alt=\"Customize the map2ase command in the build menu of the Radiant\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenucustomize-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenucustomize-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenucustomize-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenucustomize-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asebuildmenucustomize.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-11486\" class=\"wp-caption-text\">Customize the map2ase command in the build menu of the Radiant<\/p><\/div>\n<h2>Importing the map object and setting spawnflags<\/h2>\n<p>Now you are able to import your previously converted brushwork as a new map object into your map via the entity <em>misc_model<\/em>. Open the Entity Inspector by pressing the key N and enter as key <em>spawnflags<\/em> with the value <em>4<\/em>. This will cause the Q3Map2 compiler to take the model into account during the LIGHT calculation phase and thus automatically provide it with a light map. If you also want to automatically clip the map object, you have to enter a <em>6<\/em> instead of a <em>4<\/em> for the key <em>spawnflags<\/em>.<\/p>\n<ul>\n<li>spawnflags 2: automatic clipping<\/li>\n<li>spawnflags 4: generate lightmap<\/li>\n<li>spawnflags 6: automatic clipping &amp; generate lightmap<\/li>\n<\/ul>\n<div id=\"attachment_11485\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asespawnflags.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-11485\" class=\"wp-image-11485 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asespawnflags-676x380.jpg\" alt=\"Import of the ASE map object via misc_model and generated lightmap using spawnflags 4\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asespawnflags-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asespawnflags-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asespawnflags-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asespawnflags-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_map2asespawnflags.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-11485\" class=\"wp-caption-text\">Import of the ASE map object via misc_model and generated lightmap using spawnflags 4<\/p><\/div>\n<p>Apart from the restrictions already described in the first section, you can adjust your ASE map object, like any other map object, by scaling and rotating it. For further information, please refer to the tutorial <a href=\"https:\/\/worldofpadman.net\/tutorials\/handling-map-objects\/\">handling map objects<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>In this tutorial I want to show you how to convert your self-created brushwork from a map file into an ASE file as a map object. But before you start you should make sure that you have installed and configured the Q3Map2 compiler at least version 2.5.16 and the GtkRadiant 1.4 or newer for World [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":11488,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[119,19],"tags":[26,51,52,30,27,31,18,124],"class_list":["post-1225","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mapping","category-tutorials","tag-ase","tag-bat","tag-batch","tag-map2ase","tag-mapobject","tag-q3map2build","tag-radiant","tag-windows"],"_links":{"self":[{"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/posts\/1225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/comments?post=1225"}],"version-history":[{"count":10,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/posts\/1225\/revisions"}],"predecessor-version":[{"id":11495,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/posts\/1225\/revisions\/11495"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/media\/11488"}],"wp:attachment":[{"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/media?parent=1225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/categories?post=1225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/tags?post=1225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}