XaiJu
CodeLikeMe

CodeLikeMe

patreon


CodeLikeMe posts

Unreal Engine 5 - Hexagonal World Generator

Today we are going to implement a hexagonal world generator. Here, the world will be created with hexagon shaped meshes. The hex world will have 4 layers. - Water - Beach - Grass/Vegetation - Rock/Snow tops in higher altitudes.  We will create parameters to control various properties of the world such as - Mountain and boulder scale and height - Water level - Beach size - Rock/Snow level

password=CodeLikeMe_hex

View Post

Unreal Engine 5 - Voxel World Generator

Today we are going to implement a voxel world generator. Here, the world will be created with cubic shaped meshes. The voxel world will have 4 layers. - Water - Beach - Grass/Vegetation - Rock/Snow tops in higher altitudes.  We will create parameters to control various properties of the world such as - Mountain and boulder scale and height - Water level - Beach size - Rock/Snow level

password=CLM_Voxelized

View Post

Unreal Engine Spaceship Part 6 - Unpossess and Auto Pilot Mode

This is the 6th episode of the unreal engine spaceship system we are working on. Last time we worked on possession of space ship pawn which allows player to move to the cockpit of the space ship and then player can take control of the ship. Today, we will work on unpossession of the space ship. So, control will be passed back to the player character and player can walk around the ship. When the unpossession happens, the spaceship will continue to maintain the current velocity, so it will be m...

View Post

Unreal Engine Spaceship Part 5 - Spaceship Possession and Unpossession

This is the 5th episode of the unreal engine spaceship system I am going to implement. Here, we will work on possession and unpossession of space ship. Player character will be able to move into the ship after doing ground exploration or space walking and take control of the space ship and fly it. When player go near the control panel of the space ship, a notification will appear, Take Control (E) and then player will be able to take control.

password=CLM_Jetpacky

2023-11-22 10:01:01 +0000 UTC View Post

Unreal Engine 5 - Runtime Foliage Generation #4 - Foliage Pooling for Optimization

This is the 4th part of the runtime foliage generation system we are working on our infinite world system. Here, we will implementing object pooling pattern for multiple foliage types we have in our generated world. This means, in order to keep an infinite world, as the player navigate through the world, further landscape tiles will be removed and new tiles will be added closer to the player. So, when this happens, we need to add new foliage instances of too. But in pooling pattern, instead o...

View Post

Unreal Engine 5 - Runtime Foliage Generation #3 - Multiple Foliage Types

This is the 3rd part of the runtime foliage generation system we are working on our infinite world system. Here, we will implement ability to generate multiple foliage types using this runtime foliage generation system. We will use the existing procedural foliage type assets we can create in unreal and integrate them into our system so we can easily define properties such as ground slope, altitude range the foliage grows, density, clustering,..etc for each foliage type.

2023-11-20 10:01:00 +0000 UTC View Post

Unreal Engine 5 - Runtime Terrain Generation #15 - Randomizing Landscape

This is the 15th episode of unreal engine runtime terrain generation system.  Today, we are going to work on randomizing the landscape. So, if randomizing is enabled, every time we start the game, landscape will be different. This will affect following parameters - Island scale - Mountain scale and height - Overall layout  - Boulder scale and height


Proj...

View Post

Unreal Engine 5 - Runtime Foliage Generation #2 - Relocate and Reuse Distance Foliage Instances

This is the 2nd part of the runtime foliage generation system we are working on our infinite world system. Here, we will be working on how to relocate the foliage instances in distance tiles and use them to populate new tiles generated as the player moves around. This will help us to get rid of foliage instances in the distances while removing the overhead of generating new instances.

2023-11-18 10:01:00 +0000 UTC View Post

Unreal Engine 5 - Runtime Terrain Generation #14 - Collision Fixes and Performance Boost

This is the 14th episode of unreal engine runtime terrain generation system.  Today, we are going to fix some issues related to collisions of the generated landscape and work on performance improvements. Here, we will be using bUseAsyncCooking to enable procedural mesh section to be generated in background so it will give us a huge performance boost. But this will cause some issues to the existing foliage generation system and we will work on a workaround for that as well.

View Post

Unreal Engine 5 - Runtime Foliage Generation

In this tutorial, I am going to implement a runtime foliage generation system on top of runtime terrain generation system I have worked on. Here we will be populating the generated world with trees. We will explore how to place trees, what methods can be used to randomize and make the growth of trees in clusters in a natural way. Als, as the terrain generation system allow us to generate the world infinitely as the player moves around, the trees will also appear no matter where player moves.<...

