Blender Game Logic Nodes (UPBGE-Compatible)

For vector lenght simply use Vector 3 distance, Vector 1 = your vector value, Vector 2 stays at (0,0,0).
For example you need the power of velocity, use the vector 3 distance.

For abs(), it’s to get postivie values of X,Y,Z , but i think i can use the Abs(float) logicnode, it’s not something people will need a lot.

@Iza_Zed
What is the difference between using the Character physics and rigidBody ?
Character seems like a RigidBody, but using setDirection, Movement and Jump to move around.
For some space ship game, i oculd use the Character component physics ?

The Character Physics are calculated differently, actually they are faked to give a better feeling of character movement, while Rigid Body is approximating realistic physics. Same goes for Dynamic, that’s also approximating reality, but without the rotational component, so bottom line:

For a crate, use Rigid Body
For something you want to slide around (puzzle), use Dynamic
For a character, use Character

The spaceship would use Rigid Body as well, because you need that rotational component if you want to simulate zero-G
For something like Asteroids, that’s a different piece :man_shrugging:

Absolute Vector is in, takes Vec3 as well as Vec2 :+1:

So for some space ship arcade, it’s best to use character for player and other ships ?
As you can setup gravity to 0 also ?

It might be, it really depends on what you want your ship to behave like :man_shrugging:

You can set the gravity for a character with nodes, though I didn’t try that yet

I use Character physics for player ship and it works setting gravity to 0.

So for performance with projectiles better not use Character physics.
I found a work around, on update set Velocity with your forward value, and Z value to 1 and projectiles will move straight like not having gravity.

It’s a hack , but i hope Upbge will implement the physic function set gravity per object.

Timer delay seem not working ? The player can fire projectile only one time.
What is the difference between Delay and Time barrier ?
DELAYBUG

1 Like

I think to remember that KX_GameObject has gravity attribute already implemented.

Yes the function exists already in the engine, we just need a logic node to use it as we need (usefull for space ship projectiles for example).

As I said in the Nodes bugs thread, the time barrier checks if a condition is true for the time entered, for example it returns true if “that button is pressed for X seconds”

The delay node does what you’d expect, but the e
Issue is that it only handles the last input, so when Press A -> Delay -> do domething, it can only handle the last time A is pressed, I’ll see what I can do about that


ok yes hello why is it that the logic doesn’t work in blender game engine’s standalone player? it just fills the console with these errors.
i’m using upbge 0.2.3. please help me.

You are importing the native blender bpy modules that are not imported into the game engine
I Think upbge 2.4 to the bottom doesn’t matter how bpy modules only start from 3.0

correcting
download the 3.0 build if you want to use the resource in question that you must solve

my ENTIRE game is built on 2.79 and it’s absolutely INTEGRAL to LITERALLY EVERY ASPECT OF IT. if i were to switch to the 3.0 build, 99% of the things in it would break.

but for what reason do you need the bpy modules, have you used these modules before?
Explain me right so I can understand and try to help you in this situation

this is because of me using the logic nodes addon.

forgive my mistake in answering you and not having read the article before but from what i saw both in git and in the article this addon that you are using supports blender 2.79. when these errors started to appear in what situation does this error appear?

2.79 can not use bpy ingame, so that’s the problem

whenever i start the standalone player. it works fine with the embedded version

from what I saw on git there is a folder called utilities which is compatible with 2.79 and on git it says it is for 2.8 I believe that if you see “init.py” see what I’m talking about maybe that will solve

i guess i’ll try that

didn’t work

I need to condition that import to only happen when using 2.8+, bug noted :+1: