{"id":1224,"date":"2010-03-21T21:12:44","date_gmt":"2010-03-21T20:12:44","guid":{"rendered":"http:\/\/EinleitungIndiesemTutorialm\u00f6chteichdirzeigen,wiedufertigeMapobjekte(MD3\/ASE-Dateien)indeineMapeinf\u00fcgenundnachdeinenW\u00fcnschenanpassenkannst.Bevorduaberloslegenkannst,solltestdusicherstellen,dassdudenQ3Map2-Compi"},"modified":"2021-01-12T14:21:17","modified_gmt":"2021-01-12T13:21:17","slug":"handling-map-objects","status":"publish","type":"post","link":"https:\/\/worldofpadman.net\/en\/tutorials\/handling-map-objects\/","title":{"rendered":"Handling map objects"},"content":{"rendered":"<p>In this tutorial I would like to show you how to insert and customize map objects in your map. I will confine myself here to the common formats MD3 and ASE. But before you get started, you should ensure that you have World of Padman installed correctly in the current version. Also the Q3Map2 compiler at least in version 2.5.16 and GtkRadiant 1.4 or later, including NetRadiant 1.5, for World of Padman must be properly installed and configured. With older versions, errors could occur when using this tutorial.<\/p>\n<h2>Insert map objects<\/h2>\n<p>There are two different entities that you can use to insert a map object, <em>misc_model<\/em> and <em>misc_externalmodel<\/em>. Both are accessible via the context menu (right-click) under misc and both need the correct path to a map object, which is normally found in World of Padman in the folder \/models\/mapobjects. The radiant opens automatically a file selection dialog for a misc_model, which you can use to directly select the map object. This is not done with a <em>misc_externalmodel<\/em>. While having the entity selected, you can use the [N] key to bring up the Enities menu window. By specifying model in the Key field, you must assign the path to a map object in the Value field (here: models\/mapobjects\/pad_ddmix\/trashcan\/garbage_bag_group.md3). Confirm the entry with the [ENTER] key. Please note that the path must always be given with a slash instead of a backslash, as is common in Unix systems. For an overview of existing map objects in World of Padman and their paths, see the <a href=\"https:\/\/worldofpadman.net\/tutorials\/catalog-map-objects\/\">catalog: map objects<\/a>.<\/p>\n<div id=\"attachment_5928\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodel.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5928\" class=\"wp-image-5928 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodel-676x380.jpg\" alt=\"Entity misc_model with key model for the path specification\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodel-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodel-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodel-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodel-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodel.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5928\" class=\"wp-caption-text\">Entity misc_model with key model for the path specification<\/p><\/div>\n<h3>misc_model<\/h3>\n<p>Using the entity misc_model during compilation causes the map object to be included as a fixed component in your map. This means that you do not have to add the map object (MD3\/ASE) additionally to the PK3 file of your map, since it is now part of the BSP file. The associated texture, on the other hand, must be part of the PK3 file. If you use map objects from WoP, these are already part of our PK3 files, including the texture and shaders, and you no longer need to include them in your PK3 file. Since the map objects do not occupy much space, we have decided since WoP 1.5 to always include these files in the PK3 files, although this would not be necessary with the <em>misc_model<\/em> method. They are therefore no longer offered as an extra download.<\/p>\n<h3>misc_externalmodel<\/h3>\n<p>Using the <em>misc_externalmodel<\/em> entity causes the map object not to be included in the BSP file during compilation, which allows maximum flexibility. For example, we use this method to make the sprayroom teleporter appear in the maps only in the game modes Spray Your Color and Spray Your Color Team. One drawback is that the GtkRadiant displays a <em>misc_externalmodel<\/em> only as a small orange box and not the map object itself. So to be able to position the map object correctly, there is a little trick. First, insert the map object via an entity <em>misc_model<\/em> and make all the desired settings in the Entities menu window. Then select the entry <em>classname<\/em> and change the value in the Value field from <em>misc_model<\/em> to <em>misc_externalmodel<\/em>. NetRadiant, on the other hand, does not have the problem and always displays the map object with this method, so this is not necessary there. With the method <em>misc_externalmodel<\/em>, the map object itself must be part of the PK3 file as well as the texture. Again, if you are using map objects from WoP, they are already included with texture and shaders in our PK3 files and no longer need to be included in your PK3 file.<\/p>\n<h3>Special feature ASE<\/h3>\n<p>A special feature should be considered when inserting map objects that are in ASE format. In contrast to the MD3 format, map objects in ASE format are not automatically included in the lightmap during the light calculation and always appear very bright in the map. You can prevent this by entering the key <em>spawnflags<\/em> with the value <em>4<\/em> in the Value field in the Entity menu window. The Q3Map2 compiler will then automatically include the ASE map object in the lightmap.<\/p>\n<div id=\"attachment_5937\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag4.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5937\" class=\"wp-image-5937 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag4-676x380.jpg\" alt=\"Entity misc_model with ASE format and key spawnflag 4 for light calculation\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag4-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag4-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag4-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag4-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag4.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5937\" class=\"wp-caption-text\">Entity misc_model with ASE format and key spawnflags 4 for light calculation<\/p><\/div>\n<h2>Rotate map objects<\/h2>\n<p>Previously, rotation options were limited to the z-axis of a map object because you could only use the key <em>angle<\/em>. The Q3Map2 compiler gives you more options for rotation. With the very similar key <em>angles<\/em> you can rotate the map object around all three axes. To do this, you must enter values between 1 and 360 degrees for each individual axis in succession and separated by a space in the Value field. The first value defines the rotation about the X-axis, the second value about the Y-axis and the third value about the Z-axis. Decimal values are always entered with a decimal point and not a decimal comma.<\/p>\n<div id=\"attachment_5926\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangle.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5926\" class=\"wp-image-5926 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangle-676x380.jpg\" alt=\"Entity misc_model with key angle for simple rotation\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangle-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangle-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangle-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangle-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangle.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5926\" class=\"wp-caption-text\">Entity misc_model with key angle for simple rotation<\/p><\/div>\n<p>If you do not fancy the Entity menu window, you can also call the Rotate function by pressing the [R] key when the map object is selected (can also be reached via the toolbar) and rotate the map object directly with the mouse. Alternatively, you can also call up a small input dialog via the main menu <em>Modify<\/em> &gt; <em>Arbitary Rotation<\/em> and enter the values for all three axes directly there. In both methods, the radiant will make the entry of the Keys <em>angles<\/em> with the appropriate values for you.<\/p>\n<div id=\"attachment_5927\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangles.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5927\" class=\"wp-image-5927 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangles-676x380.jpg\" alt=\"Entity misc_model with key angles for a more complex rotation\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangles-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangles-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangles-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangles-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeyangles.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5927\" class=\"wp-caption-text\">Entity misc_model with key angles for a more complex rotation<\/p><\/div>\n<p>Please note that the two keys <em>angle<\/em> and <em>angles<\/em> can not be used simultaneously in the same entity.<\/p>\n<h2>Scale map objects<\/h2>\n<p>Another advantage of using the Q3Map2 compiler is that you can freely scale map objects and no longer have to be in different and appropriate sizes, as they used to. You can use the key <em>modelscale<\/em> to proportionally scale up and scale down a map object. Entering values between 0 and 1 in the Value field causes a reduction by the corresponding factor. Entering values greater than 1 causes an increase by the corresponding factor. Decimal values are always entered with a decimal point and not a decimal comma.<\/p>\n<div id=\"attachment_5929\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscale.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5929\" class=\"wp-image-5929 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscale-676x380.jpg\" alt=\"Entity misc_model with key modelscale for simple scaling\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscale-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscale-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscale-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscale-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscale.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5929\" class=\"wp-caption-text\">Entity misc_model with key modelscale for simple scaling<\/p><\/div>\n<p>Another option is the key <em>modelscale_vec<\/em>, which allows you to individually compress or stretch a map object in each of the three dimensions. To do this, you must enter decimal values for each individual axis in succession and separated by a space in the Value field. The first value defines the scaling along the X-axis, the second value along the Y-axis and the third value along the Z-axis.<\/p>\n<div id=\"attachment_5930\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscalevec.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5930\" class=\"wp-image-5930 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscalevec-676x380.jpg\" alt=\"Entity misc_model with key modelscale_vec for more complex scaling\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscalevec-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscalevec-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscalevec-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscalevec-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelkeymodelscalevec.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5930\" class=\"wp-caption-text\">Entity misc_model with key modelscale_vec for more complex scaling<\/p><\/div>\n<p>Please note that the two keys <em>modelscale<\/em> and <em>modelscale_vec<\/em> may not be used simultaneously in the same entity. The two described scaling methods work only with <em>misc_model<\/em> entity and not with <em>misc_externalmodel<\/em> entity. Also keep in mind that if you scale up too much, the map object texture will stretch too, which sometimes looks bad.<\/p>\n<h2>Clip map objects<\/h2>\n<p>Usually, map objects are permeable to bots, players, and gunfire. So you can easily run or shoot through them if you do not clip them. To effectively clip a map object, just put a few simple brushes in the rough basic shape of the model in the same place so that they completely enclose the map object. Assign to all surfaces of those brushes the texture <em>common\/fullclip<\/em> to block players, bots and gunfire. This method takes a little more time, but is a good way to ensure the performance of the map.<\/p>\n<div id=\"attachment_5925\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfullclip.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5925\" class=\"wp-image-5925 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfullclip-676x380.jpg\" alt=\"Brushwork for clipping a misc_model with the texture fullclip\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfullclip-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfullclip-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfullclip-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfullclip-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfullclip.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5925\" class=\"wp-caption-text\">Brushwork for clipping a misc_model with the texture fullclip<\/p><\/div>\n<p>A second possibility results from the use of the key <em>spawnflags<\/em> with the value <em>2<\/em> in the Value field in the Entities menu window. This causes the Q3Map2 compiler to automatically clip map objects during compilation, without the use of additional clip brushes. This method is very comfortable, but with complex map objects there is a high risk that the performance of the map drops sharply as soon as the map object is shot. For this reason, this should only be done on very simple map objects with few polygons. Otherwise, this method has the same effect and also blocks players, bots and gunfire.<\/p>\n<div id=\"attachment_5938\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag6.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5938\" class=\"wp-image-5938 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag6-676x380.jpg\" alt=\"Entity misc_model with ASE format and key spawnflag 6 for clipping and light calculation\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag6-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag6-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag6-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag6-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsmodelasespawnflag6.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5938\" class=\"wp-caption-text\">Entity misc_model with ASE format and key spawnflags 6 for clipping and light calculation<\/p><\/div>\n<p>Please note that a map object in ASE format may have already received a <em>spawnflags<\/em> with the value <em>4<\/em> for the calculation of the lightmap. In this case you have to add the <em>spawnflags<\/em> with the value <em>2<\/em> for the clipping. So if you want both, lightmap and clipping, you have to enter the key <em>spawnflags<\/em> with a value of <em>6<\/em> in the Value field.<\/p>\n<h2>Move map objects<\/h2>\n<p>To make a map object move in a map, you can use a few functions that are actually meant for brushwork. This usually includes <em>func_bobbing<\/em>, <em>func_button<\/em>, <em>func_pendulum<\/em>, <em>func_plat<\/em>, <em>func_rotating<\/em>, <em>func_train<\/em> etc. What is meant at this point is really just the movement of the position of a map object. In principle, the map objects are also subject to the already mentioned restrictions of the method <em>misc_externalmodel<\/em>, therefore scaling is not possible.<\/p>\n<p>In order to apply this method, you first create at the point where the map object is to appear later, a small brush in the dimensions of, for example, 16 x 16 x 16 units and assign to all its surfaces the texture <em>common\/origin<\/em>. You&#8217;ll need another simple brushwork in the approximate size of the map object to clip it.\u00a0Assign to all surfaces of those brushes the texture <em>common\/fullclip<\/em> to block players, bots and gunfire. To figure out the dimensions of the model, you could temporarily insert it via <em>misc_model<\/em>, but then delete it. Then select the complete brushwork including the origin brush and make it via the context menu (right click) to a <em>func_ *<\/em> of your choice. If the complete <em>func_ *<\/em> is still selected, open the Entities menu window with the [N] key and enter <em>model2<\/em> into the Key field. As a value, you must now enter the path to the map object correctly in the Value field (e.g. models\/mapobjects\/pad_fish\/flame_angel05.md3).<\/p>\n<div id=\"attachment_5936\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfuncbobbingkeymodel2.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5936\" class=\"wp-image-5936 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfuncbobbingkeymodel2-676x380.jpg\" alt=\"Entity func_bobbing with origin brush, fullclip brush and key model2 for path specification\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfuncbobbingkeymodel2-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfuncbobbingkeymodel2-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfuncbobbingkeymodel2-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfuncbobbingkeymodel2-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsfuncbobbingkeymodel2.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5936\" class=\"wp-caption-text\">Entity func_bobbing with origin brush, fullclip brush and key model2 for path specification<\/p><\/div>\n<p>After compiling, the desired map object should now appear and move accordingly. It will always be aligned with the center of the origin brush. If the map object is not in the right place, it may be due to the improper positioning of the model tag itself, which defines the coordinate origin of the map object. In this case you have to move the origin brush in the <em>func_ *<\/em> until its center exactly matches the model tag of the map object. This is usually shown to you in the Radiant if you have selected the map object.<\/p>\n<p>Alternatively, you can omit the origin brush and enter the required coordinates via the key <em>origin<\/em> directly into the <em>func_ *<\/em>. To do this, you must select the <em>func_ *<\/em> and enter the values in units for the three dimensions X, Y and Z one after the other and separated by a space in the Value field in the Entities menu window. These must match the coordinates of the model tag. You can determine the coordinates of the model tag by temporarily inserting the map object via a <em>misc_model<\/em> and aligning it correctly. The entity <em>misc_model<\/em> also has the key origin with the appropriate coordinates, which you can view and copy from the Entities menu window. This is a bit awkward, but surefire. Do not forget to delete the <em>misc_model<\/em> entity again.<\/p>\n<h2>Animated map objects<\/h2>\n<p>Since WoP 1.5 you have the possibility to insert map objects into your map that have an animation. In principle, the map objects are also subject to the already mentioned restrictions of the method <em>misc_externalmodel<\/em> with respect to the rotation. Scaling is not possible.<\/p>\n<p>You can insert the map object into your map in the classic way, but you absolutely have to use the method <em>misc_externalmodel<\/em> described above. There are now three new keys for the entity, which you must define according to the animation contained in the model file.<\/p>\n<ul>\n<li>The key animationStart defines the first frame from which the animation is to be played. Usually the value is 0.<\/li>\n<li>The key animationEnd defines the last frame up to which the animation should be played. Usually the value is greater than 0.<\/li>\n<li>The key animationFPS defines the number of frames to be played per second. Usually the value is 30.<\/li>\n<\/ul>\n<div id=\"attachment_5924\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsexternalmodelkeysanimationstartendfps.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5924\" class=\"wp-image-5924 size-large\" src=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsexternalmodelkeysanimationstartendfps-676x380.jpg\" alt=\"Entity misc_externalmodel with keys animationStart, animationEnd, animationFPS for animation\" width=\"676\" height=\"380\" srcset=\"https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsexternalmodelkeysanimationstartendfps-676x380.jpg 676w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsexternalmodelkeysanimationstartendfps-326x183.jpg 326w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsexternalmodelkeysanimationstartendfps-728x409.jpg 728w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsexternalmodelkeysanimationstartendfps-139x78.jpg 139w, https:\/\/worldofpadman.net\/wp-content\/uploads\/woptut_mapobjectsexternalmodelkeysanimationstartendfps.jpg 1280w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-5924\" class=\"wp-caption-text\">Entity misc_externalmodel with keys animationStart, animationEnd, animationFPS for animation<\/p><\/div>\n<p>The animation generally always starts from the start of the map and is then played continuously in a loop. There is no way to start, stop or otherwise influence the animation via a trigger. It is possible to start the animation in the middle by specifying <em>animationStart<\/em> with a value greater than 0. By specifying <em>animationEnd<\/em> with a value less than the number of existing frames, the animation can be stopped in the middle. Both, however, leads to a nasty jump in the animation. Specifying <em>animationEnd<\/em> with a value greater than the number of existing frames will delay the restart of the animation. During this time, the map object is completely idle. Specifying <em>animationFPS<\/em> with values less than 30 slows down the animation, and specifying values above 30 accelerates the animation. Whether this is somehow useful in your map, I leave to you.<\/p>\n<p>You can get an overview of animated map objects in World of Padman and corresponding path information, keys and values in the <a href=\"https:\/\/worldofpadman.net\/tutorials\/catalog-map-objects\/\">catalog: map objects<\/a> (search for &#8216;animation&#8217;).<\/p>","protected":false},"excerpt":{"rendered":"<p>In this tutorial I would like to show you how to insert and customize map objects in your map. I will confine myself here to the common formats MD3 and ASE. But before you get started, you should ensure that you have World of Padman installed correctly in the current version. Also the Q3Map2 compiler [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":5937,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[119,19],"tags":[26,28,18],"class_list":["post-1224","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mapping","category-tutorials","tag-ase","tag-md3","tag-radiant"],"_links":{"self":[{"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/posts\/1224","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=1224"}],"version-history":[{"count":2,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/posts\/1224\/revisions"}],"predecessor-version":[{"id":12233,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/posts\/1224\/revisions\/12233"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/media\/5937"}],"wp:attachment":[{"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/media?parent=1224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/categories?post=1224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/worldofpadman.net\/en\/wp-json\/wp\/v2\/tags?post=1224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}