Feature Requests.

I’d like to request key-release events for keys with modifiers. For example, just as pressing “ctrl-a” produces the events “ctrl”, “rcontrol” or “lcontrol” as appropriate and “control-a”, I would like to have receive “control-a-up” on release.

I’ve seen this thread on the matter, have read the reasoning given there for such events not being thrown, and think that I may have a solution to the problem of the modifier key potentially being released before the non-modifier key.

Once a combination of non-modifier keys and modifiers has been held, releasing any of those keys–modifiers included–would send the “release” event. After that point, no events would be sent for any of the non-modifier keys involved in the combination until either all such keys have been released or a new combination (whether the same as the previous or otherwise) has been pressed. I imagine that this might involve a “last combination” variable holding a flag indicating whether the “release” event has been fired yet and a variable indicating which non-modifier key is involved (or a list if a combination may have more than one such key); this would then be checked as appropriate when keys are released.

Intended example output:

Key action -------------------------------- Event

 right "ctrl" is pressed                           "control", "rcontrol"
 "f" is pressed                                       "control-f"
 "ctrl" is released                                 "control-f-up"
 "f" is released                                     <none>

 right "alt" is pressed                            "alt", "ralt"
 "g" is pressed                                      "alt-g"
 "g" is released                                     "alt-g-up"
 "h" is pressed                                      "alt-h"
 "k" is pressed                                      "alt-h-up", "alt-k"
 "alt" is released                                  "alt-k-up"
 "p" is pressed                                     "p"
 "k" is released                                    <none>
 "p" is released                                    "p-up"

I would like to see OGG Theora playback.

It’d be great to see different implementations of creating procedural terrain. We’ve got the HeightMap method, but it’d be nice to see terrain generation based on algorithms like the marching cubes or naive surface nets algorithm, with the ability to destroy the terrain that is generated. I think non-blocky destructible terrain like that offered by such algorithms in-built into the engine would be very great!

There’s a few things I would like to suggest:

  • Reimplement MIDI support for those who want to play midi files in their game, like how Panda3D used to do before the said feature was dropped. The advantage of this would be having sequenced music and/or sound events within the game if saving disk space is one of a developer’s goals or if there’s certain audio sequences that they don’t want to hardcode.
  • Allow users to code games in Cython; there’s a blog about doing so, although it’s 6 years old right now: https://www.panda3d.org/blog/tag/cython/

I think that it’s great If the engine could natively support hardware instancing (without shader file)
And natively support other open format for example obj (with texture) or .blend directly

In sample i think that it’s good idea to add example of procedural Terrain (heightmap) with physic

Directly loading .obj files and other formats is supported via the assimp loader that will be available in 1.10.

Awesome news.
Does this mean also (finally) Collada support with animations?
If yes, can the animations be in separate files like with the current egg format and loader?

COLLADA files can be loaded with the Assimp loader, and the loader does support skeletal mesh animations if Assimp can read the animation data, which it can for COLLADA (but not for blend files). However, it is not very well tested and is likely to be fairly buggy on anything expect simple rigs.

What makes a rig simple?

It was only tested on things like three connected bones deforming a box. So, actual character rigs might be hit or miss. Panda3D can also read COLLADA files using fcollada (dae2egg?), which may have better character rig support.

Figured it out myself.

I would like to know that in some places the code is at a low level, for example, the form of the matrix of the camera. For example, for OpenGL.

And how several video library interfaces are implemented.

Simply if study OpenGL, how can this be applied in pande3d, to implement its functions at a low level?

I don’t know if it has been requested before but can panda3d be made more artist friendly? Some editor similar like Godot will do. Thanks.

Oh and in case something like that is already there, can i get links?

Panda 3D Editor
There have already been several attempts to build a editor.
the most recent are these:
github.com/wezu/koparka
github.com/Moguri/BlenderPanda

I’m thinking some ideas to contribute by improving these tools.

Some form of loading screen or loading animation. I’ve seen people using static pictures pn startup when they initialize with DirectStart, but I think we should have something a little less jank that works with DirectStart or Showbase

It should, I think, be possible to implement this oneself, generally speaking. You could load your assets in a secondary thread, with the main thread rendering the relevant screen/animation until the asset-thread indicates that it’s done.

It’s really simple, you can use the program animation instead of the DirectWaitBar in the example.

I was thinking something to fill the few seconds of black I get when I first run the code, but I just realized that’ll probably be a lot less significant when the game starts on a menu screen rather than a level. Thanks for the loading bar example! I think I’ll use something like that for loading game saves

1 Like