View Post

Unreal Engine 5 - High Performance Grass System #6 - Ground fertility and Growth

This is the 6th episode of unreal engine high performance grass system. Here we are going to work on how the growth of grass is affected by the fertility of ground. That means, we have defined a grass/green layer and a dirt/yellowish layer in the landscape material. As the landscape is fading from grass to dirt layer, based on the weight of the grass layer, the height and color of the grass blades will be changed. In yellowish area grass will be shorter and more yellowish. In the green/fertil...

View Post

Unreal Engine 5 - High Performance Grass System #5 - Generator Memory Overflow Fix

This is the 5th episode of unrealengine high performance grass system. Here we are going to work on grass generator algorithm optimizations by generating one tile at a time. The reason to implement this method is, when we try to generate all the grass tiles at once, some tiles get ignored. Reason could be hardware/memory limitations. So, we are going to generate one time at a time. Only after one tile is generated and created the mesh, the second tile will be calculated.

2023-11-14 10:01:00 +0000 UTC View Post

Unreal Engine 5 - High Performance Grass System #4 - Mask Grass Spawn Areas with Landscape Layers

This is the 4th episode of unrealengine high performance grass system. This system allows us to render millions of grass blades with a fraction of performance cost compared to the conventional grass rendering system in unreal engine. Here, each individual grass blade will be generated using a code. Today we are going to work on how to mask spawning areas of generated grass blades using landscape material layers. So that we would be able to define which areas we need grass and which areas we d...

View Post

Unreal Engine 5 - High Performance Grass System #3 - Save Generated Grass

This is the 3rd episode of unrealengine high performance grass system. This system allows us to render millions of grass blades with a fraction of performance cost compared to the conventional grass rendering system in unreal engine. Here, each individual grass blade will be generated using a code. Today we are going to work on how to save generated grass mesh into the level so that we don't have to generate it every time we load the levels. For this we will have to use a little bit of C++, b...

View Post

Unreal Engine 5 - High Performance Grass System #2 - Grass Wind/ Color Variations and UVs

This is the 2nd episode of unrealengine high performance grass system. This system allows us to render millions of grass blades with a fraction of performance cost compared to the conventional grass rendering system in unreal engine. Here, each individual grass blade will be generated using a code. Today we are going to work on how to add UVs into the generate grass blade meshes. This will allow us to have advanced features like grass wind and add color variations to grass blades to improve t...

View Post

Unreal Engine 5 - High Performance Grass System

Today we are going to start implementing a high performance grass system in unreal engine which allows us to render millions of grass blades with a fraction of performance cost compared to the conventional grass rendering system in unreal engine. Here, each individual grass blade will be generated using a code according to the ground underneath and they will also support shadows, wind and other material features as well. Still the performance cost will be very minimal compared to regular gras...

View Post

CodeLikeMe - Terms and Conditions

By accessing or using CodeLikeMe, you agree to comply with and be bound by the following terms and conditions. If you do not agree to these terms and conditions, please refrain from accessing or using the content on this page.

1. Access and Usage:

1.1. CodeLikeMe, created and managed by CodeLikeMe, is designed to provide exclusive content, information, and benefits to its subscribers or "Patrons."

1.2. By becoming a Patron and accessing the content on this p...

View Post

Unreal Engine 5 - Runtime Terrain Generation #13 - C++ Performance Improvements and Optimization

This is the 13th episode of unreal engine runtime terrain generation system.  Today, we are going to improve the performance of runtime landscape generation system by optimizing the tile generation function. Here, once the initial set of tiles are generated, when player moves further away and needs to generate more tiles, instead of creating new mesh sections, we will be updating the furthest tile to create the next closer tile needs to be generated. This will further optimize the system...

View Post

Unreal Engine 5 - Runtime Terrain Generation #12 - C++ Prioritize Generating Closer Tiles

This is the 12th episode of unreal engine runtime terrain generation system.  Today, we are going to improve the landscape generation system by prioritizing the generation of tiles that are close to the player's location out of the queued up tiles to be generated in infinite terrain generation function. This would help us to keep the continuity of the terrain as the player move around the world.

2023-11-07 10:01:01 +0000 UTC View Post

Unreal Engine 5 - C++ Multithreading and Async Tasks - Runtime Terrain Generation Part - 11

