Setting up a simple AI Controller in Unreal Engine

Unreal Engine can make pawns to things, like chase down and follow the player. This is known as AI behaviour, for Artificial Intelligence. It works surprisingly well! Here’s how to set it up – in its simplest form. In principle we have to create an AI controller add the AI controller to the pawn define …

Read more

How to implement a Blueprint Interface in Unreal Engine

Interfaces are a C thing. They’re a set of functions that one class can implement so that an action is performed on another class of a potentially different type. Rather than calling a function explicitly on another class, we’re sending a message. If the receiving class knows what to do with it, it’ll react. If …

Read more

Refactoring complex Blueprint Code into Functions and Macros in Unreal Engine

The beauty of Unreal Engine’s node system is that it’s relatively easy to extend your application code visually. At the same time, this can lead to extremely messy code (literally spaghetti code, considering the amount of noodles on the screen). While such code may be working in the heat of the moment, your future self …

Read more

Where does Premiere Pro 2020 store auto save files

Ever since the past Premiere Pro update, my computer likes to reset itself randomly, particularly during rendering. I should have never hit that update button. Note to self: NEVER update software (or hardware) when everything is working well in principle – no matter how many nags you get. With that mishap on my hands, I …

Read more

How to bring back Legacy Shapes in Photoshop

My friends at Adobe have done it again: remove frequently used features from Photoshop and replace them with stuff nobody has ever asked for. Case in point: the terrible default shapes that we’ve had (and disliked) for the last 30 years. I recently made the mistake of updating Photoshop, with the intention of drawing a …

Read more

How to import WebP images into Photoshop

In this episode I’ll show you how to use WebP images in Photoshop. Currently Photoshop (2020) does not have native support for this file format, so we’ll need a plugin made by the developers (Google) to make it happen. It’s aptly titled WebPShop. While the code is open source, it’s not immediately obvious to non-hackers …

Read more

Adding Gamepad Navigation for Menu Selections in Unreal Engine

In this article I’ll explain how to add gamepad and keyboard navigation to UI Widgets in Unreal Engine. To my surprise, gamepad navigation magically works alongside regular mouse navigation, as long as Keyboard Focus is set appropriately on any of our UI elements. We don’t need to add any special logic to our project. All …

Read more

Using an Opacity / Transparency Map in DAZ Studio (Iray)

Transparency is handled differently across render engines and file formats. While a PNG, TIF or GIF file can contain transparency data, a JPG image cannot. DAZ Studio’s Iray render engine can’t handle transparency data embedded in such images and requires the use of a special Opacity or Transparency Map. This might sound a little confusing, …

Read more

How to extract a UV Template in Blender

When you’re done with UV Mapping in Blender, you may need to save out a template of your hard work so that you or someone else in your team can get to work on some fabulous textures. In case you ever need to save out such a UV Template, head over to the UV Editing …

Read more

How to export assets from Unreal Engine

Something that wasn’t immediately obvious to me is that Unreal Engine saves its own file format under the hood. For example, a prop or audio file is not stored as .OBJ or .WAV, but as .UASSET file. Perhaps it’s just a wrapper that stores binary data, or maybe it’s some other kind of magic. Be …

Read more

How to change the colour of a material via Blueprint in Unreal Engine

I’ve just learnt about a nifty mechanism to change parameters on a material node in Unreal Engine. The niftyness lies in the fact that when we convert static values in the material editor into parameters, which then become the equivalent of public variables that are accessible from other parts of UE4. It sounds way scarier than it is, let me show you how it works in detail.

Read more

What is Yaw, Pitch and Roll in 3D axis values

There’s a slightly weird terminology I keep hearing in various 3D applications. Those terms are Yaw, Pitch and Roll. I have trouble remembering which one is which, and which one is related to what axis in 3D space. I’m more used to the Euler notation system, and the only one I can remember is “roll” …

Read more

Adding subtle wind animation effects in Unreal Engine

I’ve always been marvelling at all the little moving background items in video games. Most trees, grass, plants and such foliage appears to move subtly. How do they do that? Perhaps it’s a wind node? Surely that’ll eat up huge amounts of resources.

I just found a computationally cheaper trick to do this, namely by adding this effect to the plant’s material, thanks to a video by MetalGameStudios. It suggests that we can do this in two ways, both of which are described below. In either case, open the material of your object to proceed.

Read more

You can now buy me a Ko-fi

I’ve been on Patreon since May 2018 (I think), and I really like it. It’s a great way to support me and my projects ongoingly, and I’ve been able to invest your donations into anything from software to hardware, as well as coffee – all to improve my output and make the world a happier …

Read more

How to remove dForce from an object in DAZ Studio

I had a question from one of my supporters the other day about how to remove a dForce Modifier from an object, like hair or a dress. Turns our there are two answers to the puzzle, and I thought I’d them both here. Disabling dForce dForce is a surface property, and as such it behaves …

Read more

How to export Keyframe Animations from Unreal Engine

I’ve just figured out how to setup keyframe animations in Unreal Engine, and thought I’d make a note of it before I forget. I made the animation above a little while ago by “poking around”, but it wasn’t as smooth as I liked it to be. I think I’ve found the missing bits now, so here’s how it works. From what I gather, Unreal Engine calls Keyframe Animations “Cinematics”. They’re a little tricky to setup, because the whole engine is built for so much more, but in principle we need to:

  • create a new Level Sequence
  • create a Cinematic Camera
  • add the camera as a Track to the Sequencer
  • create keyframes for/with the camera
  • add a Camera Cut Track
  • export your animation as a video or image series

I’m going to create a camera animation like in the demo above, but any regular mesh object and Actor can be animated, including lights and their properties, so this process is not limited to cameras. However you need at least one camera to render out the sequence, at least that’s my goal here. The process will be different if you’d like to trigger the sequence from within a game, which is not in the scope of this article.

Let’s see how to do this step by step.

Read more

How to use Event Dispatchers in Unreal Engine

Following on from my earlier article about referencing a Blueprint from another Blueprint, Unreal Engine has another interesting way for inter-object communication. Sometimes we need to reference more than one object, say when press a button and want several objects to react, all in their own different way. Imagine pressing a button and a light goes off, a particle effect gets triggered and several enemies get spawned. Event Dispatchers can do that, and here’s how we can use them.

In this example I’ll have a Switch object, and a Lamp object. When we press the switch, it’ll send out a message to which the Lamp (and other objects) can react. Each object can implement the function and execute different code. I’ll only show the abstracted Lamp code here for brevity, from which I’m sure you’ll understand the gist.

Sadly the terminology “dispatcher” is a little confusing. At least to me, it suggests that an event is dispatched (i.e. sent), whereas in reality the dispatcher is actually the listener rather than the sender. Hence the dispatcher needs to be setup on the event that needs to react. A real-world dispatch worker doesn’t work that way (thanks code people for confusing us non-coders).

Read more

How to make an object invisible in Unreal Engine

I’ve recently had to use a helper object in Unreal Engine (a plane), but I didn’t want this object to be seen when the game was running. In a regular 3D application I would have just clicked that little eyeball icon to hide it, but that would temporarily remove the object from my scene in …

Read more

Creating a Moving Platform in Unreal Engine

I’ve made a simple moving platform in Unreal Engine today. This is used in platform games all the time, be it as a triggered mechanism or an automatically moving always-looping/moving thing. Remember all those gaps you need to cross over a deep ravine, while stone platforms are moving left and right, and you’ll have to …

Read more