[023] Let's Start Learning CGA in Esri CityEngine
Let's Start Learning CGA in Esri CityEngine
Designing the rules of generation rather than modeling individual results.
This tutorial marks the beginning of our deep dive into CGA (Computer Generated Architecture). We shift our perspective from traditional manual 3D modeling to a rule-based procedural system. You will learn the fundamental logic of how CityEngine decomposes complex structures and get an overview of the core curriculum, including essential commands like extrude, split, and comp.
Finally, we are starting CGA!!!
Most 3D modeling software focuses on creating a single finished result called a building. You directly create the desired shape, modify it, and add detailed elements to complete the final model.
However, CGA is a bit different.
In CGA, you don't create the building itself; you design the rules by which the building is created. In other words, it can be said to be a method of creating the system that generates the result, rather than creating the result itself.
CGA stands for Computer Generated Architecture and is a procedural modeling method that generates buildings or specific shapes based on rules.
The concept of "procedural" is important here.
In my personal experience, procedural modeling doesn't just mean that code is executed in order. Rather, it is closer to how I will divide the shape I want, in what order I will subdivide it, and how I will build the structure. That is, the process itself of starting from a large mass and gradually dividing it into smaller masses, subdividing each element, and completing the form is important. This is the biggest difference from general 3D modeling methods.
In general 3D modeling software, the work order is relatively free. For example, when making a 15-story building, you can make the 1st-floor window first or modify the 7th-floor exterior wall first. The process of creating the shape doesn't necessarily have to follow a certain procedure.
But it's different in CGA.
Shape elements that share a single mass do not exist independently of each other. All subsequent shapes are determined by how you divide the building and into what structure you subdivide it.
In other words, in CGA, "by what rules it will be generated" is much more important than "how to make it."
And this process is not solved with a few mouse clicks.
CGA requires writing the procedure to complete the shape in code, and you must understand various commands, functions, variables, conditional statements, and data utilization methods.
As such, There is a significant learning curve.
In fact, many 3D designers I knew tried to approach it easily after seeing the automatic city generation scenes shown in Esri promotional videos, but they often gave up midway because they struggled with the programming aspect. It's not much different for programmers either. Even if the syntax itself doesn't look difficult, it's not easy to handle CGA properly if you lack an understanding of 3D space and shape generation structures.
The fact that it's not easy also means it's valuable.
CGA is not just a technology for making models, but is closer to a process of learning a way of thinking about generating shapes.
Those who have come as far as this lecture must already have a certain amount of interest and persistence. I don't think you approached it lightly enough to give up easily.
The upcoming CGA lectures are written based on my experience.
Instead of listing all commands in order, I intend to explain focusing on functions that are actually used a lot and concepts that must be understood. This is because basic concepts must be properly established for subsequent commands to be naturally understood.
It might be a slightly different flow from the official CityEngine tutorials. However, I plan to prioritize parts that were important in the actual work process and concepts frequently used in practice.
First, the contents to be covered in the basic stage are as follows.
1. Composition of Form
The first things to cover are the following three:
extrude
split
comp
These three are the core commands used first in most rules. On the surface, they may look like simple functions to extrude, divide, and separate. However, in reality, they are the most important concepts for understanding the entire CGA structure. They are likely to occupy the most volume among the lectures to be held in the future.
2. Change of Shape
Through "1. Composition of Form," we cover commands that adjust shapes such as size, position, and rotation of subdivided elements.
In this process, we also plan to introduce the concepts of axis and scope. This part is very important for understanding the CGA spatial structure.
3. Texture
We cover how to apply colors and textures.
After the shape is made, it is the process of making it look like a real model.
4. Coding Yourself
We analyze various shapes and write CGA code.
It's a stage to learn how to think and construct rules rather than just learning commands.
5. Using Python
We cover how to use CGA and Python together.
We plan to cover expanded work methods such as data processing, automation, and external value linkage.
CGA is not a simple modeling language.
It is a language for designing rules that generate shapes, structurally decomposing space, and creating repeatable systems. It may feel difficult at first, but once the core concepts begin to click, you will discover possibilities that traditional 3D modeling simply cannot offer.
Now, let’s begin step by step.
Among all CGA commands, split plays a central role because it defines how form is subdivided and structured.
We will begin with split, which I personally consider one of the most important concepts in CGA.
- Learn previous workflow in[022] Export CGA Rules to SketchUp Using RPK Packages
- Continue learning with [024] How to Use the Split Command with Fixed Values in CityEngine
Comments
Post a Comment
Feel free to leave a comment if you have any questions about Global Mapper or CityEngine. I will get back to you with a sincere response as soon as possible. (Please note that all comments are moderated and manually approved to maintain a high-quality community. Promotional or spam content will not be published.)