Tutorial:

Using AC3D or Blender to export objects into X-Plane

 

written by: Marko Mamula

Last Updated 02/FEB/2022

This is a simple guide/ tutorial on how to create, texture, and export objects for X-Plane using AC3D or Blender, and import them into X-Plane using Planemaker.

I created this as a side-by-side comparison of the whole process in AC3D and in Blender.

This tutorial will hopefully make it much easier for anyone to transition from AC3D to Blender or the other way around.

 
 

Why I made this tutorial

I have been using AC3D since day 1 of my development years (2013). After finding out that the official exporter for X-Plane 12 by Laminar Research will be developed for Blender only, I am now finally forced to learn how to use it myself.

I now have to go through the tutorials and posts online to figure things for myself, and it’s been pretty challenging. I started documenting the process and I realized that this could be really helpful to many others.

Therefore I decided to create a simple step-by-step guide that I wish already existed. At some point, I will hopefully also make videos that will show describe this process as well.

Let’s start by the simple question that was asked a million times already:

Should you use AC3D or Blender?

I’ll make this very easy for you. If you are just starting and deciding if you should start with AC3D or Blender, DEFINITELY PICK BLENDER.

 
 

AC3D

AC3D is a dinosaur of 3D softwares. It’s been around since 1994, and unfortunately, it seems it has not changed that much since then. 

Over the years it has been mainly used for creating 3D assets (3D models) for flight simulators, most notably X-Plane. But due to this limited use, it hasn’t evolved into a complex software.

Blender

Blender is a free and open-source 3D computer graphics software toolset used for creating animated films, visual effects, art, 3D printed models, motion graphics, interactive 3D applications, virtual reality, and computer games.

I am amazed to see what people are able to do with Blender. So if you need to invest your time to learn a 3D software, learning Blender makes so much more sense since you can use Blender for so many more things in your life. 

However, Blender also has its quirks when creating things for X-Plane, most of which I still need to find though!

 

AC3D Pros:

  • It is very straightforward and quite easy to understand, so it is much easier and quicker to learn and use.

  • As it evolved with X-Plane, everything is set up and created for X-Plane, so there should be no conflicts or issues when exporting.

  • The X-Plane plugin and exporter is very simple, logical and it “just works” 99% of the time.

AC3D Cons:

  • It is a very primitive software that today in 2022 is lacking some very basic functions that most other modern 3D software have, especially in modeling.

  • Starting with X-Plane 12, Laminar Research will develop the export plugin only for Blender. Meaning that new features that may be required for XP12 may not be available in the AC3D exporter for some time, if ever.

  • It is expensive relative to the limited functionalities of the software.

  • Due to its very limited use, there are very few learning materials, tutorials, and videos online for you to learn from.

BLENDER Pros:

  • It’s free

  • The official X-Plane exporter developed by Lamiar Research will be developed only for Blender

  • Much more powerful, you can do many more things than just model and export to X-Plane

BLENDER Cons:

  • Considerably more complicated to learn and use, especially for someone who has never used any 3D software before

  • The workflow to export for X-Plane also seems a lot more complicated for some things that are very simple in AC3D

  • There may be some issues when exporting.

 

TUTORIAL START

what to expect

  • You will use AC3D or Blender to create a 3D cube. You will then export it in the X-Plane OBJ format , so that you can import it to Planemaker and attach it to an aircraft for X-Plane.

  • You will also learn the important steps to make the PBR materials properties (normals, roughness, metallic) appear correctly in X-Plane.

  • I will not be explaining the fundamentals of 3D or how to get started, although the steps will be pretty straightforward so even if you are a beginner you’ll be able to follow.

  • I’d like to recommend this great tutorial on how to start using Blender. I used it and it allowed me to start using Blender after just 1 day. You can get it for free if you sign up for a free one month on Skillshare (just cancel before the first month is over).

  • I will also not be explaining how to create textures. We will use already created textures.

D I S C L A I M E R

I am an aircraft developer, so everything that I will be talking about relates to exporting for airplanes. It may not work the exact same way for sceneries.

I am only now learning Blender, so I am only documenting what worked for me, there may be other/better/simpler ways to do things.

Please let me know if I can improve anything as I would love to optimize my workflow as much as possible!

0. Preparation

Software versions used:

  • AC3D 8.3.30

  • Blender 3.0

Plugins used:

  • X-Plane Plugins for AC3D 3.5b1

  • XPlane2Blender v4.0.0-rc.1

Installing X-Plane plugins

You will need to install the X-Plane plugins for both AC3D and Blender.

  • Here is a link to the AC3D version. I am using the latest version (3.5b1) of the plugin in AC3D 8.3.30 and it works fine, even though it says it should only work in AC3D 8.5+.

  • Here is a link to the Blender version.

DOWNLOAD PROJECT FILES

  1. First, download the project files below, which contain some files you will need.

  2. Unzip the folder onto your desktop (or wherever you want) and leave it there.

 
 

1. Creating a cube

 
 

AC3D

1. Open AC3D

2. Go to File > Save as XCRAFTS_AC3D_TUTORIAL.ac

Tips:

  • Hitting Space while you hover over one of the viewports maximizes that viewport to the full screen.

  • Ctrl+Space toggles the Inspect view (view a clean image, no editing). I use it a lot while looking at things to make sure nothing gets moved in the process.

  • If you have CAPS LOCK on, the keys on your keyboard will have different functions assigned to them!

3. Click on the cube in the Mode section, and then click anywhere in the viewport. This will create a cube.

4. While the cube is selected, click on the Move to button, since the numbers there for X Y and Z are just zeros, it will place the cube directly into the origin.

5. Save your file!

You can check my version XCRAFTS_AC3D_TUTORIAL_CHECKPOINT_1.ac

BLENDER

1. Open Blender

2. Go to File > Save as XCRAFTS_TUTORIAL.blend

3. There will already be a cube in the middle of your viewport. Select it and delete it. Also delete the light and camera in the scene as we won’t need those.

4. To create your own beautifully unique cube, with your mouse in the viewport click SHIFT + A > Mesh > Cube

You should now have a cube in the origin.

5. Let’s scale it down. While the cube is selected, and with the cursor in the viewport, hit N. A properties window is going to show up on the right side. Under Dimensions, change X, Y and Z to 1m.

6. Before we can export this, we need to make sure to “Apply” this scale change. I’m not sure why, but I was told it’s the right thing to do before exporting!

So select the cube, hit CTRL + A, and in the pop-up that will show up, click on “All Transforms

 

2. Creating groups/ collections

In any 3D software, it is essential to organize your objects using the hierarchy. In our case, it will be particularly important because the final exports will depend on it.

When exporting to X-Plane, you will want to divide your objects into sections of the plane that will all share one texture.

For example, the fuselage and all objects related to it will usually all share one texture, let’s call it fuselage.dds. This will also be exported as one obj file, let’s call it FUSELAGE.obj.

The wings could then share another texture of their own, so they need to be exported as a separate obj file. Let’s call the texture wings.dds, and the obj could be called WINGS.obj.

In order to tell the xplane plugins which objects should be exported in which obj file, we need to organize everything into Groups in AC3D or Root Collections in Blender.

 
 

AC3D

Technically, AC3D will export objects even if they are not in groups. But because later on, it makes it much simpler to keep things organized, we will put this cube in a group as well.

AC3D only allows you to group two or more objects, so let’s cheat it a bit, and duplicate our cube in order to have two:

1. Select our cube in the Object Select mode (hit ”o” on your keyboard)

2. Ctrl+C, Ctrl+V > This will create a copy of our cube in the same exact position, so you will still see just one cube because they are over each other.

3. The second cube has automatically been selected, so make sure you are in a move mode (m) and simply drag it out in any direction so that we can see them both.

4. Hit F8 on your keyboard, or Tools > Hierarchy view. This will open the Hierarchy window which lists all your objects. You will see two boxes there.

5. Putting the boxes in groups:

  • Select both boxes by clicking on them in the Hierarchy view and hit CTRL + G. This will put them in a group.

  • You could also click on the Group button on top of the Hierarchy view, but only if you are in Group Select Mode

6. Renaming the group: (this also works for renaming objects!)

Option 1) In the viewport:

  1. Enter the Group Select mode (hit “g” on your keyboard), and then select both boxes either in the viewport or in the hierarchy view.

  2. Once the group is selected, you can rename it in the lower left side panel of AC3D under Object Name.

  3. Here change “group” to Test Cube Group” (or whatever you want).

