How do we improve our tools?

I posted somewhat of a lengthy tirade on my blog, and felt like it was a discussion worth continuing here.

The gist was that I feel that too many realtime effects editors are, shall we say, uninspired in their design. No matter if I’m in Unreal, Unity, or a proprietary system, it feels like I’m typing numbers into a spreadsheet and desperately trying to reduce all these fantastical phenomena into neat sets of size/speed/rotation. From a data structure point of view it of course makes sense to have a generalized abstraction of how a particle system should behave, but it frustrates me that our editors and interfaces are equally abstract and generalized.

Looking at offline tools such as Maya, 3ds Max, and Houdini, we see a much larger diversity in approaches to particle systems. How come we don’t see it in realtime?


Just want to bump and I’ll edit+add to this later but I feel the frustration as well in whichever environment I am in for authoring effects. Essentially it is just a UI for making it easier then just writing out what ever shader+system we are using to author. Nodes are nice in the idea of quick modular/procedural creation and flow of operations. But there is a lot of repetitive integration of authoring unless you already have a library available to you and there are of course limitations in the builds+in the system for creation that you are using.
The main issue for me besides the editors is also then educating others.

1 Like

Interesting. You may be on to something. I’m not too sure If I can have much a say about this yet as I’m currently LEARNING (teaching my self) the how-tos in these UI styles you have mentioned. Most of which so far for me has been either node based or spreadsheet based. That said, I do have some observations in mind that have been brought forth from both your post here and your blog post on your site. I hope it can help in this conversation.

First of all lets get this out of the way…


Ok. Now that I have placed the requisite XKCD (“as required by internet law”) we can get to the observations.

For a purely artistic learner, UI is definitely an issue. Why? Because it’s visual, and that trends towards being a common artists play area. I can say with experience from discussions with my then student peers that the Realtime VFX UI can be a determent to anyone but the most driven learner who wants to learn VFX (like… well… me). I agree with you that the design is very technical, and I think part of the reason is because of who is left designing it – strictly programmers.

Story 1:

One time my school tested the idea of teaching Realtime VFX in the Videogame program of the time. Emphases on the ONE. At that time it was decided that the class would be creating assets it in Unity 4. Based off the terms in the blog post, I recall it being spreadsheet based (I haven’t touched Unity 5 – so it might still be). My class were not fans of this interface. Long story short – because it all felt like one big guessing game to them. It didn’t feel intuitive. They could see what was being done, but even with the knowledge of what all the numbers do, couldn’t seem to grasp what would happen when settings mixed. There was no visual impact in the tools. Is 100 strong or weak for this setting? Is .001 strong or weak for this setting? Alot of my class of that time were very very artistic, I know at least one of them is in industry doing stylized characters now, so this group was very much not the group these UI’s are made for. They couldn’t see those connections and got incredibly frustrated. Frustration blocks learning. If it was node based (my currently preferred method of UI) – well at least then you can follow the breadcrumbs line by line. At least it’s visual - if abit… messy on the larger things.

/Story 1

If the method of creation was more… visually tactile, like sculpting – then maybe they wouldn’t have found the current methodology of Realtime VFX so frustrating.

Story 2 (which is a bit of a stretch – but stay with me here):

So it’s late 2015 and PBR is really starting to find it’s mainstream stride. Unreal 4 is my entry point in learning PBR, and my moving away from the spec-gloss methodology. Early on I just couldn’t wrap my head around one particular aspect of the PBR workflow for Unreal 4. In the Roughness, Black was Shiny and White was Matt. Yes on the flip-side for Metalness, Black was Mat and White was Shiny. Aaah!

To the artistic side of my head this was heresy – it made no sense! White should always be shiny. Black should always be mat. Why was there this back and forth? Then one day it hit me like a lighting-bolt :zap: – a programmer made this.

  • 0 is black or off.
  • 1 is white or on.
  • Its it rough? – No? (Black) – Then shiny.
  • Is it metal? – Yes? (White) – Then more shiny.
    Tweak as needed.

/Story 2

So what does all that have to do with this topic? Well, as I said at the top, the people making these systems are programmers not artists. It’s different way of thinking. If I was a betting man, I’d wadger this is why the UI’s are as they are today. It worked in the old days when VFX was a side deal– so it all got adopted.

As Realtime VFX matures more and more as it’s own field I can see this changing, from my lowly student view.

Hows this for a concept? I wonder what it would be like to make VFX with a “Minority Report” VR interface?

/2¢ :grinning:

(Edit: Inverted the XKCD to save your eyeballs from the shock. No need to thank me, VFX citizens! :man_playing_handball:)


100% this - even Unreal engine, which is generally really good for UI/UX, has Cascade which is awful. I never realised how bad it was until i started trying to teach people to use it - In Val for the Time of the Keyframe, PSA Square not greying out the values that are ignored, etc. etc. little things but when you’re new to an engine they really make a difference.


I found In Val so offending we had it change by our engine team years ago to Time.
Same with having a little P icon appear on the module when you have a parametrised distribution.
Small adjustments that added so much readability.

Here is me hoping Epic finishes Niagara at some point and it has slightly more modernised node/inheritance based workflows. Allowing an update to a particle system to be distributed to all its referenced particle systems. Amongst other anticipated and long needed improvements.