I created a number of custom emitters for Niagara which I have yet to release to the public. (I wish there was a nice way to package up and share custom modules rather than having to share out entire project files.) These frames are illustrating the use of a fibonacci (or phyllotactic) sphere emitter which is tailor-made for dandelions…
PopcornFX is a great tool for realtime applications in that it brings to developers a ready-to-integrate particle system which can be used to author sophisticated effects in a nodal/visual style akin to Houdini, ICE etc. I find it much more intuitive than Niagara while easily being as powerful, and it’s integration into After Effects brings those users a level of sophistication with particle effects they simply haven’t had access to before. That said, when I push the limits it understandably can’t chew through the millions of particles Houdini can handle.
For example in PKFX this frost-like propagation effect, which is admittedly computationally expensive, tops out in usefulness at about 50,000 particles. The in-editor framerates are still good (relatively speaking) at 220 ms, comfortable enough for cinematography work in After Effects for example. But when you push the number of particles up beyond that times go up exponentially. By 100k particles (for this particular task, which involves getting neighboring particle information) the editor becomes increasingly likely to crash.
But to be fair this kind of propagation effect is waaay beyond what most realtime engines are engineered to handle. Other effects in PopcornFX can get into the realm of millions of particles without too much trouble, which means those After Effects users have a system which lets them perform most particle effects they are likely to need extremely efficiently… and only need to go to a package like Houdini for the really intensive stuff.
And at the moment these computations are only on the CPU as PKFX is still implementing its GPU support. There is a lot of improvement on the near horizon for these kinds of intensive effects… we may see sph fluids and the like running realtime soon enough.
(It’s also worth mentioning that there is a LOT of room to optimize the effect as built, both with regular settings and as one of the PopcornFX devs points out massive increases in efficiency should be possible by only performing spatial queries on the particles changing values and depositing stable values into a static layer.)
It’s significant that those integrating PopcornFX into realtime tools get a system sophisticated enough that a comparison with Houdini is even possible.
In all, I’m pretty impressed with PKFX and as an effects guy would welcome jobs where it’s integrated into custom pipelines dealing with realtime media even over Niagara and certainly over Unity’s particle system. It is elegant to use without sacrificing power, and it’s universal nature means one day artists might be able to share and use particle assets across multiple engines and custom pipelines.
It’s wrapping up, I’ve added all the bells and whistles – Ambient Occlusion, Depth fading, Image Adjustment, etc. Highlights can now be dialated or eroded. Support for separate outlines of normals. Presets and clean menus. I think this shader is about done.
The shader allows for a pretty broad array of looks, from architectural sketches to classic toon shading. Below is an example of a more painterly rendering.
Here are some presets:
I’m continuing to refine the NonPhotoRealistic (NPR) sketch post-process in Unreal. This is using completely different methods now, I’ve changed the method of convolution edge detection for outlines, and am using world-aligned sketch texturing in the shadow and highlight regions.
The background is also given a custom color and texture. The light source is defined through any number of unreal lights.
There is now support for sketchy highlights and varying line colors, and much better response to light. Ideally the post process would support variation in outline width, although I don’t have a good method for that yet.
There are options to use procedural line, dot and crosshatching for a more comic/newsprint look.
To get a more chalk-like effect with ink outlines I take this post process and combine it with an NPR painterly process which applies brushstrokes on the image in world space. Here’s the result:
I’ve released 25 terrain/landscape maps for the unreal marketplace. These are intended to act as starting points for environmental projects, hopefully people will find them useful. All heightmaps are of course made in Houdini, and tend to be several miles across.
The most interesting thing about this project was creating the procedural material in unreal which textures large environments based on criterial like slope, height etc. This project is over 10 gigs of assets!
In all, this was a very fun project, and very rewarding work. I can’t wait to see what people do with these heightmaps.
I did a little job for a studio in Prague recently which consisted of a series of “spell” effects for a RPG. I can’t show any of those effects of course but along the way I made a number of other interesting little Niagara effects, here are a few:
The images below are a mixed bag, design wise. But they were fun to make. Oddly the brief was to make effects which were baked down into spritesheets, for a mobile release. It was strange, but it did allow me to up some particle counts and rely less on billboards in Niagara. I’m not sure I like the look but it was nice to be able to explore Niagara in this way.
Just a quick test scene in Unreal. It has no home, so I decided to let it live here. The camera gear was modelled by me years ago for the Sketchup Film and Stage release, I was really gratified to discover that all of those models I made are still in use and part of the collection of .skp files at 3D Warehouse.