RPG Engine

Work continues!
Now I have started creating a plugin in which I will implement some functions in C++ to improve the performance of the project. The project will not be converted to C++ type, but you will be able to connect the plugin, perform several actions and increase performance by using the functions I have written (you will not need knowledge of C++).

P.S. There are no performance issues in the project, but I would still like to optimize some things even more using C++ :saluting_face:

1 Like

Are performance improvements for networking, rendering, other ?

1 Like

Yes, I think so! I would like to minimize the amount of ForEachLoop that are made on blueprints.. But this tool is being developed in free time! During work hours, I will of course make updates to the main project.
For example, a swimming system will be added soon! :man_swimming:

By the way, guys, discounts start on April 22nd! (I hope everything is ok and my project will be included in them, lol)

C++ Versions of “ForLoops” and other macros? Those will be useful for any Blueprints-based Project and more Devs could benefit from such a Plugin. I would also like to see non-blocking iterative loop systems. I find myself using these more often. Excited to see what you develop.

1 Like

RPG Engine V4.2.0 | Devlog | Swimming - Video
Working on the next update: swimming. Almost done, just need to order some swimming animations.

1 Like

Tomorrow I will replace the hunger/thirst and air supply indicators and release an update!

1 Like

New hunger, thirst and air indicators

1 Like

RPG Engine V4.2.1

  • Swimming!
  • Special respawn points. Place BP_RespawnSpot actors near the water and if the player dies, he will respawn at the nearest point!
  • New hunger, thirst and air indicators
1 Like

Meanwhile, the work continues!
Next update: rocket launcher. Development has begun!

:factory_worker::factory_worker::factory_worker:

The update is almost ready!
I also significantly improved the weapon shot system: now you can control the state of effects (shot flash, tracer, bullet impact effect) even more flexibly!

:factory_worker:

1 Like

Looks Awesome @WeberSystems!

But i do have a question, is the the projectile spawning based on Center Screen or Weapon Barrel. I little difficult to tell from the perspective.

1 Like

Thank you very much!
The projectile spawns in the Blow socket, then a line trace is made to the center of the screen, after which the algorithm is triggered:

  • In some cases, the projectile flies to the center of the screen. To do this, we activate Homing Projectile and direct the projectile to the point where the line trace made a hit. It turns out neat and smooth :slight_smile:
  • In some cases, the projectile flies to where the gun barrel was pointed

1 Like

I think I’ll finish tomorrow!

Hello again everyone! I’m back with a daily progress report (I think it’s time to even introduce such a column, lol).

  • Today I solved the “duck back” problem. This is when the player’s spine_01 bone sticks out a little bit.
  • Implemented more precise control over player animations when using different skins. Now the RetargeterModifier parameter looks like this:

Now you have the ability to more accurately and conveniently control which animations are used by the character when using weapons with different body skins. This is achieved through two parameters:

  • hand_r, lowerarm_r, uppearm_r - these are the values by which the skeleton bones are additionally rotated
  • Use Custom Anim Layer, Custom Anim Layer - this is a new parameter that allows you to achieve much better results. If the value of the Use Custom Anim Layer parameter == true, then in this case you need to create another AnimInstance following the example of the existing one and specify a link to it in the Custom Anim Layer parameter. In the newly created AnimLayer, you can specify the animations that will be used to visualize the player’s movement if he uses a certain player skin.

EXAMPLE:
Let’s look at the values of the RetargetModifier parameter in DA_CL_Pistol_1 (image 1):

  • If the player is using the DA_CS_UE5_Blue skin, no changes to the character animation will be applied (since hand_r, lowerarm_r, uppearm_r == 0 and Use Custom Anim Layer == false. Thus, the AnimLayer specified in the DA_Pistol_Locomotion data asset will be used (image 2):

  • If the player uses the DA_CS_UE5_Green skin, then the hand_r bone will be additionally rotated by 4.381389° along the Z axis (image 3):

Animations for visualizing the player’s movement will still be taken from the AnimLayer, which is specified in the DA_Pistol_Locomotion data asset (image 2).

  • If the player uses the DA_CS_Meta_Ettore skin, then in this case the bones will not be additionally rotated, so hand_r, lowerarm_r, uppearm_r == 0. However, note that the Use Custom Anim Layer parameter == true, and the Custom Anim Layer parameter is filled with a reference to a new anim instance (image 4):

Thus, to visualize the player’s movement, the AnimLayer specified in the DA_Pistol_Locomotion data asset will not be used, but the one specified in the Custom Anim Layer parameter.

This algorithm allows you to more accurately customize the character’s appearance depending on what character skin he uses. For example, some metahumans are taller and have longer arms, while some are shorter and have shorter arms. This algorithm allows you to take all these aspects into account and achieve the highest quality visualization of the character’s appearance.

RPG Engine V4.3.1

  • Rocket Launcher;
  • We’ve added the ability to assign custom AnimLayers per character skin. Since the RetargetModifier system (used for rotating hand bones) produced inconsistent results, we’ve introduced an alternative solution;
  • New firing mechanism: you can now shoot not only with line traces but also use a physical bullet actor! The rocket from the rocket launcher is a separate actor that can also utilize homing projectile technology;
  • New effects for bullets hitting water;
  • Fixed the overly dynamic movement of the weapon attached to the back;
  • Fixed an issue where the character’s hands behaved strangely during jumping;
  • Many other enhancements.
1 Like

Thank You for the prompt response.

I ask this question because I’m using a Multi-perspective Camera System, which requires spawning Projectiles from the Barrel of the weapon to shoot from any perspective as seen in this video.

Homing Missile and other forms “smart navigation” help with projectile steering, i also use a visible laser sight / reticle for visual aiming assistance.

I would like to insert a branch to optionally select spawn only from weapon’s barrel. Where do I go to add the blueprints to do this? Any and all assistance is appreciated.