
Houdini has several ways to generate randomization and Robby discusses the basics of HScript and VEX script through the Point SOP node and parameter expressions. An expression cheat sheet created by Robby is provided to help reduce the time needed to. Residencies expression of interest application formAll expressions must be of the same type.ReturnsAn array that contains the returned values of expression for each component.Arrays can not be declared as attr or const. Its size is equal to the number of faces, edges, etc.
Porosity could be understood as the field of void spaces that consist of a variety of functions both private and public.Access to Attributes in Houdini Expressions. Houdini displays the CityEngine material attributes in a JSON structure in the abcuserProperties column.These void spaces cater for the flow of people, resources, activity and systems.The various void spaces of the city form an Ecology in relation to each other, simultaneously acting independantly and relying on each other.By prioritizing how these void spaces are organized, they will form the structural armature for new alternative models of void/solid urban field conditions.Building on the Utopian legacy of the Metabolists, Landscape Urbanists, New Urbanists and Team X, we will create future visions for Fishermans Bend.We will use CityEngine and Python scripting within Grasshopper for generative potentials in studio, and Q-GIS /ArcGIS/ D3 to interrogate sets of maps and data visualization within the Architecture and the City History component to support. Matthias Buehler approached me not long ago, sharing his personal project ‘Favela’ which immediately got me curious. Knowing Matthias works at ESRI as 3d Product Engineer involved with the CityEngine project I knew that some cool stuff are. R:ADAR - Review: Art, Design and Architecture ResearchDownload QGIS 3.4 User Guide PDF (24mb) Download QGIS 3.4 LTR (Windows & mac) GIS English 2019. I cant test your cga in 2011.2 but with 2014.1 your code works as expected (colors the buildings).
Each image was manually cleaned up and processed in CityEngine’s Facade Wizard to get 60 rules that produce a volumetric facade representation, which can adapt to any facade width.Depending on the width, the splits that happen during the model generation, delete, repeat or scale individual parts to adapt to the given dimension.The full facade library, assigned to 3 floor height variations :The rules automatically adapt to any given facade width :All 60 CGA facade rules were then manually post-processed to additionally produce polygons, where I first defined, which elements represent windows and which wall. Procedural BuildingsI gathered 60 images of individual facades (1 floor high each), with the same statistical distribution of grey brick, red brick and plaster facades, as found in our reference images. CityEngine is still unknown to most city planners, thus this project is supposed to show the potential of the software to study and develop smart city models in all scales.For the renderings, we chose Maxwell Render by Next Limit, which I have used for years and years and simply produces the best quality images without having to worry about setup or tweaking, which I so dearly hate. Sadly, some architects that have seen the images of this project just thought it was a ‘tasteless elitist mockery’ of the people who actually live in Favelas… It’s not! It’s sad to see that some people just read bad things in what they see. It was supposed to display the culmination of all the know-how I had collected so far, but it went a lot further.The second and more important aspect of it was to show the sheer potential of CityEngine as a tool in urban planning. I’ve been working on the CityEngine development team as a product engineer for 2 years by the time the project started and obviously never really had the time to do such a detailed project during work, so I started it in my spare time. For instance, color (F00100) for red.

Cityengine Expression Plus Interior Scene
All together – city model plus interior scene – we ended up with 1070 textures!Left – Color map, Middle – Normal map, Right – Roughness map :Material test render with all maps. For most color maps, we created a few variations in color. Bricks, pallets), while others usually appear in a ‘geometric array’, such as electrical boxes or trash bags.Rule-driven asset distribution on any polygon :For every texture we made, we also manually created a normal map and a roughness map.

The reason why I chose this format is because it’s an ascii file format, which I can fully parse. OBJ-Based Geometry Export and ParsingAll geometry is written to the obj file format. Each step is represented by a series of scripts, all written in CityEngine’s Python, ‘native’ Python, Maxwell Render’s pyMaxwell and Maya’s MEL. Some of them did not work due to bugs and other issues.In the end I settled with the following 4-step pipeline. So I wanted to have a process in place, where we can go from a few generated buildings in CityEngine, to starting a render in Maya within one minute.I had played with different approaches. I knew we’d be creating lots of different variations of the Favela before we’d be happy.
That way, I was able to control every aspect of the material types I needed – from metallic surfaces to mineralic surfaces to leaves and grass with thin-leaf SSS. For this, I created a python script which parses the material definition and automatically creates new pyMaxwell code, which when run, produces a separate MXM file for each material found. MXM CreationSince we were using Maxwell Render and did not want to stick to any default material translations, I decided to find a solution to translate the default materials myself to the MXM materials that Maxwell consumes natively.
That is 155 million polygons. Full geometry – This original approach I took was to completely ignore any instancing and go brute force: Simply writing out everything as polygons. VegetationI designed 3 ways to port the vegetation to Maya :
Reported instance positions to particle systems – Since in CityEngine, all vegetation (including potted plants on balconies) is placed in a rule based manner, it was crucial to have a way of keeping track of the precise position of each plant. The base geometries themselves I set to ‘invisible to camera and GI’, thus don’t render. Base geometries to scatter instances on – This is the simplest of the three approaches: By just writing out the base geometry on which the vegetation instances should sit on, I was able to use the ‘scatter’ geometry modifier of Maxwell Render 3.0 to scatter massive amounts of instances on these geometries. Test renders ran fine on my 64 GB RAM machine, but since all other 13 machines we had to render on only had 32 GB of RAM, I absolutely needed a different approach, using instancing (The final renders peaked at 21 GB).

And often, he reminded me that ‘bevels cost extra’!Thanks again to Cyrill Oberhaensli, who provided some of the assets of his own indie game ‘Bunker 16’. He did an amazing job, modeling everything with enormous detail. Thus, for us, the project represents the saying ‘the journey is the reward’. Cyrill modeled most of the interior, all in Cinema4D. When studying the model carefully, one can see that the model is not yet completed – an other hint to the ‘WIP’ character of our project that took 2.5 years.Throughout the whole hobby room, we placed objects and test renderings that we had collected during our journey.