Option 2) Through the Object Name/Data window

In more complicated setups, you will have groups inside other groups. If you have a group_B inside of group_A, you won’t be able to rename group_B using Option 1), because the Object Name window will always display the first group (parent one) of the hierarchy, so that is why I am mentioning this Option 2) as well.

  1. Right-click on the group in the Hierarchy view > Edit Name/Data.

  2. The Object Name/Data window will appear.

  3. Here change “group” to Test Cube Group(or whatever you want)

7. Now that our cubes are in the group, let’s delete the second one we created. Simply select it in Object Select mode, and hit DEL.

5. Save your file!

You can check my version XCRAFTS_AC3D_TUTORIAL_CHECKPOINT_2.ac

BLENDER

If you look in the outliner, you should see that the cube should already be inside a Collection.

1. Rename the Collection to Test Cube Collection (or whatever you want)

It is not enough for objects to be inside a Collection for them to be exported, it needs to be defined as a Root Collection.

2. Navigate to Scene Properties > X-Plane

3. You will see that there is nothing under the Root Collections, that is because we didn’t define any Collection to be a Root Collection yet.

4. Click on ▶ Other Collections.

5. You will see the Test Cube Collection listed there. Tick the Root Collection

6. This will now move it to the Root Collections section right above, and it will also now mean that our cube will be exported as a separate OBJ.

7. Expand the Root Collection settings by clicking on ▶.

Here is where we will define the name of the final obj file, as well as the textures it will be using.

8. Name: TEST CUBE BLENDER

9. Save your file! You can check my version XCRAFTS_BLENDER_TUTORIAL_CHECKPOINT_1.blend

 

3. How to assign a texture

For simplicity, we will use textures from the default Cessna Skyhawk.

Note: DDS files are image files. In X-Plane you can use either PNG or DDS format, however, DDS is preferred as it has performance advantages. Click here to learn more about the DDS format.

 
 

AC3D

1. Select the cube (make sure the Select mode is on Object)

2. Then click on Object > Texture > Load Texture > navigate to …\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\objects and select fuselage.dds

3. The cube should now look like this:

This is the texture that will also be exported in the final OBJ file.

4. Save your file!

BLENDER

In Blender, things aren’t as simple. Normally you add textures by defining them in a material which is then assigned to your model. However, the xplane2blender plugin will not export these.

Instead, we will have to define the textures on the Root Collection X-Plane settings.

You should still add the textures to the blender material, in order to see them in the Blender viewport. I will go through all of this below.

1. Select the cube

2. Go to Material Properties (of the object, not the world!) and click on + New

3. Rename Material.001 to Fuselage (or anything you want)

Again, adding textures in the next steps is just so that we can see the textures in Blender. But these textures will not be exported to XP!

4. Left mouse button click (LMB ) on the Base Color Yellow Dot > Image Texture

5. Click on Open and open ..\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\objects\fuselage.dds

6. Then change the Viewport Shading to Material Preview. You should now see the texture on the cube.

7. Now, in order to actually tell the xplane2blender plugin what textures to export, we need to define that in the Scene X-Plane properties

8. Under the Textures section, we will define the textures that will be written into the final exported OBJ files.

Important: We do not need to provide a path to the textures, but only the name of the texture file!

9. Open file explorer and go to ..\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\objects

Locate the textures we want to use, Fuselage.dds and write that file name into the Textures sections.

10. Save your file! You can check my version XCRAFTS_BLENDER_TUTORIAL_CHECKPOINT_2.blend

If you open my file and the cube is pink, don’t freak out! It means it can’t find the texture, so simply open the texture file in the shader once again.

 

4. Single-sided polygons

Generally, to improve performance, we want to make sure that we always use one-sided polygons on our objects. Only use double-sided polygons if you really need two-sided polygons (e.g. trees, where both sides are visible all the time.)

 
 

AC3D

Enter the Surface Select mode (s) and select one face of the cube. If we check the info line on the bottom bar, we can see that the last thing it says is “2S”. That means that our polygons are all double-sided.

1. To make your objects single-sided, simply select the whole object, (or all objects) in the Object Select mode

2.click on 1S on the Set Surface Type tab:

