(39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required!

load level instance = Rama the hero! :slight_smile:
you finally implemented an essential part of my wip strategy game, thanks!
and thanks to the guys dealing with it on the other 2 threads, it is worthy to read them to understand what happens:

Pretty sure only characteristics that existed at the time of spawning get updated, the actors and the level BP become unique after being instanced!

This had advantages if you want to create variations of each level instance, like rotating them in different ways or activating level BP “variants” that run on a simple integer/enum




You’re welcome Sivan!


That is what I figured, but the instances mirroring the state of the parent would have been a nice bonus! :slight_smile: Being able to blanket copy the existing level and respawning it to get the most current game state should work well enough.

Get All Hardware-Based Screen Resolutions, Including Refresh Rates (Hertz)


Enjoy getting the screen resolutions of the end user’s hardware in your game now!

It is obtained from the user’s display adapter directly! No guessing or preset values!

Works in packaged games!

**Latest plugin download on the UE4 Wiki: **

**Latest plugin packaged binaries, Win32 Shipping and Win64 Development on UE4 Wiki: **





Rama I have a good idea for a node.
If you can take the vertices positions from an obj you can use them to generate mesh ( still without UV ) but this can be a really cool feature.
It will give the user to add obj meshes to packaged game.

1.Obj->Extract vertices locations.
2.I’m pretty sure you are familiar with this one :slight_smile:

We will be able to use a projected material on it.

This is an inside of an obj file file exported from blender ( a simple cube ) Just used a text editor to open it:

# Blender v2.75 (sub 0) OBJ File: ''
# www.blender.org
mtllib untitled.mtl
o Cube
v 1.000000 -1.000000 -1.000000
v 1.000000 -1.000000 1.000000
v -1.000000 -1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 1.000000 1.000000 -0.999999
v 0.999999 1.000000 1.000001
v -1.000000 1.000000 1.000000
v -1.000000 1.000000 -1.000000
vn 0.000000 -1.000000 0.000000
vn 0.000000 1.000000 0.000000
vn 1.000000 0.000000 0.000000
vn -0.000000 -0.000000 1.000000
vn -1.000000 -0.000000 -0.000000
vn 0.000000 0.000000 -1.000000
usemtl Material
s off
f 1//1 2//1 3//1 4//1
f 5//2 8//2 7//2 6//2
f 1//3 5//3 6//3 2//3
f 2//4 6//4 7//4 3//4
f 3//5 7//5 8//5 4//5
f 5//6 1//6 4//6 8//6

It seems like it can work, All you need to do is to make a function that will parse these kind of tables.

So what do you say bro?! :slight_smile:

Seems like it can work, why are there not as many vn’s (vertex normals) as verticies?

I am confused as to whether this will really be useful without UV mapping.

I got really far making my own version of 3ds Max within UE4, until I hit UV mapping :slight_smile:

I could dynamically place and move verticies, create edges, and triangles, and then turn this into a colliding procedurally generated mesh.

The complexity of doing the UV mapping gave me quite the pause though :slight_smile:

Stuff just doesnt look good without UV mapping

What is your solution for this, you mention projecting material? What do you mean?



Currently In-Engine: Min and Max of Int/Float Array!

4 New Nodes

**Max of Float Array

Max of Int Array

Min of Float Array

Min of Int Array**

Returns the max/min value as well as the index in the array of that value!

Please note that I submitted the C++ code for these nodes to Epic and they were accepted into the Engine!

You can access these nodes right now!

See pic!

**Latest plugin download on the UE4 Wiki: **

**Latest plugin packaged binaries, Win32 Shipping and Win64 Development on UE4 Wiki: **




I have no idea why it does what it does. This is just a cube exported from blender.

Check the node called WorldAlignedTexture. You can project a texture on z, xy and xyz. So you can make statues or other meshes with constant texture on them. It won’t look perfect but it is something.
Btw did you manage to make extrude and other actions that can be done in 3dsmax?

Edit: I think there are twice v then vn because the cube is not smooth so each edge consider it’s faces as seperated meshes. This is why you will see a bigger verts count inside a game engine.

Hey Rama, you have these 2 nodes in your plugin:


So I can load a Texture from a file and get a PixelArray and I can also get a specific pixel value from a PixelArray, thats awesome. But what I would like to see is to also get the PixelArray from an existing Texture2D or an existing RenderTarget2D. Would that be possible to add as a node? I searched for a way to do this through blueprint and I only found a lot of people asking for how to do it but no answer except “use c++” :slight_smile:


Hey Rama,

Did god send you down from the heavens to assist me in making a game that will transcend time and space to deliver the most entertainments we can currently conceive of?

If yes, thanks!

This is a rather massive project for me to work on at the moment give my current work load, I will keep it in mind though! I think its time for you to do more C++ yourself and then maybe I could help out along the way :slight_smile:

Keep in mind I do offer tutoring sessions in UE4 C++!




Yes, and I am pretty sure you came to help many others have fun too!



Thine request is granted, see below!



Load Pixel or Pixels from Texture 2D to complete Rama’s Texture BP Node Suite!

Dear Community,

I’ve now completed my suite of Image BP Nodes!

You can now get a single pixel or the entire pixel array from a Texture2D!

  1. Get Pixel From T2D
  2. Get Pixels Array From T2D!

I’ve tested and verified that these nodes work with all my other pixel nodes, including:

  1. Get Pixel (By Coordinates, Row,Col)
  2. Save Pixels To File
  3. Load Image From File


**Image Made Via Victory BP Library**

Here I make a 3x3 image and set several color values.

I use my Victory BP Library to save these pixels to a file on my computer, creating my own PNG image!


Get Pixels From T2D!

Here I am now retrieving the pixel values of a T2D that was just loaded from disk, loaded from the file that I saved in the picture above!

It woorks, Woohoo!

Now you can Get Pixels from Texture2D’s too!

[FONT=Comic Sans MS]:heart:


**Latest plugin download on the UE4 Wiki: **

**Latest plugin packaged binaries, Win32 Shipping and Win64 Development on UE4 Wiki: **

**Editor binaries and Packaged binaries in one file:**
   *Win32 Shipping and Win64 Development Supported*

[Donate to Rama](http://lightningfitness.org/donate/)

[FONT=Comic Sans MS]♥


Awesome, thanks Rama :slight_smile:

There is just the problem that the “GetPixelFromT2D” node does not work with RenderTarget2Ds unfortunately… Could you support RT or is there anything which would prevent the node from accessing the information out of a RT?

That will require more research, in the meantime please enjoy the fact that you can now read the pixels of Texture 2D’s loaded from file!



I am absolutely enjoying it and I’m sure a lot of other people do it too since it makes the whole image BP nodes a lot more complete :slight_smile:

I have an other question, I had to compile 4.9.2 myself to add a very small fix (only a few lines of code) but now when I start the project I get this:


What do I have to do to make it work with a custom version of 4.9.2?

Edit: I compiled the plugin myself and now it works :slight_smile:

I’v just played a around with the proceduralMesh component in blueprint. The annoying thing is getting the triangles indexes array right.
I want to add the the ability to make walls with this component in my MapBuilder.
Is there any chance you add a node to your plugin that extrudes triangles like you would it 3ds max?

Nice work John Alcatraz!



I’ve not yet worked on extrusion due to time constraints, but if you choose to let me know what you come up with!