An open API service indexing awesome lists of open source software.

https://github.com/parkerbritt/maya_building_generator

Personal project to create procedural buidings in maya
https://github.com/parkerbritt/maya_building_generator

city-builder maya maya-python procedural-generation procedural-programming vfx

Last synced: 3 months ago
JSON representation

Personal project to create procedural buidings in maya

Awesome Lists containing this project

README

        

Procedural Building Generator for Maya





### Overview

**Procedural Building Generator** is a script for generating 3D urban environments in Autodesk Maya.
The system creates customizable building facades and layouts through procedural methods.
It is ideal for quickly creating buildings from simple geometry.
> [!IMPORTANT]
> This script may not function on other systems without modifications, and updates or support are not planned.

### Features

- **Procedural Generation**:
- Automated placement of windows, doors, trims, and bricks.
- **Customizability**:
- User-defined parameters like floor density, ground floor height, and trim dimensions..

## Technologies Used

- Python 3.10.8
- Autodesk Maya with `pymel` and `cmds` modules
- UI elements via `PySide2`

## Core Components

1. **Building Generator** (`building_gen.py`)
- Generates buildings from a reference cube geometry.
- Applies shaders, trims, and geometry adjustments.
2. **Building Facade Logic** (`building_side.py`)
- Manages facade elements like windows, doors, and trims.
- Supports density-based distributions and bilinear sampling for precise placements.
3. **Stair Generator** (`stairs.py`)
- Creates spiral or straight staircases with randomized dimensions.
4. **Ball Animation** (`ball.py`)
- Implements bouncing ball animations synchronized with stair geometry.
5. **Scene Management** (`scene_data.py`)
- Centralizes scene-wide parameters like step dimensions and ball sizes.

## Usage

### Prerequisites

- Autodesk Maya installed with `pymel` module.
- Basic knowledge of Python and Maya scripting.
- Appropriately named primitive geometry to populate the building with. (check the code for details)

### Installation

1. Clone the repository to your maya scripts directory. On Linux this is at ```~/maya/scripts```
```bash
git clone https://github.com/ParkerBritt/maya_building_generator
```
2. Import the library with
```python
import maya_building_generator
```
3. Call the desired function