3. Save your file! We are ready to export

You can check my version XCRAFTS_AC3D_TUTORIAL_CHECKPOINT_3.ac

If you open my file and the cube does not show the texture, it means it can’t find the texture because your X-Plane may be on a different drive than mine, so simply reselect the texture file once again.

blender

Blender seems to export surfaces as single sided by default, so we don’t have to do anything here.

5. How to export OBJ files for Planemaker/X-Plane

 
 

AC3D

In AC3D, you have to export every single obj individually. You cannot export Fuselage.obj and Wings.obj at the same time.

You will define the name of the final obj file every time you export.

BLENDER

When you export your files, all the Root Collections that are visible in the viewport will be exported.

 

SELECTING WHICH GROUPS GET EXPORTED

In the Hierarchy you can also Hide any object or group by clicking on the eye icon or Lock it by clicking on the lock icon.

Hiding it will hide it, Locking it will show it as a wireframe only and you won’t be able to select it.

Both hiding or locking will prevent this group to be exported.

SELECTING WHICH ROOT COLLECTIONS GET EXPORTED

1. All the visible Collections get exported.1.

2. If you want to prevent a collection from being exported, simply hide them or exclude them from the viewer, by clicking on the Tick or the Eye icons in the hierarchy.

 

EXPORTING FROM AC3D

1. Go to File > Export > X-Plane 8 Object File (.obj)

2. Set the export destination to …\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\objects

3. Set the export name to TEST CUBE AC3D.obj

When you’ll have more groups, make sure that only one group is visible and all the other ones are hidden or locked when exporting.

4. Save your file! You can check my exported OBJ file version TEST CUBE AC3D_EXPORT_1.obj

EXPORTING FROM BLENDER

Option 1)

1. To export, go to File > Export > X-Plane Object (.obj)

2. Set the export destination to …\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\objects

3. No need to change the default export name as the name of the final OBJ has been previously defined in the Scene Root Collection Properties

Option 2)

You could also click on the Export OBJs on top of the Scene X-Plane Properties (where you defined the name and textures), however you cannot save where the OBJs will be exported, it will always be exported exactly where your .blend file has been saved.

9. Save your file! You can check my exported OBJ file version TEST CUBE BLENDER_EXPORT_1.obj

 
 

Examining the exported OBJs

Let’s make sure that the OBJs got exported the right way. This is an important step especially if you are exporting it for the first time. You want to make sure it is exported right, so that you don’t have to wonder why something doesn’t look as it should when you import it in X-Plane.

1. Go to the export folder (…\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\objects) and open the TEST CUBE AC3D.obj / TEST CUBE BLENDER.obj in any text editor. I use and recommend Notepad++.

2. What we want to see is the “TEXTURE fuselage.dds” line, which means this object will load the right texture.

 

AC3D

BLENDER

 

6. Importing the OBJ files into Planemaker

1. Open Planemaker.exe from the X-Plane root folder

2. File > Open > C:\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\Cessna_172SP.acf

3. Go to Standard > Misc Objects

4. On the bottom of the screen, click on Add

5. Scroll all the way down, you will find a new undefined object attached

 
 

6. Click on the little square next to the empty space, go to …\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\objects and select TEST CUBE AC3D.obj or TEST CUBE BLENDER.obj, depending on which software you used.

I added both, just to demonstrate for both cases.

7. Change the location based on the numbers below. AC3D cube is -6m on the Y axis, and Blender cube is +6m on the Y axis.

 
 

8. Close this section and you will immediately see that the cube should now be attached to the plane.

9. File > Save

10. Open X-Plane and load the Cessna Skyhawk on an airport ideally where you do not have any scenery installed so that you will be surrounded by water only, I use PMDY or LPPD. This will increase the speed at which X-Plane will be loading and reloading because you will be doing it a lot.

11. We should now see our cube/cubes attached to the plane. You’ll probably see one based on which software you used.

 
 

7. Using PBR materials in X-Plane

Alongside textures, you also need to assign certain properties to the objects, otherwise, they will not look right. I’ve actually learned a few new things myself while making this tutorial!

Note: For the purpose of this tutorial, I will simply show you what you need to do, not why you need to do it.

I’m not gonna go into details and theory of PBR (Physically Based Rendering) materials because it’s a very complex topic and others have covered it well. So I advise you to read the following articles if you want to understand what you’ll be doing.

