![]() We already know that the input of a Blueprint is a ParentClass, and the output is a BlueprintGeneratedClass. The many extensions that has been done is just to empower UI programmers and designers in creating game user interface, in a sense, customizing a blueprint means we are creating a custom tool for our game production. UWidgetBlueprint, no matter how different it is from ActorBlueprint or AnimationBlueprint, is basically doing the same thing, it creates a Class that extends its ParentClass to produce a new Class. In the simplest sense, Blueprint is just a black box that uses ParentClass as input and produces BlueprintGeneratedClass as output A very simple definition of Class would be a collection of information about properties and functions of an Object, and an Object itself is just a series of bytes, thus, a Class is some kind of map for us to know what a certain Object really is.īlueprint itself is an asset, it is not a Class, this asset will not be cooked in the final package of our game, which means, we should never reference a Blueprint asset at run-time.īlueprint is meant to be used in the editor, and making a Blueprint customization should only be done within the context of the editor, either by wrapping our customization codes in WITH_EDITOR or WITH_EDITORONLY_DATA or by creating an editor only module.Īn example of blueprint customization is UWidgetBlueprint of UMG (Unreal Motion Graphics), it is derived from UBlueprint and has its own custom editor that is extended from the common blueprint editor, this custom editor has a designer panel that allows us to design the layout of the widget, it is very convenient compared to creating UI by code using Slate, especially for non programmers, it speeds up the UI development process significantly. This article assume that you have already known Blueprint from end user perspective and also a bit of knowledge in CoreUObject, AssetRegistry, and UnrealEd modules. ![]() ![]() ![]() I will refer to this advance type of Blueprint customization simply as Blueprint customization. It is a part of my study that I want to share with you, in the hope that we can utilize Unreal Engine 4 to its full potentials in order to make a better game with it and especially to increase our productivity by making convenient and optimized tools that are related to Blueprint as part of our game production pipeline. This article is an overview of the answers to all of these questions. To do an advanced customization of Blueprint, we need to know what is a Blueprint, what is really happening inside of it, what are the data, how does it generates its output, etc. Blueprint is a great new feature in Unreal Engine 4, it is a visual scripting that enables everybody including non-programmers to easily creates and tweak Gameplay elements in the game, the tools to make and edit them in the editor are very rich and extendable.Īs a game programmer, apart from using Blueprint as a mean to prototype a feature, we may want to extend and customize it to meet the requirements of the game we are working on, extending the blueprint comes in many different flavors, adding a custom blueprint elements in C++ is very easy, we only need to create various C++ functions and properties that are accessible from Blueprint, but sometimes it is not quite enough for us, sometimes we need to create a custom nodes that our game designer can easily use, create an automated process related to blueprint such as collecting blueprint classes, create a utility to convert our custom game actors or data into Blueprints, and many more, this is especially true if you are a tool programmer and trying to optimize the pipeline of your game. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |