суббота, 26 ноября 2016 г.

Finished Inventory Grid

I'm working on GUI system for Insomnia RPG. I've done alot of work but there is still much here.
Today I'm finished inventory grid widget that allows player to manage his inventory.

Players will be able to disassemble things to get resources that can be spent when crafting new stuff. We althogh have a barther system that allow to trade things with NPCs.

This widget is used on loot and trading screen as well as on character inventory screen.

среда, 24 августа 2016 г.

Lens Flares Has Been Released on Epic Marketplace

I designed a shader to help simulate various lens flares effects like flares around light sources, glow, light spikes. This works correctly for all cases including casese with overlapping.

My lens flares material pack has been released on Marketplace and available from this link: https://www.unrealengine.com/marketplace/custom-lens-flares-material

You can read more here:

среда, 17 августа 2016 г.

Radial Blur Shader in Unreal Engine 4

Today I've made this simple post process material, that applies a radial blur to screen. That was made for a sniper rifle mode in game, when player is looking through a optical sight. And we've got this raw effect:

среда, 10 августа 2016 г.

Serialization with Polymorphism and Inheritance in Unity

In this article, I would like to share my experience in serialization of classes with inheritance and polymorphism in Unity. If you have some troubles with serialization of ScriptableObjects or with saving your data, it’s written to help you. Here I try to explain, how to serialize your data into asset. You can download sources for this tutorial here.

четверг, 4 августа 2016 г.

Creating Fur in Unreal Engine

This tutorial shows how to create a fur like on screenshots below, using shells technique. This technique creates a number of shells around geometry and assigns material, that simulates fur slice for each shell. This looks pretty well from a distance.

понедельник, 27 июня 2016 г.

Unreal: Debugging materials and shaders example

Here is two tips that may be usefull if you want to debug your shader.

There is many ways to debug shaders in Unreal Engine. For example, you can translate your shader into HLSL code and use any software that you like for debug that. Or install a Renderdoc plugin to capture a whole frame in Unreal's viewport and jump to Renderdoc. You can read more about it here.

But sometimes you don't want to dig deeper when debugging and use a third-party software, especially if you are not going to solve something complicated, but want to debug some value or see what shader does after interpretation in hlsl.

среда, 22 июня 2016 г.

How to make text facing a camera in Unreal Engine

Hi, I've found a pretty easy way to do that by writing a shader.

If you deal with a text-in-a-wolrd in Unreal it's most likely that you use the TextRenderComponent. It uses a text material and here we begin. All we need is to change this material.

понедельник, 6 июня 2016 г.

Creating Custom Anamorpic Lens Flare in Unreal Engine

Unreal Engine doesn't have any built-in features for create highly-customized lens flares. By default, lens flares are implemented as a image-based effect, so we deal with engine rendering system. In our game we need custom lens flares that can be blocked by other objects. For example, if we have a light source that shine in camera on a background plane and some object, that blocking this light, lens flare should be blocked. This is the main problem. 

In this tutorial, I described a solution of this problem. Note, that the material, described below works correctly only for cameras without fixed aspect ratio (fixed aspect crops image and mask cropped areas with blackbars) and with fov equals 90. You can get the complex solution, that works correctly for all cases from unreal marketplace: https://www.unrealengine.com/marketplace/custom-lens-flares-material

вторник, 26 апреля 2016 г.

Unreal Engine Blendables Blend Weigth Tutorial

When setting up PostProcessSettings Blend Weight doesn't affect on PostProcess material appearance by default. There is two solutions.

The first is simply to create your own Blendable in c++ or Blueprint and implement desired functionality as its suggested by Epic (https://docs.unrealengine.com/latest/INT/Engine/Rendering/PostProcessEffects/Blendables/index.html)

The second is to set-up right settings in master material and material instances of PPM. I've found that Blend Weight default behaviour is performing interpolation between master and instance material parameter values. It's a key to this solution. When Developing a shader, it is necessary to pick out all parameters that changing shader appearance and set its values in master material so master material doesnt