Issue with Armory 0.6 and custom nodes

I just downloaded Armory 0.6 and it is giving me some unexpected behavior compared to the Blender 2.79 version

I use a custom node to play armature actions.

If I load my .blend file in Blender 2.79, I see this in the node editor: PlayActionWithParams_b279

If I do the same in Armory 0.6 (blender 2.8), I get this:
PlayActionWithParams_b28

What got me more confused: I also use the Logic pack Timer node, and it works fine in both versions of Blender.

I checked my node’s blender/haxe code against the latest logic pack version and could not find any significant differences.

Has something changed to the requirements for custom nodes?

EDIT: if I set Blender 2.79 to use the same SDK as Armory 0.6 (B28), I get the same “Undefined” nodes as in Armory 0.6

just for test, if you open Kode studio here,
image
are you arriving at the good place too to open your .hx files ?

otherwise, when red it’s seems that it’s your blender.py that is not ok.

looking here may help you too Maj doc manual for the version Armory_06beta_win64.zip

Thanks for the hint, @Didier,

If I open Kode studio in B2.79, it shows me all the right files. In B2.8, the button “Kode studio” opens a Finder window (I work on a Mac), at the right location, not the editor.

The strange thing is that both the Logic pack and my own node are in the “Libraries” folder. The logic pack nodes work, my own node only works in B2.79, not in B2.8.

Check the console for any python exceptions, also on opening the project. If there is one, it can kill continuous logic.

That was the first thing to try, but there’s an issue with Blender 2.80 (any recent 2.80 daily build) on my machine: it throws a segmentation fault when started from a terminal. (Starting the application directly works fine)

Still lucky. I’m on linux and latest SDK and it’s bug and bug on to of that bug. I can’t even play no project. In mean time I see commits in repo with fixes for ray tracer :smiley: - upcoming experiment. So… Prioritization of issues is some have hippy in Amory. Complaining and constructive criticism is taken very personal, so I reported and now just waiting :))). Days flow by. Good luck.

Yeah, it is most likely a Python exception. I don’t know what it was, but there was some minor change at least to the Python API for Armory 0.6 I think. Are you on Linux or Windows? If you are on windows, you should still be able to show the console from the Window menu at the top of the Blender UI. If you are on Linux, I’m able to start it from the terminal on Ubuntu 16.04 so there should be some way to fix it. My commit hash for Blender that I have working is (93a8556bf4).

In Linux one can just open terminal, cd to executable, do ‘./blender’ and enjoy every thing loged into that. I already reported several python bugs.

Any ideas about this https://github.com/armory3d/armory/issues/1179 ? Can you run projects on latest SDK and Linux?

I did a new download of the B2.8 daily build. That one does properly start from CMD line. Phew! :slight_smile:

I managed to fix my problem.

The terminal window showed an error that a certain animation action was undefined. The error was generated by the Armory Blender addon (props.py). The Armory Blender addon automatically adusts the “item.node_tree_prop” property when opening a file across SDK versions.

However, the action it referred to did not exist, or was referred to, in the node tree. It seems there was some spurious data in the .blend file. I found the offending Play Action node (which showed a different action than referenced in the error) and replaced it. After that, both my error went away and my cusom node is recognised and loaded properly. Yaay!

Next problem I encountered is that Krom does not start. My project is exported without errors or warnings, but Krom won’t start. If I play into a browser window, it works properly.

Similarly, Kode Studio won’t start when I click the button. Instead, I get a MacOS Finder window. (@zicklag: I’m on a Mac)

I haven’t got a Linux install, can’t check, sry. Haven’t tried Win10 yet. Will do when I have a bit of time.

1 Like

Yay! Glad you got it working ( besides Krom ). I’ve seen this Krom not starting issue pop up randomly for different people, even on different systems I think. I don’t know what it is. For now you might have to run it manually. It is easy to do from the command line.

$ cd mygame_build/debug/krom
$ /path/to/armsdk/Krom/Krom .

I’m not exactly sure if that will work on a Mac because I don’t know how Macs present that Krom.app as a program, so that might be different.

Edit: You also might want to try cleaning the project and running it again.

@trsh I just pulled the absolute latest of everything from Git and ran the animation Armory demo with no problems.

Are you using the Git version of the SDK?

@zicklag starting Krom.app in the downloade SDK (i.e. not the bundled Krom) from a terminal gives an error: “could not open file ./krom.js. aborting”.

Kode Studio seems to not be bundled with the SDK on Github. Copying it from the Armory 0.6 bundle into the downloade SDK works excellently. I can start it now from within Blender. Strangely, it first executes a compile on the project before loading Kode Studio.

EDIT:

Starting Krom from within blender compiles the project, with this bit at the end of the output:

Finished in 25.14314603805542
deviceBufferSize = 12288

mSampleRate = 48000

mFormatFlags = 00000009

mBytesPerPacket = 24

mFramesPerPacket = 1

mChannelsPerFrame = 6

mBytesPerFrame = 24

mBitsPerChannel = 32

After this, things just seem to disappear into /dev/null…

Did you put the . after Krom.app?

Ehm… User error there :sweat_smile:

Yup, that works. I can start Krom from a terminal, just not from within Blender 2.8.

1 Like

That’s good. You could report the bug with it not starting on GitHub, and just give whatever info you can about your environment. I’ve had it once before, but I don’t know what fixed it. :confused: :question:

Done, see issue #1190