7.1 How to enable Normal maps in X-Plane

This is actually pretty straightforward. Once you have the normal texture created, we just need to make sure that the plugins exports the TEXTURE_NORMAL line in the header.

 
Warning

Some people online mention opening the exported file in a text editor and adding this line of text manually.

This is possible, but please do not ever edit the OBJs manually.

This is a wrong workflow, because your changes will get overwritten every time you export. If you have everything set up correctly, you shouldn't ever need to do it.

AC3D

1. Go to X-Plane > X-Plane Export Settings

2. Tick Export TEXTURE_NORMAL lines

If you cant see that setting, you may need to get the latest AC3D X-Plane plugin.

3. The plugin will assign the same name as the main texture + a suffix “_normal.png”. This means that you need to have your normal map textures name end in exactly “normal”, or else it won’t find the texture.

Note: If your main texture is DDS in the DDS format, the header will also write out the TEXTURE NORMAL with the DDS format. However, all normal textures are always in the png format. You don’t have to worry about that though, if X-Plane can’t find the DDS texture, it will use the png texture automatically.

4. The Cessna’s fuselage normal texture is called fuselage_NRM.png. So in order for our object to be able to find it, we need to make a copy of that texture file, and rename it to fuselage_normal.png

Blender

The exporter will automatically write out this line if we define the Normal texture name in the Root Collection > Textures dialog.

We have already defined the fuselage.dds as the color texture in step 3, so now we just need to repeat that with the normal texture.

  1. Open file explorer and go to ..\X-Plane 11\Aircraft\Laminar Research\Cessna 172SP\objects and locate the normal texture we want to use fuselage_NRM.png

  2. Go to the Scene Properties > X-Plane > Root Collections > Textures

  3. In the Normal/Specular field, write fuselage_NRM.png


Let’s check if that worked straight away

  1. Export the cube again

  2. In X-Plane reload the airplane by going to Developer > Reload the current Aircraft and Art (I have this assigned to F11 on my keyboard)

  3. Save your file! You can check my exported OBJ file version TEST CUBE AC3D_EXPORT_2.obj / TEST CUBE BLENDER_EXPORT_2.obj

If you zoom in onto the cubes in X-Plane, they should now show the details of the normal map, like the rivets. If you can’t see them very well, try changing the time of the day to sunset, as the details should react to light change.

And after examining the exported files in a text editor, we should now see the TEXTURE NORMAL line written out in the header as well.

 

AC3D

blender

 
 

7.2 How to make objects shiny/reflective and metallic in X-Plane

In other words, how to make sure the specular and metallic channels are being applied correctly.

First of all, this is after you’ve already created a normal texture that contains the specular map in the alpha channel and the metallic map in it’s blue channel. Read more about that in the links above.

Substance Painter does this automatically when using the X-Plane Export config.

In a nutshell, we want to add two magical lines to the header of the OBJs:

NORMAL_METALNESS 
GLOBAL_specular 1

NORMAL_METALNESS

Adding NORMAL_METALLNESS to the header of the OBJ will enable the rendering of metallic surfaces in X-Plane.

The AC3D plugin always seems to export that line by default.

GLOBAL_specular 1

Adding GLOBAL_specular 1.0 to the header of the OBJ file will make all exported objects 100% shiny (or in other words 0% rough). This can further be adjusted with normal maps that include specular maps in the blue channel.

This is really nicely explained in the first link I shared above.

 
 

AC3D

NORMAL_METALNESS seems to be added automatically using the latest AC3D plugin (3.5b1).

Please correct me if I’m wrong, but I always get that line in the header when I export from AC3D.

There are two ways to add GLOBAL_specular 1 in AC3D:

Option 1) The simple way

(This will require you to have the latest version (3.5b1) of the X-Plane plugin for AC3D)

Steps:

  1. Go to X-Plane > X-Plane Export Settings

  2. In the OBJ file header, write “GLOBAL_specular 1.0

  3. Save your file! You can check my exported OBJ file version TEST CUBE AC3D_EXPORT_3.obj

The “\n” just adds an empty line in the header after our new line.


Option 2) The complicated way

