Jump to content

Features for next update


photo

Recommended Posts

These improvements to terrain sound very important for us indeed.  It will be good to get rid of our frame rate dropping issues on our large worlds.

Link to comment
  • 2 months later...
  • 1 month later...

editor tool suggestion:

 

Marquee select in editor and its toolbar.

 

Rectangular, lasso..

 

right to left=crossing (like cad)

 

(for tthose of us that have clients that change their designs)

 

Thanks.

N.

Link to comment

ok - seems this feature works in the Linux build but not the windows one... And while we are at it alt + f4 doesn't work in the windows build either.
And while we are at it we don't seem to be able to tab between fields when the Interface Plugin is being used.
 

Link to comment

danni.coy,

 

Could you please tell us what windows version and SDK version are you using?

We can't reproduce such behavior on our Windows test machines. Marquee selection is working in the Editor correctly (ctrl + mouse1). Tab between fields is working too, if you select the first field manually and then press Tab.

 

Alt + F4 functionality is disabled in Editor.

How to submit a good bug report
---
FTP server for test scenes and user uploads:

Link to comment

i have had some issues with keys too as the key for console ~ on my system key language (CS) has a differend ASCII number, so everytime i have to change it in cfg otherwise i cant bring up the command console, maybe the issue with not working CTRL for drag selection might be similar nature?

 

(For me the CTRL works just fine and i also did not know about it so thanks)

Link to comment

The main thing is thread-safe node and materials/properties loading.

There are three ways to load nodes in background:

  • Async.run("engine.world.loadNode","my.node"); and wait for the Async result.
  • id = engine.world.loadAsyncNode("my.node"); And get the loaded node from engine.world.getAsyncNode(id) function.
  • Automatic zone-based loader WorldLayer with load and clear distances.

Moreover Async can be used for simple Unigine script user functions threading.

Link to comment

Excellent !!! Just thinking about some details of large world streaming management:

 

A. How can nodes be unloaded and completely removed from world node tree ? node_delete() ? Will this also remove associated materials/properties resources ?

 

B. How to execute post-load script code (e.g. game object construction) for async loaded node (including sub-node-tree) ? Just passing user-defined function and loaded top-level node as argument to Async.run() ?

 

C. When will async loaded node be 'visible' within rendered scene ? Directly after end of async load ? Or will the node be initialy simply set to invisible, so async post-load script code can be executed first and then finally the node can be set to visible ?      

 

D: How to cancel async load operations e.g. if viewer has left "stream-in zone" in the meantime, so node no longer needed ? engine.world.cancelAsyncNode (id) ?

Link to comment

A: yep, node_delete removes the loaded nodes completely. Material libraries can be uploaded manually.

 

B, C: nodes which are loaded in the non-main thread is not visible until setEnabled(0)/setEnabled(1) functions sequence.

So any kind of logic can be executed after loading. Even inside loaded WorldExpression scripts.

 

D: Background loading can't be terminated. engine.world.removeAsyncNode() function removes loaded nodes from the loading queue and loaded list. But can't terminate the started loading process.

Link to comment

Just another question: is there any kind of load priority (comparable to implemented filesystem queue entry sorting based on entry priority value) for different WorldLayers and for engine.world.loadAsyncNode() to favour background loading of more important node files (e.g. surface tiles) before more unimportant ones (e.g. surface details).

 

This would be very helpful for script-based customizable streaming strategy optimization.

Link to comment
×
×
  • Create New...