Unreal Engine 4.24
When It comes to OOP inheritance, the best practice is to take a moment to think about code structure and decide which classes should be be extensions of a common super-class. But in a wild hackathon or game-jam, we may be blueprinting too hastily for that, and we may find out different blueprint classes actually have to be child classes of a common parent class after they already exist and have existing blueprints in them.
In this case will have to Set their parent class as a different class than the class we chose when we initially created them, and also create calls to the parent class event functions if needed.
Setting a BP’s parent class:
Click Class Settings, and under Class Options, in the Parent Class drop-down select the wanted parent class (superclass).
Calling the Parent Class’s event functions:
When creating a BP class that is defined as child class in its creation this is done automatically
- Right-Click the current class’s Event icon, and select Add call to parent function:
- Connect the execution flow graph, and other inputs if necessary:
Unreal Engine 4.24
When Spawning new actors via the SpanActor Blueprint node, initial transform must be supplied to the SpanActor node, and not defined in the spawned Actor Class’s Blueprint.
Just found out the hard way, that when you spawn an Actor using the SpawnActor blueprint node, the transform data connected to the SpawnActor node is actually applied after the actors Construction Script and BeginPlay Event.
This means any transform you will try to apply in the spawned Actor’s Blueprint will be overridden and therefore not work.
Unreal Engine 4.21
By default UE4 uses fast simplified convex collision shapes to calculate collision for static mesh actors.
This means that the player or projectiles wont be able to path through holes, openings or doors in the model.
To set complex (concave) collision for a static mesh model:
In Static Mesh editing window, in the details pane, under Collision:
Set Collision Complexity to: Use Complex Collision As Simple
This example shows the default behavior for a model that has an opening, neither the projectiles nor the player can pass:
In this example collision for the model was set to Use Complex Collision As Simple:
An efficient way to store 2D animation for games is to layout all the frames withing one texture called a ‘Sprite Sheet’ or ‘Texture Atlas’.
This saves resources by avoiding multiple texture loading operations and only animating the UVs of the shader to display the needed image at each frame.
Sprite Sheets are also used to pack various states of game graphics and textures for multiple objects in one file.
Sprite Sheets can be created manually using any image editing software,
For an automated process and more control, a specialized software like Texture Packer can be used.
And it can also be done automatically in Adobe Animate (Flash).
* There are many more solutions / scripts that will do that you can find on the web…
3ds max 2018
There are cases where we need to have the UV borders and edges placed precisely on a certain grid. an example of this is when preparing a UV layout intended for baked lightmaps in a game engine, that should preferably be aligned to a 64 by 64 or 128 by 128 grid.
To set the Unwrap UVW editor window grid to 64 by 64:
- In the Unwrap Options window:
Set the Checker display to 64/20 which is 3.2.
Set the Grid Size to 1/64 which is 0.015625 (the numeric field displays the value rounded to 0.016)
- Turn on the grid display in View > Show Grid.
- In the Unwrap Snap Settings, make sure Grid Snap is checked.
* Hold and drag the snap button to open the Snap Settings.
- Activate Snap.
It works only in Vertex selection mode.