Table of Contents

Godot Project Editor

The description is valid for software version 2.9.123_99 and later.

Godot Project Editor is supplied with the Skylark SL NEO software kit. You can run the editor through Start→Programs→SL NEO Media Platform→Godot Engine or directly: C:\Program Files (x86)\SL NEO Media Platform\godot.exe. If you use custom Skylark nodes in your projects, use only the editor that comes with the software kit.

Do not use editors from the official Godot website or the web-version of the editor, as they do not support integration with Skylark SL NEO Media Platform by default.

Terms

Hotkey Combinations

Godot Editor (Hot Keys).

Tips

Tips for Working with Godot Editor.

Optimization

Developing Godot Engine projects, you can stick to a few simple rules to optimize the use of your platform’s resources and get the best results:

Creating Custom Scenes

In order to load multiple scenes by different users to Godot Engine without file names overlapping, users are expected to follow a certain naming and object placement structure:

For example, there is Project path=Z:\GodotProjects and a D:\User\Godot working folder with custom projects.

The user creates a new project in the D:\User\Godot folder. The editor will automatically create the following files:

Then, create a new folder in the editor (e.g. test) and place the rest of the files in there:

In the editor, export the project to a resource pack in *.zip format.

You can place the created resource pack in the Z:\GodotProjects folder, and then load the needed scene by its name in the control panel: Administrator Control Panel→Status→GodotEngine_N→Load scene=test.

Export Project to Resource Pack

Before loading projects into the Godot module, they must be exported from the editor to the resource pack.

Select the project export option on the menu: Godot Editor→Project Menu→Export….

Add a Windows Desktop upload the preset via Add….

Check all texture formats and press Export PCK/ZIP….

Export of project files will take some time.

Skylark Special Objects

The project editor that comes with the Skylark SL NEO distribution currently uses three custom nodes for integration with Skylark.

Use the “+” button to add sub nodes to your project’s tree.

Select the required node and press Create to add it to your project’s tree.

SLService Node

The Node→SLService node is used to exchange commands with Skylark SL Neo software modules:

SLFreedCamera3D Node

The Node→Node3D→Camera3D→SLFreedCamera3D node allows retrieving the camera movement and zooming data by the Free-D protocol. The Free-D protocol is configured on the camera or tracking device. UDP packets with Free-D data are sent to the address specified in SLFreedCamera3D. You can use the tracking data simulator to debug projects if a real camera with tracking data is not available.

ParameterDescription
Reception IPIP address used for incoming Free-D protocol connections from the tracking module.
Reception PortPort for incoming connections from the tracking module.
Reception Iface IPIP address of the interface used to receive the multicast data stream. Used when the Reception IP parameter uses a broadcast address to receive tracking data. The parameter is not filled in when unicast is used.
Camera IDFill this parameter if your camera uses a specific CameraID. If the same port and IP address are used to receive Free-D data from different cameras, the filled Camera ID parameter will help to identify the target camera. If the parameter is not specified, tracking data will be received regardless of the received Camera ID value.
Feed Delay (ms)The parameter defines the delay value of the received tracking data in milliseconds, so that the camera movement corresponds the camera image. Capturing video using Capture→ColorKey→VideoStreamPlayer will lead to video coming with a certain latency due to various buffering. However, the camera position may arrive with much less latency.
No Zoom FOVVirtual camera view angle corresponding to the camera zero zoom. Specified in degrees.
Max ZoomMaximum zoom value of the camera in degrees
Max Zoom ValueMaximum zoom value of the camera in conventional units sent in tracking data. Used to convert the retrieved value to degrees. The value may differ depending on the camera manufacturer.
Cur Zoom ValueCurrent zoom value of the camera in conventional units.
Feed ActiveData receiving activity indicator. Enabled automatically when the camera tracking module connects to the node and sends data.

SLVideoStreamPlayer Node

Standard node to control playback of video streams: Node→CanvasItem→Control→VideoStreamPlayer→SLVideoStreamPlayer. The node supports playing clips from the Skylark SL NEO media database.

ParameterDescription
In PointIn point in seconds. Using fractional values is possible. A dot is used as a delimiter. The default value is -1, in this case the IN point of the played clip will be used.
Out PointOut point in seconds. Using fractional values is possible. A dot is used as a delimiter. The default value is -1, in this case the OUT point of the played clip will be used.
LoopIf enabled, the clip will be played cyclically, based on the set In/Out Point values.
ParametersSetting key-value pairs for manual parameterization of uploaded graphic compositions.
DelayPlayback start delay required for preparatory operations (file reading, decoding, buffering, etc.). When designing the logic of scene operation and control commands, consider the clip starting its playback not before the specified time value.
FileName of the played file (video file, graphic composition, live clip, etc.). Possible options:
  • filename - if only the clip name is specified, playback defaults to the first local Skylark SL NEO server database.
  • medb://192.168.1.10:9902/title:filename - full path to the clip in the media database with the server address and media database port, if the clip is not in the first base.
  • res://filename - file addressing relative to the project root. These paths work only when running unpacked projects, as reading from ZIP archives is not supported. They are convenient to use on the debugging stage of the project to exclude configuring and launching the media database. Added in version 2.9.123.99.
  • user://filename - file addressing relative to the user’s directory. In Windows, this data is normally located in the directory: %APPDATA%\Godot\app_userdata\<Project_Name|Module_Name>. Added in version 2.9.123.99.
Local to SceneDuplicating resources while the scene is loading. Resources are distributed between all instances of the scene by default. Yet there may be situations when a resource property is to be changed at runtime for one object only.
PathSystem field
NameSystem field
Volume dBVolume control for the played clip. Possible values are from -80 dB to +24 dB. The 0dB value is used by default - no change to the volume level. If the volume level needs to be decreased, you can set the -80 dB value.
AutoplayAutoplays the selected clip when the scene starts.
PausedPauses playback of the uploaded clip. Pause playback in hidden nodes to optimize resource usage. Resources are used in all cases of video playback, even if the object is not visible on screen.
ExpandResizing the object.
Buffering MsecSystem field
BusSystem field

Space Orientation

Work with the SLVideoStreamPlayer node may lead to situations when the object is inverted in space: for example, when setting negative values for size or position, or using rotation. Such inversion will make the played video change its orientation in space as well.

The SLVideoStreamPlayer node has a shader applied to highlight the object sides according to the provided image, so that the correct space orientation of the output video can always be determined.

Below is an example of color coding of the sides corresponding to the default orientation.

Below is an example of the situation when the node has negative Scale values specified.