You can use this in case you cannot use the latest plugin for some reason and therefore you cannot automatically add the GLOBAL_specular 1.0 line to the header.

You will have to use AC3D materials, and use them to add specularity on a per-object basis, so you will not see the line in the header, but you will see the same result.

Steps:

1. To check which material is assigned to your objects, go to the Select Surfaces mode (S on the keyboard) and click on one polygon on the object you want to check.

2. When we click on one side of our cube, the info on the bottom bar in AC3D tells us which material is assigned to it:

BLENDER

Both the lines above are added in one single step:

  1. With the cube selected, go to the Material properties

  2. Scroll down to X-Plane

  3. Tick Normal Metalness

  4. Save your file! You can check my exported OBJ file version TEST CUBE BLENDER_EXPORT_3.obj and my version XCRAFTS_BLENDER_TUTORIAL_CHECKPOINT_3.blend

For objects that don't use normal textures, the shininess (ATTR_shiny_rat attribute) is adjusted per material by turning off 'Use Nodes' in the materials tab, and setting 'specular

3. We can see that the index is 1. You can find all the materials in the Palette tab on the bottom of the left side menus:

 

The materials in AC3D don’t really give us many options. The only things that will affect the final look in X-Plane are the Diffuse, Specular and Emission.

4. We can edit the first material, however from experience I found that the default materials often reverse the values to default, so it is better to Append a new material:

  1. Right-click on any of the materials in the Palette and click on Append new material.

  2. Go to the end of the line of materials, and you should now see the 15th material.

  3. Right-click on it again, and click Edit Material

DIFFUSE

Always leave it white. If you made it red, all your textures would turn out to be red too.

EMISSION

Using Emission on the whole object would not be practical so just forget it and always leave it black. Later on, we will use textures to enable LIT effects on the cube.

SPECULAR

In order to see the surfaces shiny in X-Plane, we need to make sure the specular value of the material is 1.0 (full white).

  1. Click on the + next to the Specular and drag all three sliders to the right. This will give the specular channel a global value of 1.0.

 

Note: The “Shininess” only affects the look inside AC3D, it does not affect the final XP look in any way.

I bet that at this point you’d wonder why the hell would anyone use this method when the first one was done in two steps! Well I used to do all of this until today, when I relized that using the AC3D materials is not necessary if the “GLOBAL_specular 1.0” variable is defined. So I learned something today too!

5. Anyway, let’s now make sure this material is actually assigned to our cube and that X-Plane will recognize it:

  1. Select the cube in the Object Select mode

  2. Then simply click on the 15th material in the Palette and it will be assigned to our cube.

  3. On the top bar, go to X-Plane > X-Plane Object Properties

  4. Under Surface: tick Use AC3D Materials.

    Note: If you are using this method, you will have to set this setting for all of your objects! You can select all of your objects, then tick Apply to All on the bottom of the X-Plane Object Properties window and then tick “Use AC3D Materials”. It is good practice to uncheck the Apply to All after doing this so that you don’t forget that it stayed on later.

6. Save your file! You can check my exported OBJ file version TEST CUBE AC3D_EXPORT_4.obj

 
 
 

as usual, Let’s check if that worked

  1. Save your project!

  2. Reexport your cube

  3. Reload aircraft in X-Plane

  4. The cubes should now also be shiny.

It may be a bit harder to see the reflections on a cube because it has only flat surfaces, so you may need to move the camera a bit and change the time of the day to see the effect:

 

AC3D

On the AC3D cube, we can confirm that the part of the texture that covers the tip of the propeller looks reflective and metallic.

BLENDER

On the Blender cube, we can see the reflection of the white stripes on the runway. Similarly, the texture that covers the tip of the propeller looks correct on top of the cube.

 

cheers-true.gif
 

And there you have it, folks!

It took me surprisingly long to finish all of this, but I hope that I delivered on the promise to keep it simple. I realize that this is such a niche topic, but still, even if the audience may be very small, I am hopeful that this will be very valuable to some of you.

I would also like to cover LIT textures and animations, which will probably become part 2 of this tutorial in the future.

If you have any suggestions or questions, please send me a message at the link below.

If you’d like to thank me, you can support us by buying our products!

Good luck developing your add-ons!

Marko

 

And as always, there are 3 carrots hidden in the tutorial. Did you notice them?