Skip to content

F1 track documentation #536

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 115 additions & 0 deletions Docs/Realistic_F1_track_creation_en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Creating Custom Worlds and Circuits in Blender

## Download and Install the GIS Addon

First, you need to download and install the **GIS Addon** in Blender. To do so:

1. Go to the official GitHub repository of the addon.
2. Navigate to the **Releases** section and download the `.zip` file.
3. **Do not unzip** the `.zip` file.

In Blender:

1. Go to `Edit -> Preferences -> Add-ons -> Install`.
2. Select the downloaded `.zip` file.

---

## Creating the Terrain

1. Open the **GIS** menu (toolbar in the viewport).
2. Go to: `GIS -> Web Geodata -> Basemap`.
3. Choose `Google`, then `Satellite`, and click **OK**.
4. A world map will appear, where you can select the desired area.
> It's recommended to keep the terrain under **5 km** in both width and height.
5. Press **B** to make a precise selection of the area.
6. Press **E** to delete the rest of the terrain.

---

## Adding Elevation

1. With the terrain selected, go to the **GIS** menu and choose `Get elevation`.
2. Select the source **Marine-geo.org GMRT**.
3. This will apply elevation to the terrain using modifiers.

> Apply the modifiers **from bottom to top** to convert the terrain into a mesh.

To increase mesh resolution:

- Add a **Subdivision** modifier.
- Adjust it until the size of the terrain blocks is about twice the width of the road or less.

---

## Creating the Road

1. Create a **Path-type curve** at the starting point of the track.
2. Enable **Face Project** in the snapping tool so the curve conforms to the terrain. Move the curve closer to the terrain if needed.
3. Switch to **Edit Mode** and start adding and adjusting curve points to follow the desired track layout.
4. In the `Object Data Properties` panel:
- Set `Twist Method` to **Z-Up**.
5. Disable snapping once you're done.

---

## Option 1: Road on Top of Terrain

1. Create a **generic block** to represent the asphalt.
> If you want guardrails along the track, include them in this block.

- The block width should match the road width.
- The length can be roughly half the width.

2. Place this block at the starting point of the track.
3. Add the following **modifiers** to the block:
- **Array**: To duplicate the block along the path.
- **Curve**: To make the block follow the curve.
- **Solidify**: To give thickness to the asphalt.

Make sure to:
- Enable **Merge** in the Array modifier.
- Assign the curve to the **Curve** modifier.

4. Adjust the curve to avoid floating or sunken areas.
5. Apply the modifiers and texture the road as desired.

---

## Option 2: Road Included in the Terrain

> This method creates a single mesh but may result in **N-gons** (polygons with more than 4 sides).

1. Follow the initial block creation steps, **without adding Solidify**.
2. Save the **Z-coordinate** of the road block.
3. Slightly elevate the road so it sits completely above the terrain.
4. Select the terrain and enter **Edit Mode**.
5. In **Top View**:
- Click on the road object.
- In the `Mesh` menu, use **Knife Project**.

6. In the `Vertex Groups` section:
- Create a new group and assign the projected selection to it.
7. Deselect the road using `Ctrl + Click` and press `Delete` to remove the faces.
8. Return to **Object Mode** and move the road back to its original Z-coordinate.

9. Add a **Shrinkwrap** modifier to the road:
- `Target`: The terrain mesh.
- `Vertex Group`: The group you created.
- `Wrap Method`: **Nearest Vertex**.

10. Apply the modifiers and texture the road as desired.

---

## Final Notes

- Save copies of your project before applying important modifiers.
- You can export the track for use in engines like Unity or simulators like Gazebo.

---

## Useful Links

