Get desktop application:
View/edit binary Protocol Buffers messages
The parameters defining an animation. At the moment, this does not support keys yet. Instead, there's an assumption based on the type of animation, e.g. rotations assume that each run of the animation means one full (360°) rotation.
Used in:
the fraction of the entire animation that is completed each second.
the property that is being modified
Used in:
clockwise rotation around the model's local x axis (before InstanceGeometry's transformations are applied)
what happens after the animation completes
Used in:
restart the animation from the beginning. Remaining progress should be used in the next cycle (i.e. modulo-style wrap).
the source of the animation timer. May eventually be extended to include local time in the simulated location, animations triggered by user interaction, or factors such as wind direction.
Used in:
A clock counting seconds with arbitrary starting point. Can even be started at different values for different models to prevent synced animations.
geometry produced by extruding a 2d shape. See OSM2World's Target.drawExtrudedShape method for documentation of the parameters.
Used in:
the geometry's material, referencing materialBlock
the shape to be extruded, referencing shapeBlock
referencing vector3dBlock
referencing vector3dBlock. Same length as path. Can be omitted, defaults to z unit vector.
multiplicative factor, times 1000. Either omitted (if no scaling is applied) or same length as path.
copies of some prototype model, possibly rotated and scaled
Used in:
the prototype model, referencing the modelBlock. Alternatively, an external resource can be referenced using resourceIdentifier.
string identifying an external model in some way, e.g. as an URI or a string constant. Alternatively, a prototype model included in this file can be referenced using the model field.
position of each instance. Values are in millimeters relative to the center of the tile (like Vector3dBlock). Each position is represented as an x, y, z triple of values.
rotation angle around the y axis for each instance in milliradians, clockwise. Either one third of the length of 'position' or empty (for a default of 0).
scale factor for each instance in 1/1000. Either one third of the length of 'position' or empty (for a default of 1).
this message is present if this geometry is animated
a set of material properties, using RGB colors. Color components are in the range [0, 255].
Used in:
texture layers, ordered from bottom to top
the type of transparency
whether this material casts shadows
whether this material is double-sided. If true, backface culling should be disabled, and two-sided lighting should be enabled.
* a set of PBR textures representing one layer of the material. All textures in the layer use the same texture coordinates.
Used in:
URI of the base color + alpha texture image, can be relative, can be a data URI
URI of the occlusion/roughness/metalness texture image, can be relative, can be a data URI
URI of the normal map texture image, can be relative, can be a data URI
URI of the displacement map texture image, can be relative, can be a data URI
URI of the emissive texture image, can be relative, can be a data URI
URI of the reflectivity texture image, can be relative, can be a data URI
how the texture behaves for texture coordinates less than 0 or greater than 1
whether the base color texture should be multiplied with the material's base color value
width of the texture in millimeters.
height of the texture in millimeters.
Used in:
No standard function is used. Texture coordinates for this layer will be provided alongside the geometry.
uses x and z vertex coords together with the texture's width and height to place a texture
Used in:
Used in:
arbitrary transparency, including partially transparent pixels
only allow pixels to be either fully transparent or fully opaque
all pixels are opaque
a block containing all materials used in the tile.
Used in:
a block containing all template models used in this file. Each model is represented as a WorldObject with no id or type. A template model must not use InstanceGeometry itself.
Used in:
the template models that can be copied (with slight variations) in multiple locations
a 2d shape
Used in:
parameters for the shape, such as the radius of a circle. The precise meaning depends on the shape type!
Used in:
a circle. There are only two parameters: - the center, as a reference to the vector2dBlock - the radius, in millimeters.
a closed polygon. The parameters represent a series of 2d vectors (x0, y0, x1, y1, ...). Vector components are in millimeters.
a polyline. The parameters represent a series of 2d vectors (x0, y0, x1, y1, ...). Vector components are in millimeters.
a block containing all 2d shapes used in the tile.
Used in:
a block containing strings referenced elsewhere in the tile.
Used in:
a tile with 3d data
geometry consisting of a set of triangles
Used in:
the geometry's material, referencing materialBlock
vertices of the triangles, represented as 3 references to the Vector3d block each. At least 1 triangle (i.e. 3 vertex references) required.
texture coordinates for each vertex of the triangles, referencing the Vector2d block. Texture coordinates are only provided for those layers which are using the CUSTOM texture coordinate function (see Material). The length of this list is that of vertices, times the number of CUSTOM-coordinated texture layers. Starts with all vertices' tex coords for layer 0, then 1 etc.
a block containing all two-dimensional vectors used in the tile. See Vector3dBlock for more details. All values are multiplied with 1000.
Used in:
a block containing all three-dimensional vectors used in the tile. Vectors are referenced via their position in this block. Values are in millimeters relative to the center of the tile. The first 3 values are x, y, and z coordinates of the first vector, etc. Therefore, the number of coordinates must be divisible by 3.
Used in:
a three-dimensional object
Used in:
,the OSM id of the primary element this object is created from, if any
the type of this WorldObject, in broad terms. References stringBlock.
geometry this object is composed of; at least 1 of this or one of the other geometry types is required
geometry this object is composed of; at least 1 of this or one of the other geometry types is required
geometry this object is composed of; at least 1 of this or one of the other geometry types is required
* defines a level of detail (0 to 4) as the lower end of the range where this is visible
* defines a level of detail (0 to 4) as the upper end of the range where this is visible