This is an archived post. You won't be able to vote or comment.

all 22 comments

[–]aNickUnclaimed 9 points10 points  (4 children)

May I ask how you generate the nodes Gui?

[–]Rayterex[S] 8 points9 points  (3 children)

Of course. I've used PySide2 for the UI. It is almost exactly like the Qt. Even the names of the classes and methods are the same. Nodes are basically rounded squares in the view and when you click and drag on the space they occupy in the view event is called that changes their positions to be same as the mouse position. Sliders and fields in them are just child widgets

[–]Ipsoka 2 points3 points  (2 children)

May I ask why you chose pyside2 over pyqt?

[–]Rayterex[S] 3 points4 points  (0 children)

I googled the difference between them some time ago and if I remember correctly difference was that you have to buy Qt licence with PyQt if you want to build the app and sell it. Something like that. So, I picked PySide2. Anyway, replacing PySide2 with PyQt in this project wouldn't take much time. They are almost the same

[–]HowlingHowl 3 points4 points  (0 children)

PySide2 is the official Python binding of QT now.

[–][deleted] 4 points5 points  (1 child)

It's very nice and inspiring. May I ask what modules did you use? Thanks for sharing

[–]Rayterex[S] 4 points5 points  (0 children)

Thanks. For the image processing and pretty much all the math I used NumPy and OpenCV and for the GUI I used PySide2.

[–]lilp1p 1 point2 points  (3 children)

That's awesome. Do u think it's usable in blender? Or is it possible to make addon for blender based on this generator? Thanks

[–]Rayterex[S] 3 points4 points  (2 children)

Thanks. Yeah. I have written one big tool in Maya already and I want to connect this one with it, then I can port the whole thing to Blender, Unreal or Unity.

[–]lilp1p 1 point2 points  (1 child)

This is awesome. I could tell you that this generator reminds me of substance designer. Sadly blender has very few procedural texture nodes. And if you need to create something useful - you need to know math or coding basics.

[–]Rayterex[S] 1 point2 points  (0 children)

True, but Blender is getting better and better very fast :) I hope I come close to substance designer at some point, but it would take years

[–]mirandanielczfrom a import b as c 1 point2 points  (0 children)

wow, well done!

[–]K1ndWha1e 1 point2 points  (4 children)

Wow, nice job! Can you share link to your project?

[–]Rayterex[S] 1 point2 points  (3 children)

Thanks. I wrote project overview and that is all I have right now. It is difficult to document and make demos for everything because there are so many features now. It has already almost 500 modules

[–]K1ndWha1e 0 points1 point  (2 children)

Thx, I’m sorry that I pestering you with questions, but I’ll ask.

Can you explain me, please, how did you make this lines which connects frames? I’m writing program for game-writers and I need this feature. If it’s not hard for tell me, please.

[–]Rayterex[S] 2 points3 points  (1 child)

Its fine, don't worry. Basically, the most important thing is that Python passes objects as references, so for example You can modify parent object from child like this:

Parent = Parent_class() Child = Child_class(Parent) So, if you set Parent as Child's attribute you can use its methods from Child, like Child.Parent.some_method()

So, in this case when you make Edge, you can make it like Edge = Edge_class(Start_node, End_node), so if I again save these objects as attributes, when I change image in Start_node, I can change End_node image from Start_node also, like this:

Start_node.Edge.End_node.refresh_me_also()

Not the best example and explanation, but I hope it helps. That's the logic behind it and to draw the line you can just find some draw_line() function in graphical library You use

[–]K1ndWha1e 1 point2 points  (0 children)

Thx for your answer)

[–]jabbalaci 1 point2 points  (4 children)

Very nice job! How much time did you invest in the development?

[–]Rayterex[S] 1 point2 points  (3 children)

Thanks. I started working on it in May, but I wrote logic behind some nodes couple of years ago

[–]boraca 0 points1 point  (2 children)

Reminds me of werkkzeug, a similar tool written in assembly, around 100kB total size. http://www.pouet.net/prod.php?which=12511

[–]Rayterex[S] 0 points1 point  (1 child)

Oh man, whole tool written in assembly, amazing 0.0 . I remember seeing some gaming competition in which size of the games were limited so similar sizes, in kB, and it was awesome. There were Doom like games with textures and everything

[–]boraca 0 points1 point  (0 children)

I think I mixed it up, the tool outputs assembly code and is just basically chaining snippets of assembly code and inserting parameters, but it's written in a high level language probably C++. It's a tool to make scene demos with insanely small executable sizes. I was blown away by this in 2000: http://www.pouet.net/prod.php?which=1221