- [Blender GIS Addon (GitHub)](https://github.com/domlysz/BlenderGIS)
- [Marine Geoscience Data System (GMRT)](https://www.marine-geo.org/tools/maps_grids.php)
115 changes: 115 additions & 0 deletions Docs/Realistic_F1_track_creation_es.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# Creación de mundos y circuitos personalizados en Blender

## Descarga e instalación del addon GIS

Lo primero será descargar e instalar el **GIS Addon** en Blender. Para ello:

1. Accede al repositorio oficial de GitHub del addon.
2. Dirígete al apartado **Releases** y descarga el archivo `.zip`.
3. **No descomprimas** el `.zip`.

En Blender:

1. Ve a `Edit -> Preferences -> Add-ons -> Install`.
2. Selecciona el archivo `.zip` descargado.

---

## Creación del plano

1. Abre el menú **GIS** (barra de herramientas del viewport).
2. Navega a: `GIS -> Web Geodata -> Basemap`.
3. Selecciona `Google` y luego `Satellite`, y haz clic en **OK**.
4. Aparecerá un mapa del mundo donde podrás ubicarte en la zona deseada.
> Se recomienda que el terreno no supere los **5 km** de largo y ancho.
5. Usa la tecla **B** para hacer una selección precisa del área.
6. Usa la tecla **E** para eliminar el resto del plano.

---

## Añadir elevación

1. Con el plano seleccionado, en el menú **GIS**, elige `Get elevation`.
2. Selecciona la fuente **Marine-geo.org GMRT**.
3. Esto aplicará elevación al plano mediante modificadores.

> Aplica los modificadores **de abajo hacia arriba** para convertir el plano en una malla.

Para mejorar la resolución (aumentar la cantidad de malla):

- Añade un modificador de **Subdivision**.
- Ajusta hasta que el tamaño de los bloques sea el doble del ancho de la carretera o menos.

---

## Creación de la carretera

1. Crea una **curva tipo Path** en el inicio del circuito.
2. Activa **Face Project** en el imán para que la curva se adapte al terreno acercando la curva a la carretera si es necesario.
3. Pasa a **Edit Mode** y comienza a añadir y ajustar los puntos de la curva siguiendo el trazado.
4. En el menú `Object Data Properties`:
- Cambia `Twist Method` a **Z-Up**.
5. Desactiva el imán una vez finalices.

---

## Opción 1: Trazado por encima del plano

1. Crea un **bloque genérico** que represente el asfalto.
> Si quieres añadir guardarraíles, inclúyelos aquí.

- El ancho del bloque debe coincidir con el del circuito.
- La longitud puede ser aproximadamente la mitad del ancho.

2. Coloca este bloque en el primer punto del circuito.
3. Añade los siguientes **modificadores** al bloque:
- **Array**: Para repetir el bloque.
- **Curve**: Para seguir la curva del circuito.
- **Solidify**: Para darle grosor.

Asegúrate de:
- Activar **Merge** en Array.
- Asignar la curva en el modificador **Curve**.

4. Ajusta la curva para evitar zonas flotantes o sumergidas en el terreno.
5. Aplica los modificadores y texturiza a tu gusto.

---

## Opción 2: Trazado incluido en el plano

> Este método genera una malla única, pero puede introducir **N-gons** (caras con más de 4 lados).

1. Sigue los pasos iniciales de creación del bloque, **sin añadir Solidify**.
2. Guarda la **coordenada Z** del bloque del circuito.
3. Eleva levemente el circuito hasta que esté completamente por encima del terreno.
4. Selecciona el plano del terreno y entra en **Edit Mode**.
5. Desde la vista superior (`Top View`):
- Haz clic sobre el objeto de la carretera.
- En el menú `Mesh`, haz un **Knife Project**.

6. En `Vertex Groups`:
- Crea un nuevo grupo y asigna la selección proyectada.
7. Deselecciona la carretera con `Ctrl + Click` y pulsa `Delete` para eliminar las caras.
8. Vuelve a **Object Mode** y devuelve el circuito a su coordenada Z original.

9. Añade un modificador **Shrinkwrap** al circuito:
- `Target`: El plano del terreno.
- `Vertex Group`: El grupo que creaste.
- `Wrap Method`: **Nearest Vertex**.

10. Aplica los modificadores y texturiza el circuito a tu gusto.

---

## Notas Finales

- Guarda copias del proyecto antes de aplicar modificadores importantes.
- Puedes exportar el circuito para usarlo en motores como Unity o simuladores como Gazebo.

---

## Links útiles

- [Blender GIS Addon (GitHub)](https://github.com/domlysz/BlenderGIS)
- [Marine Geoscience Data System (GMRT)](https://www.marine-geo.org/tools/maps_grids.php)