This is the 11th episode of unreal engine runtime terrain generation system.  Today, we are going to learn about multithreading in unreal engine with C++. Here, we will refactor the code to run the function we have written to generate terrain as an async task in a separate thread instead of the main thread. So that we can generate the terrain infinitely as the player moves around the world with a minimum interruption to the game main thread.2023-11-06 10:01:00 +0000 UTC View Post

Unreal Engine 5 - Runtime Terrain Generation #10 - C++ Heightmap with 2D Perlin Noise

This is the 10th episode of unreal engine runtime terrain generation system.  Today, we are going to write a function to generate the heightmap for the generated terrain using 2D Perlin Noise.


Project Files

View Post

Unreal Engine 5 - Runtime Terrain Generation #9 - C++ Mesh Generation

This is the 9th episode of unreal engine runtime terrain generation system.  Today, we are going to write the generate terrain function in C++. Here, we will write c++ code to generate vertices, uvs, normals, triangles and everything required to generate a mesh in runtime.


Project Files

View Post

Unreal Engine 5 - Runtime Terrain Generation #7 - Infinite Terrain

This is the 8th episode of unreal engine runtime terrain generation system.  Today, we are going to start converting the landscape generation system into C++. Here, we will setup a C++ class as the base class for the world generation blueprint and migrate all the variables and components into the C++ class so that we can write the terrain generation function in C++. View Post

Unreal Engine 5 - Runtime Terrain Generation #7 - Infinite Terrain

This is the 7th episode of unreal engine runtime terrain generation system with blueprints series. Today we are going to work on how to dynamically generate terrain as the player moves around the world. So that there will be an infinite terrain in the world no matter where the player goes.  The system will periodically check the player's location and as the player moves, new tiles will be added to the terrain to cover up the area player is moving into.

2023-11-02 09:01:01 +0000 UTC View Post

Unreal Engine 5.3 - First Person Character Full Mesh - Portal Gun #11

This is the 11th episode of the tutorial series based on the game Portal. Here we are going to add a character body mesh to the first person character. So when the player see its own reflection through a portal, the character will have a full mesh. Also the third person mesh will have animations to match the holding gun position. Also this method can be used in a multiplayer FPS game, when you need to show the character mesh of the first person character to other players.

2023-11-01 09:01:01 +0000 UTC View Post

Unreal Engine 5.3 - Portal Jump Position and Angle Fix - Portal Gun #10

This is the 10th episode of the tutorial series based on the game Portal. Here we are going to do some improvements to the portal jumping location fixes. Earlier, we used the center point as the exit point of the exit portal and only matched the velocity to exit the portal. But when we shoot projectiles through portals, this was visible and we are going to fix that today.

password=CLM_PortalJumpFix

View Post

Unreal Engine Traffic System - Pedestrian Signals - UE5 Open World #41

This is the 41st episode of unreal engine 5 open world tutorial series. Here we are going to add pedestrian walk and stop sign signals into the traffic lights system we have worked on. Pedestrians will wait for the walk sign before crossing the road.


Project Files

View Post

Unreal Engine 5 - Runtime Terrain Generation #6 - Fixing Seams Between Tiles

This is the 6th episode of unreal engine runtime terrain generation system with blueprints series. Our landscape/terrain is created with multiple landscape mesh tiles. As of now at the edge of generated tiles, we can see a clear difference in shading. Which kills the seamlessness of the landscape. This happens because the Normals of the adjacent vertices of 2 tiles are different. So, we will modify the terrain generation function to fix this issue.

2023-10-27 09:01:01 +0000 UTC View Post

Unreal Engine 5 Shooter - Disable Inputs after Death (ALS #204)

This is the 204th episode of the unreal engine ALS based shooter series. In this episode, we are going to work on an issue we are having after player is killed. When the player is killed, there is a small time window until the retry screen appears. And until then, the inputs on character works. Because of that, if player press jump button, character will stand up from death. We are going to fix this issue by disabling player inputs on player character after death. But we will not disable inpu...

View Post

Unreal Engine 5 - Runtime Terrain Generation #4 - Landscape Tiles

This is the 5th episode of unreal engine runtime terrain generation system with blueprints series. Here we are going to work on how to spawn terrain tiles around player's location.  So, No matter where the player start location is in the world, the terrain will be automatically generated in the runtime around the player. This would be another step towards infinite terrain generation system.

2023-10-25 09:01:01 +0000 UTC View Post