Posts

[065] How to Insert External 3D Objects in CityEngine

Image
Understanding importing and scaling external 3D assets in Esri CityEngine using the CGA i() insert command. This tutorial covers the fundamental syntax and behavior of the CGA i() command in CityEngine, explaining how imported 3D models adapt to point, line, face, and volume scope dimensions across procedural modeling workflows. I am posting this briefly as I have a bit of time during my schedule. I planned to work on CGA coding while looking at building photos, but I realized I missed one critical command. The elements that make up a building—walls, windows, doors, window frames, fences, surrounding ornaments, water tanks, air conditioner outdoor units, signboards, landscape trees, and so on—are far too numerous to list. Implementing all of these directly in CGA??? While not impossible, there is certainly no need to do so. We must use an effective method. Among the various elements of a building, if a component is al...

[064] How to Transform UV Coordinates in CityEngine CGA

Image
Understanding UV transformations in Esri CityEngine to rotate, scale, translate, tile, and delete texture mapping coordinates using CGA rules. This tutorial covers essential UV manipulation commands in CityEngine CGA, including rotateUV, scaleUV, translateUV, normalizeUV, tileUV, and deleteUV, enabling precise texture placement and alignment on 3D procedural geometries. This is the final lesson on texture control. Today, we will learn about commands to control texture rotation, scale, position, and more after applying textures using projectUV() . You might wonder why separate commands exist when size or position can be configured in setupProjection() . However, strictly speaking, the commands used here are not applied directly to the texture itself, but rather to the UV coordinates of the texture. They transform the UV coordinates assigned to the texture. When we generally perform modeling in 3D programs, the ...

[063] How to Apply Multiple UV Sets and Maps in CityEngine

Image
Learn how to layer multiple UV sets in Esri CityEngine using the set() command and material map attributes to overcome texture overlay issues. This tutorial explains the limitations of using the texture() command when handling multiple UV sets on a single object in Esri CityEngine and demonstrates how to properly assign multiple texture channels like colormap and dirtmap using set() and projectUV(). We already covered the 10 uv-sets in the last lesson. Each has a unique index number, and each unique index has its designated texture attributes. figure 1 : https://doc.arcgis.com/en/cityengine/latest/cga/cga-texturing-essential-knowledge.htm As seen above, a total of 10 uv-sets from 0 to 9 each have their own unique texture attributes. So let's apply a colormap and a dirtmap using setupProjection(), texture(), and projectUV() learned in the previous lesson. Lot --> setupProjection(2,scope.xz...

[062] How to Apply and Project UV Textures in CityEngine - texture(), projectUV()

Image
Learn the texture() and projectUV() commands to accurately apply 2D image maps onto 2D polygons and 3D architectural models in Esri CityEngine. This tutorial covers the complete step-by-step workflow for procedural texturing in Esri CityEngine CGA. Learn how to map texture file paths with texture() and map UV projection coordinates using projectUV(), complete with code examples, 3D volume extrusions, and scope orientation considerations. Understanding these three commands—setupProjection(), texture(), and projectUV()—is essential for procedural texturing in CityEngine. Last time, we looked at setupProjection(), which prepares space for textures. Today, we'll cover the remaining two commands required to apply textures: texture() and projectUV(). Let's start with the texture() command. Figure 1 https://doc.arcgis.com/en/cityengine/latest/cga/cga-texture.htm The texture() command simply specifi...

[061] How to Set Up Texture Projections in Esri CityEngine - setupProjection()

Image
Learn the setupProjection() command to define UV sets, mapping axes, and texture dimensions in Esri CityEngine CGA. Texturing in Esri CityEngine relies on a structured three-step workflow using CGA commands. This tutorial explains the first essential step, setupProjection(), covering map types (uvSet), mapping axes, texture scale, offsets, and corner wrapping behavior for procedural 3D models. Recommended Audience: GIS professionals, 3D urban planners, and CGA developers looking to master texture projection parameters in CityEngine. Starting today, we'll begin learning how to apply textures to create more realistic materials. If you're already using CityEngine, you're probably familiar with at least one or two 2D or 3D graphics applications. Texture mapping is generally much more intuitive in traditional 3D modeling software. Texturing in CityEngine requires a solid understanding of several con...

[060] CityEngine CGA color() Command Exercises for split.index and Conditional Rules

Image
Understand procedural color mapping in Esri CityEngine using practical CGA exercises to control dynamic gradients and complex shape divisions. This tutorial provides hands-on practice for the CityEngine color() command. You will learn how to write rule scripts to generate progressive color transitions on repeating splits and analyze existing logic arrays to trace complex coordinate color distributions. Today, we will practice several exercises using the color() command. Let's do two exercises: one where we write code by looking at an image, and another where we predict the result by looking at a piece of code. What You Practiced Using color() with RGB values Working with split.index Building procedural color gradients Tracing nested split logic Using conditional branches in CGA Exercise 1: Create a Procedural Color Gradient First, look at the image below and try coding it yourself. ...

[058-059] Applying Colors and Shape Attributes in CityEngine CGA

Image
Learn the color() and set() commands in Esri CityEngine to apply materials and control dynamic shape attributes programmatically. This comprehensive CGA scripting tutorial covers the dual approaches to rendering materials in Esri CityEngine. You will learn how to apply simple colors using hexadecimal values and RGB arrays, modify shape properties dynamically with the set() command, and implement the @Hidden annotation to keep programmatically overridden attributes from causing interface conflicts in the Inspector UI. So far, we have covered the most basic commands that define shape geometries: comp, split, extrude, and scope. Applying Colors in CityEngine CGA Starting today, we will look at commands for applying materials to shapes. First, we will examine the color command, which applies a simple color to a shape. Below is the reference for the color command. figure 1 : CGA color Command Reference ( https...