Futuristic UI Freebie

I start­ed this lit­tle motion graph­ics project some­time in the 2.78 days, orig­i­nal­ly using Blender Render but the lack of nodes and the view­port per­for­mance made it more com­pli­cat­ed than it had to be. But live in the future now! Eevee and the UI improve­ments over the last few releas­es have made this a lot more fun.

Using app templates to boost productivity

Making video tuto­ri­als? Juggling mul­ti­ple projects? Ever want­ed to switch between dif­fer­ent Blender setups with­out hav­ing to remem­ber what pref­er­ences to flip every time? Application tem­plates allow you to save Blender con­fig­u­ra­tions and eas­i­ly swap between them. This includes dif­fer­ent start­up files, addons and even splash screens. App tem­plates can also run cus­tom Python code

A quick peek at Mirage 3.5

I’ve been work­ing on Mirage 3.5 for a while now and have some neat new fea­tures to show; includ­ing a new move/rotation tool, new ter­rain type, new mod­i­fiers sys­tem, new set­tings for mod­i­fiers, rewrit­ten mod­i­fiers, dis­tri­b­u­tion sys­tem maps and more. This is still heavy work in progress so many things can still change.

Amazing UILists in Blender with Custom Filtering

For this tuto­r­i­al you need to know the basics of mak­ing UI lists with Python in Blender, luck­i­ly some­one has already made a tuto­r­i­al about that! In the last episode we learned how to make a UIList and place it in a pan­el. It even had sort­ing and search­ing for free. So what’s left to do? Build our

Mirage 3.4 is out today!

The time has final­ly come. Mirage 3.4 is out today! The high­light of this release is the new ter­rain engine. It’s been a while, has­n’t it? This has prob­a­bly been the longest time between releas­es, but there’s a good rea­son for the delay! Mirage 3.4 comes with a new ter­rain engine com­plete­ly rewrit­ten in Rust for top-per­­for­­mance. I’ve

Render+ 2.1 is out

It’s release time! Render+ 2.1 is now out. This ver­sion comes with sev­er­al small qual­i­ty of life improve­ments. I’m try­ing to small­er, more fre­quent releas­es mov­ing for­ward. This way you can get bug fix­es and small improve­ments faster instead of wait­ing until I imple­ment some big fea­ture. Let’s look at the changes in this ver­sion Debug

Calculating distances in Blender with Python

In this super quick tip we’ll see how to cal­cu­late the dis­tance between two points. The for­mu­la for Euclidean dis­tance in 3D is the fol­low­ing: There’s at least three ways to do this in Blender. The clas­sic way The ben­e­fit of this snip­pet is that it will always be avail­able. It does­n’t depend on a spe­cif­ic

Getting Property groups as dictionaries

I recent­ly reworked Mirage’s live mode to be more effi­cient. One of the things I want­ed to improve was detect­ing changes in ter­rain set­tings. I fig­ured the best way to do it was get­ting a dic­tio­nary of the set­tings and find­ing what changed in it. So I wrote a lit­tle func­tion to get all the prop­er­ties inside a PropertyGroup as a dic­tio­nary.

This week(s) in Mirage #8

It’s been a while! I’ve final­ly fin­ished the new mate­ri­als. The new mate­ri­als now use image tex­tures instead of pro­ce­du­rals. While pro­ce­du­rals have many ben­e­fits, you get more bang for your buck with images. They bring lots of non-dis­­crete details and vari­a­tion, along with bet­ter per­for­mance in exchange for some flex­i­bil­i­ty. This change was pos­si­ble now