O que é heightmap de Rust? Como o cinza vira terreno
Resposta rápida: um heightmap de Rust é uma imagem quadrada em tons de cinza em que o brilho de cada pixel é a altura do chão naquele ponto: preto é o fundo do mundo, cinza médio é o nível do mar e branco é o mais alto que o chão pode chegar. O RustEdit transforma isso no terreno 3D em que os jogadores andam.


Como os cinzas viram altura
Seção intitulada “Como os cinzas viram altura”O chão do Rust ocupa 1000 metros de altura, com o nível do mar na metade. Um heightmap espalha seus cinzas por igual nessa faixa:
| Cinza | Altura no jogo |
|---|---|
| Preto | 500 m abaixo do nível do mar, o fundo do mundo |
| Cinza médio | Nível do mar |
| Branco | 500 m acima do nível do mar, o chão mais alto que o Rust permite |
Então o fundo do mar é escuro, as praias ficam um pouco acima do cinza médio e os topos das montanhas são os pixels mais claros. Uma ilha de verdade usa só parte da faixa, e é por isso que o heightmap de um mapa inteiro parece um cinza suave com o mar um pouco mais escuro em volta:

A vista 2D do Crucible Heightmap estica os cinzas para as formas ficarem fáceis de ler, com o chão alto claro e o mar escuro. O heightmap que ele exporta mantém os cinzas verdadeiros.

Por que 16 bits
Seção intitulada “Por que 16 bits”Os heightmaps do Rust são em tons de cinza de 16 bits, o que dá 65.536 cinzas. Espalhado por 1000 metros, são cerca de 1,5 cm de altura por cinza, então as encostas saem suaves.
Uma imagem de 8 bits, como uma foto comum, tem só 256 cinzas. Cada degrau então tem cerca de 4 metros de altura, e toda encosta vira terraços visíveis no jogo. Por isso um heightmap pintado num editor de imagem comum e salvo em 8 bits fica em degraus, e por isso o Crucible Heightmap sempre grava 16 bits.
Qual o tamanho de um heightmap?
Seção intitulada “Qual o tamanho de um heightmap?”Um heightmap é uma grade quadrada, e o tamanho segue o tamanho do mapa: 513, 1025, 2049 ou 4097 pixels de lado. Cada pixel cobre de 1 a 2 metros de chão. Os degraus exatos estão em resolução do heightmap de Rust, e qual tamanho de mapa escolher está em tamanhos de mapa de Rust.
O que um heightmap não guarda
Seção intitulada “O que um heightmap não guarda”Um heightmap é altura e mais nada. Todo o resto de um mapa de Rust fica na sua própria camada do arquivo .map:
- as texturas do chão: grama, terra, areia, rocha, neve, chão de floresta
- os biomas: temperado, árido, tundra, ártico e selva
- as camadas de topologia que dizem ao Rust onde vão árvores, minério, loot e pontos de spawn de jogadores (veja biomas e topologia de Rust)
- a água, os monumentos, as estradas e os prefabs
Então um heightmap .raw ou .png traz só terreno puro. Por isso a exportação principal do Crucible Heightmap é um arquivo .map de Rust inteiro, que leva as texturas do chão, os biomas, a topologia, os lagos e os penhascos junto com a altura.
Como o RustEdit usa um heightmap
Seção intitulada “Como o RustEdit usa um heightmap”Abra um .map no RustEdit e o heightmap dele carrega como o terreno, com todas as outras camadas por cima.
Para começar de um heightmap puro, abra a janela Create New Map do RustEdit, defina o tamanho do mapa e a resolução do heightmap que combina, e escolha seu arquivo .raw de 16 bits. O RustEdit ergue isso em terreno, e daí você adiciona os monumentos, as estradas e o resto. Passo a passo: como fazer um mapa personalizado de Rust.

Onde o Crucible entra
Seção intitulada “Onde o Crucible entra”Pintar à mão um heightmap de 16 bits com cara natural dá muito trabalho. O Crucible Heightmap é um gerador de mapa de Rust que faz terreno no formato do Rust para você, deixa você dar forma com sliders e pincéis, e exporta como um .map pronto para abrir, um .raw ou um .png.
