CityEngine 2014.0 Release Notes

Built-in Esri rule library

With the CityEngine 2013, we released the "Esri Vegetation Library with LumenRT Plants", supporting 75 of the most common and practical genera plants/trees (realistic, compact and analytical).

With CityEngine 2014.0, we are expanding this library concept with more built-in rules such as Building, Façade, Roof and Street rules. You can easily 'import' these Esri base rules into your CityEngine projects or copy and modify them to suit your own needs.

Built-in Esri rule library

Improved hole support

This long-time requirement has been improved again. In CityEngine 2014.0, holes in polygons are now supported by the following CGA operations: offset, roofGable, roofHip, roofShed operations.

Improved hole support

Improved streets

Street creation also got some major improvements in CityEngine 2014.0. For an overview of what has been improved and fixed, please see 'Improvements and fixes' below for details.

Unity example plugin based on the CityEngine SDK

The Esri CityEngine SDK enables 3rd party developer to integrate CityEngine's geometry engine, the so-called Procedural Runtime into client applications. Users can develop their own procedural modeling solution, ranging from a standalone application to CityEngine plugins for commercial 3D/GIS tools. This means, developers can now take full advantage of CityEngine's procedural capabilities without running CityEngine or ArcGIS. CityEngine is only needed to author the procedural modeling rules. Moreover, using the CityEngine SDK, you can extend CityEngine with additional export formats or storage back-ends beyond simple files.

With this CityEngine 2014.0 release, we are providing you with a Unity example showing how you can embed the CityEngine SDK into the Unity game engine for native procedural geometry creation.

Unity example plugin based on the CityEngine SDK

Each SDK deployment requires a CityEngine license. This license can be CE advanced or CE basic. The license can be single node locked or coming from a license server. Middleware licensing will be on a case-by-case basis.

The CityEngine SDK and Unity example are available Github.

Improvements and fixes

Street improvement

  • Improved performance, especially for large street networks
  • Improved crossing shape tessellation
  • New object attribute to distinguish left and right sidewalk shapes
  • New shape source 'shape parameter'
  • Second uv set for streets, identifies stop-lines and street edges
  • Entries now integrated into shapes
  • Removed junctionEntry and roundaboutEntry shapes
  • Improved 'grow streets' tool (number of lanes)
  • Improved 'analyze graphs' tool

Generic Improvements

Supported Projected Coordinate Systems

  • Added EPSG:3857 (Web Mercator Auxiliary Sphere)
  • Added SCS EPSG:5254 (TUREF_TM30)

Export Features

  • Enabled loading of custom exporters based on CE SDK 1.1.x and later
  • MultiPatch triangulation option added

CGA changes: (check CGA change log in the manual for all details)

  • Occlusion: ignore y-axis for potential occlusion
  • Improved hole support in CGA:
    • offset()
    • roof operations
  • setback() operation: new syntax and selectors for selecting edges based on their uv coordinates
  • tileUV() operation: textureWidth or the textureHeight parameter protection
  • import: attr value propagation logic simplified
  • The @Hidden annotation before an import hides the imported rule file in the Inspector
  • The @Hidden annotation now supports attribute mapping. Attributes that are mapped do no longer need to be visible in the Inspector

Python

  • New methods:
    • setFirstEdge()
    • setStreetEdges()
    • separateFaces()
    • combineShapes()
    • setCameraPoI()
    • get/setExportedContent in CEWebSceneExportModelSettings
    • get/setReportMode in DAEExportModelSettings and KMLExportModelSettings
    • get/setFacesWithHoles, get/setTriangulatedMeshes in FGDBExportModelSettings
  • Changed methods:
    • get/setStreetWidthSettings in GrowStreetSettings
    • New argument in addAttributeLayer to add georeferenced textures
    • 'StreetWidth' changed to 'StreetLanes' in AnalyzeGraphSetings

