Browsed by
Category: Trees

Towards a 3D British Tree Species CityEngine Library

Towards a 3D British Tree Species CityEngine Library

The ESRI.lib plant (trees) rule file is great but why is the most detailed ‘model’ a default?

I’ve talked about trees in CityEngine before, but not in any great detail.  The fact is 3D urban models look really dull without a few trees and plants. Come to think of it so does the real-world! 

A 3D model of Durham, UK looks way better with 90,000+ trees in it! 

I know the ESRI.Lib has a Plants directory and an amazing list of trees all in ‘Model’, ‘Analyical’, and ‘Fan’ 3D model types.  The Plant_Loader.cga and Plant_Distributor.cga I consider one of the most useful rule files for users in CityEngine, simply because it saves us time.   However it is quite North American in its approach and I’ve always meant to add to it with some ‘tweaks’ to reflect how I work and how I train others in my CityEngine courses.

Exciting dropdown lists! (work in progress)

So I’ve started a new project in CityEngine!   It is the start of a British specific tree species rule file, I’ve adapted a list of the British tree species (native and non-native) from the Woodland Trust.

Like this, but more (and British Specific).

I’ve made simple small steps at first and I’ve started at the interface (inspector pane in the CityEngine interface).  I’ve used the ESRI.Lib as a basis for an approach but obviously I want ‘British’ tree species.

After the overall structure of the interface and how it gets 3D assets to use is settled I will start trying to source 3D assets that represent these species.  That’s the difficult bit for each species Esri has done 3 models (model, analytical, and fan).  Whether I can finish this on my own is doubtful, so I will be adding this soon to my Github account and hoping others can help.  Now, I’m not a big user of Github at all but it seems a good place to do this.

Feel free to contact me directly if you want more information or better yet want to help!

National Tree Map & CityEngine : Part 2

National Tree Map & CityEngine : Part 2

Hmmm not quite… finally a use for street view though!

So I’m checking for errors now…. the rule file properly calculates the radius from the area polygons I have from the National Tree Map.  There are some anomalies though…

@geofeminina said of this screenshot “@elliothartley field check! #euroredwood onsteriods”

Overall I think this webscene is turning out rather nicely though….



3D Building Data from CyberCity3D

CyberCity Black

National Tree Map & CityEngine

National Tree Map & CityEngine

Bright green trees blocks, from a simple extrusion…

Well I’ve done something rash…. I’ve only gone and bought some National Tree Map data from BlueSky, with the crown size and point height I can now use the power of a rule file to realistically represent trees within my chosen study area (City of London).

CyberCity3D data & BlueSky National Tree Map data (trees yet to have real height)

I’m not going to tell you how I did it, anyone who has used CityEngine will have an idea, and since this is my main business I have to keep something secret!

What does this all mean?  Well I think it means with access to data from OpenStreetMap and specialist data like this National Tree Map combined with 3D data from people like CyberCity3D, I’m really starting to wonder why we need a national mapping agency for some things…


3D Building Data from CyberCity3D

CyberCity Black

Treetop walkway in CityEngine

Treetop walkway in CityEngine

UPDATE : Come see some screen shots of a 3D visualisation of a flood type map using Ordnance Survey opendata!

Inspired by the treetop walkway in Kew gardens I thought I’d make a quick rule file to change a road network into one.  Here is a screen capture of the result.

Treetop Walkway, plus trees controlled by elevation and soil type.
Treetop Walkway, plus trees controlled by elevation and soil type.

It is really quite simple and small as rule files go, and I still need to make proper handrails and of course an access point (stairs and lift).   I used SketchUp to model the pylon and then adjusted the road width to a walkway width and the sidewalks are used as railings.   Instead of junctions I used roundabouts and placed the SketchUp pylon model in the centre of the roundabout.

Different rule file from above similar result….

I hope to put this example and others up online in the near future….

UPDATE : Come see some screen shots of a 3D visualisation of a flood type map using Ordnance Survey opendata!

Landuses – Create a woodland – Random Tree Scatter

Landuses – Create a woodland – Random Tree Scatter

This is duplicate post of a discussion I started on ESRI’s CityEngine support forum

I know roads don't really look like that...

A quick CGA rule share here! This one allows you to place randomly a selection of tree models on a lot (with start rule “woodland”). In my city model I wanted to place some trees in open areas by a river so this was a quick solution. This places a number of random trees (100) of different sizes and ranges, I’ve also allowed for a setback so when the lot fronts a road the trees are not right up against it.

Obviously you can change the names of the rules to what you use and you could combine this with the landuses code I posted first in this discussion thread.

If you need a tree you could use SketchUp and if you have the free version you might want this OBJ exporter plugin

tree_asset = fileRandom("trees/tree*.obj") // you could just have *.obj and it would randomly pick any obj file in this directory, you can use sketchup to create an obj
attr treenumber = 100 //change this depending on your lot size, or maybe run an area test on the lot to determine the density of your woodland!
attr treeminheight = 5 // know your tree to get that realistic height, perhaps wiki it?
attr treemaxheight = 15
attr woodlandsetback = 5

	setback(woodlandsetback) { streetSide : woodlandborder | remainder : trees} 

	scatter(surface, treenumber, uniform) { palmtree }

	t(0,0,0) // you can change these numbers as well if you didn't want to place the tree at the scatter point centre
	s(0,rand(treeminheight ,treemaxheight ),0)
	r(0,rand(0,360),0) // rotates tree at a random rotation

	 extrude(1) woodlandbordercolor



As usual if anyone has any suggestions/thoughts/modifications please reply!