Mark has become a staple on Blender Market, his products being downloaded by 1000s of users who call his time saving plugins "pure magic" and consistently rate them 5*. How did Mark get started with Blender and what is his secret to success?
Mark, how did you get started with Blender?
Even though I’m a software engineer by day I’ve always been fascinated by Computer Graphics and 3D Modelling. I used 3D Studio Max for many years but it was becoming too costly to maintain as a hobby. I started to get interested in volumetric rendering and I’d heard that Blender had just introduced this at the time. After a few tutorials I found the user interface a lot more intuitive than I’d been led to believe and decided to switch entirely to Blender for all my 3D projects. Then I discovered the Blender Python API which sped up a lot of my work even more. Then I started writing add-ons and the rest is history.
Is Blender a full time job now, or do you do anything else?
Blender and Blender Market has given me the freedom to work at home more, spend more time with my family, and balance my hours more with the day job. Most of my work so far has been on a relatively modest computer, so I plan to start investing in more computing power to do bigger projects. I’ve also started to build a distributed rendering farm for Blender on Amazon Web Services called Render Runner.
What was the tipping point that made you decide to use Blender professionally and use it to pay the bills?
I was surprised by how well my add-ons were received, I had not anticipated that the things I wanted to automate and make quicker in my workflow were needed by others as well. About 6 months in and after creating the first 4 or so, I decided to take things seriously.
Mark's Plating Generator plugin allows you to quickly create unique hull plating patterns using existing mesh topology.
Do you consider yourself an artist or a developer?
I always strive to be an artist but I think I am more successful at being a developer! I am stunned by some of the work done by artists using Blender and other applications, and very envious of their accomplishments.
A great deal of my add-ons are aimed at speeding up a modeller’s workflow, or anything that I think is time-consuming to accomplish. I am very pleased to combine my love of graphics with my experience in computing to help out others.
How has your success on the Blender Market impacted what you do?
I now spend a lot of time experimenting and thinking of new ideas to try - about 60% of that gets as far Blender Market! Whenever I open up Blender, or try a new tutorial myself, I am thinking about how I could automate things to make life easier.
You’ve created some of Blender Market’s bestselling products, like Curves to Mesh or the Plating Generator. How do you come up with these ideas?
My products are all things that I’ve thought would be useful for my own needs: Curves to Mesh was something I remember thinking of back when I was younger and first getting into computer graphics. I thought it would be a lot easier to model complex surfaces if I could define them as a series of interconnected curves.
This would be my main advice: Do things that interest you or would make your life easier, and chances are others will find it useful too.
The Plating Generator came out from modelling sci-fi ships where I was finding it very time consuming to create the hull plating patterns and details I wanted. This was also true of the Window Generator, Dynamic Jet, Shape Generator and others. The Nebula Generator came after following many tutorials about how to create space effects, but I found the manual process very time consuming.
Mark's Shape Generator plugin lets you quickly create and configure countless random shapes
What do you for promotion and building a relationship with customers?
When I am ready to release an add-on, I use the BlenderNation blog to get the word out. Many people follow the blog, it is very ease to post some news, and Bart is a very approachable guy.
If a user is having a problem with my add-on and they contact me through Blender Market, I always try my best to respond as quickly as I can. I hope this builds up a good customer experience and makes people more likely to buy my add-ons in the future.
How important is social media in promoting your products?
I am very confident that if it wasn’t for Blender Market and their support, my add-ons would not have reached so many people. Coming up with a useful add-on is about 40-50% of the effort, the rest of the time is spent on advertising the fact that I’ve made one.
With Curves-to-Mesh plugin, you can create and configure mesh surfaces from bezier curves. This is ideal for creating accurate machine parts or for organic modeling.
Where do you see Blender heading in the future?
I am very interested in some of the latest advancements in AI and Machine Learning, and how this might apply to computer graphics and gaming. For instance, the video I saw from SIGRAPH 2018 that showed how you could use neural networks to produce realistic animal behaviors was fascinating. Perhaps there are future enhancements in Blender that might make use of this sort of thing, or maybe I’ll do something myself!
I went to the Blender Conference last year and was particularly interested so see some of the novel uses of Blender such as in accident reconstruction and blood flow simulation. I have a background in data visualisation as well and would really like to experiment with this in Blender.
One advancement I’d love to see in Blender is exposing the ability to add your own modifiers. A lot of my add-ons are operators which I think would be very powerful if you could add them to a modifier stack.
Obviously, it will be interesting to see how Eevee changes matters which will allow artists to visualise things in much quicker time.
What mistakes do you see other add-on Creators making?
The main thing I would suggest is to really focus on documentation. It may be tedious, but spending a lot of time on this will reduce the number of enquiries you get.
Harkening back to my earlier advice, concentrate on making the add-on work for you but then imagine you are a user and make it as generally applicable as possible: parameterise everything so that others can make the most use of your product. You’ll be surprised by what others are able to do with your add-on this way.
When starting out I also followed the “How to Submit Amazing Products” guide on Blender Market. It is an incredibly useful guide and won’t take long to read.
Nebula Generator lets you quickly configure a wide range of panoramic background space nebula effects in cycles.
Your favorite Blender plugins at the moment?
I really like the Box Cutter and Hard Ops add-ons by TeamC, and also like the tutorials by Aidy Burrows & Gleb Alexandrov. I really like the idea of DECALmachine by MACHINE3, but I haven’t played with it a lot just yet. It’s finding the time!
How do you see Blender 2.8 changing your add-ons, if at all?
I have already started updating all my add-ons to 2.8, I plan on making them all like-for-like to start with and then seeing what new features might be available in 2.8 to improve them.
Any tips you’d like to share with other Creators for working with the Blender Python API?
Initially, to get started there are some sample scripts built into Blender that are worth trying out and looking through the code. They show you some of the basic building blocks for creating things like operators. You can also drag down the top of Blender to reveal what Python commands are being fired whenever you perform an action in Blender.
My first mistake was to not use the BMesh python module when modifying objects, it is a bit harder to work with at first but is very powerful.
My main friend (well, companion) is the Python API documentation, which I always have open whilst creating an add-on. At times the documentation can be a little light, as with many APIs, but through trial & error and a bit of Googling you can usually work it out. It is somewhere on my to-do list to create some tutorials on the matter.
I would also recommend a good code editor like Atom. Start off in Blender’s own script window by all means, but you’ll soon find the need to split things up into multiple files. If you use Linux, the most rapid way I’ve found to develop is to symlink the python directories with the Blender Add-On directory. That way you can quickly refresh and test the add-ons whenever you make a change.
See all of Mark's plugins in his Blender Market store.