Bug Fixes

  • Licensing:
    • Concurrent licensing now uses correct number of licenses
  • UI Bugs:
    • 'CE connected to AGOL' popup -> fixed
    • Model Hierarchy: Model Hierarchy and model are now synchronized
    • Model Hierarchy: Correct rule parameter value order
    • Model Hierarchy: x,y,z keys no longer change camera
    • No file reverts on CGA files, fixed
    • 'Wrong graphics card' message removed
    • Retina, Mac OS 10.9: Selection on external displays is fixed
  • Navigator Bugs:
    • OBJ preview no longer crashes
  • Dynamic City Layout Bugs:
    • Big roundabouts/misc streets no longer "pop" as camera moved
    • Import errors are no longer suppressed by another import
    • Invalid import path leads to drag-n-drop message 'no start rule found' -> fixed
  • Tool Bugs:
    • setFirstEdge tool: no more lost textures and holes
    • setFirstEdge tool: other shape's firstEdges are not altered anymore
    • Cleanup Shapes Tool: Nullpointers fixed
    • Cleanup Shapes Tool: no longer crashes
    • Texturing Tool: Scene Coordinate System chooser behavior improved
    • Polygonal Shape Creation Tool: stability improvements, general improvement of algorithms
    • Polygonal Shape Creation Tool: Missing / non optimal snap lines, fixed
    • Polygonal Shape Creation Tool: improved topology
    • Polygonal Shape Creation Tool: Value entry field fixed
    • Snapshots no longer discolored or with alpha channel
    • Escape from SCS chooser now works again
    • Invert selection tool fixed
    • Align terrain to shapes tool fixed
    • convertModelsToShapes() no longer ignores scene offset
    • Error on drag n drop texture on start shape, fixed
  • Inspector Bugs:
    • Rule attribute evaluation is now correct
    • Improved scroll behavior
    • Manual material deletion works again
    • Reports are now up to date with current model
    • Layer Attribute Connections don't work when referencing other scene layers, fixed
    • Order of imported rules in CGA no longer determine order in the inspector, fixed
  • Import Bugs:
    • Imports made more robust towards corrupted files
    • Improved parser robustness (whitespace handling, mtl resolution)
    • GDB import leaves viewport white, fixed
    • GDB import texture assignment improved
    • KML not finding textures (valid path), fixed
    • KML import: Parsing error fixed
    • KML import: 'parsing error and "too far from scene contents" warning' fixed
    • KML importer more tolerant when parsing kml xml data
    • Improved import of donut polygons (holes)
    • Improved import of shapes/static models from OBJ/DAE
    • Multipatch shapebuffer decoder: corrected z-up to y-up conversion for vertex normal
    • Big assets (heavy geometry, many textures) improved stability
    • Import wizard: fixed resize tabular columns within coordinate system window
    • Improved proposed SCS
    • CE Freezes on GDB import, when the target GDB was just added a new feature class, fixed
    • SAXParseException fixed
    • Improved data alignment
    • Improved Terrain alignment
  • Export Bugs:
    • Offset Bug (Shifted data in WebScenes), fixed
    • Multipatch Export now resolves multiple OBJECTIDs
    • Exporter dialog UI has now correct focus
    • Model visibility in Google Earth issue fixedMultipatch encoder: corrected z-up to y-up conversion for vertex normal
    • GDB import of textured MultiPatch features misarranged some textures, fixed
    • Multipatches no longer lose color/texture when imported into CityEngine
    • Export speed improved significantly
    • Export memory consumption reduced
    • Improved WebScene export stability
    • Images downscaled on 'original size' (WebScene), fixed
    • Improved KML export
    • Fixed project name vs. filesystem path on opening webscenes
  • CGA Bugs (check CGA change log in the help manual for all details):
    • General import issues, fixed
    • Imported 'attribute protection' issues, fixed
    • General attribute sampling issues, fixed
    • Asset import path issues, fixed
    • Asset lookup function issues, fixed
    • fileSearch() returning relative instead of absolute paths, fixed
    • Initial shape attribute values wrong in const / attr functions, fixed
    • comp() selector issues fixed
    • imageInfo() crashes, fixed
    • imagesSortRatio() crashes, fixed
    • Style Preview: User attrs not considered in style previews, fixed
    • New style definition always saved in the 'primary' rule instead of the current rule, fixed
    • geometry.angle() broken, fixed
    • Occlusion: Invalid inside() test, fixed
    • UV-split failing (ignoring small shapes in rare cases), fixed
    • fileSeach(): spaces in quotes now possible
  • Python Bugs (check Python change log in the help manual for all details):
    • Mac OS: Starting python console states 'Cannot connect to server', fixed
    • GeoTif terrain import not reading georef metadata, fixed
    • Filter between 3d viewport and preview ( isViewport filter returns true for both), fixed
    • Python-wrapper for texturing tool not working, fixed
    • ce.getVertices() not returning firstEdge vertices first, fixed
  • CityEngine Web Scene Viewer Bugs:
    • Floating point precision issue fixed (related to offset bug in CE)
    • Light rendering fixed in cases of polar days/nights
  • Rule Package Bugs:
    • MTL files cause many log errors, fixed