Você está na página 1de 28

Manual do Usuário Cities XXL Map

Editor

01_Instalação
O editor de mapa de cidades XXL é uma ferramenta gratuita para todos os
proprietários de cidades XXL.
Para fazer o download e instalá-lo, simplesmente vá para a categoria
"Ferramentas" na sua Biblioteca Steam.

02_Controles de editor e níveis de amostra

Interface de usuário

A interface do usuário é feita da viewport principal, da barra de ferramentas e


de vários painéis encaixáveis.
Você pode reorganizar os painéis de acordo com sua conveniência e até
usar uma segunda tela, se disponível.
Se você fechar um painel, ainda poderá reabri-lo usando os botões da barra
de ferramentas ou clicando nas guias principais acima da barra de
ferramentas:
Cada guia possui um painel principal associado a ela que será selecionado
ou reaberto automaticamente quando a guia for alterada.
Alguns editores também podem ter painéis adicionais com controles
específicos na barra de ferramentas para abri-los / fechar.

Navegação e câmeras

O editor sempre começa no modo de câmera «FlyBy» no nível “paisagem


padrão”.
Importante : o nível “paisagem padrão” não pode ser totalmente editado no
editor. Ele é usado como espaço reservado na inicialização e deve ser
substituído por um arquivo heightmap ou .lvl, especialmente para a edição
paisagem (consulte o capítulo “Criando novos mapas”).
Para orientar a visualização no modo Flyby, clique no botão do meio do
mouse.
Você pode usar as teclas de seta para navegar com a câmera no mapa. Use
PageUp / PageDown para subir e descer.

Nota : você também pode usar qualquer câmera no jogo usando o botão
"Câmera" na guia "Opções".

Uma vez clicado, o botão abrirá um novo painel da câmera, onde você
poderá selecionar uma câmera e alterar todas as opções associadas a ela:
Este painel é muito útil para definir a velocidade da câmera e o
comportamento geral, dependendo de suas necessidades.
1
Você pode voltar para o modo fly by a qualquer momento selecionando a
câmera “FLYBY” na caixa de combinação do painel da câmera.

Controles

O editor usa controles básicos para todos os painéis (principalmente


controles deslizantes, caixas de seleção, caixas de texto e comboboxes).
Uma coisa importante a saber é que os controles deslizantes são mais
precisos ao segurar a tecla Alt durante o arrasto. Isso pode ser
particularmente útil ao procurar valores pequenos.

Adicionando novos arquivos / texturas

Durante o seu processo de criação de níveis, você pode ter que adicionar
novas texturas ou arquivos que você criou em ferramentas externas.

Você deve ter muito cuidado para seguir os locais de arquivos descritos
neste guia para cada tipo de arquivo (mapas normais, texturas de solo,
texturas de rochas, configurações de ambiente, etc.), caso contrário, você
poderá encontrar um comportamento inesperado.
O mecanismo do jogo espera que os arquivos estejam localizados em
lugares bem definidos sob os diretórios do jogo (ou arquivos .pak), portanto,
o editor deve seguir as mesmas regras.

Níveis de amostra

Devido aos limites de espaço, o editor é fornecido com 8 níveis existentes.


Para abrir um nível existente, clique no botão de nível aberto na parte
superior (ou dentro desse menu principal no canto superior esquerdo):
Em seguida, escolha um arquivo .lvl existente: Aqui está uma pequena
galeria dos níveis fornecidos para ter uma idéia do que pode ser alcançado
com o editor: Nota : Você também pode adicionar todos os outros níveis de
Cities XXL para explorá-los no editor. Tudo o que tem a fazer é:
⦁ Extraia o diretório “Level“ do arquivo “Data.pak” e copie-o para o diretório
<Editor>
⦁ Extraia todos os arquivos “land _ *. Pak” para o diretório <Editor> \ Data \
Gfx \ Lanscape
Uma vez extraído, os níveis estão disponíveis no editor. Você pode abrir os
arquivos .lvl conforme mostrado na documentação anterior.

Nota : você pode usar a ferramenta PakUnpack fornecida pela comunidade


para extrair os arquivos .pak.

Recomendamos que você abra todos os exemplos existentes para ter uma
ideia melhor dos resultados que você pode obter com o editor.

Importante : as amostras fornecidas são níveis de produção. Você não


poderá modificar as elevações existentes (na guia do editor de paisagem),
pois o mapa de altura da edição foi removido dos arquivos.

2
Fluxo de trabalho

O fluxo de trabalho de produção típico para novos níveis é:


⦁ Edição de paisagem
⦁ Entrada: arquivos heightmaps <-. R32
⦁ Saída: paisagens -> arquivos de terra
⦁ Edição de material
⦁ Entrada: texturas e parâmetros
⦁ Saída: materiais -> arquivos de material xml
⦁ Edição do meio ambiente
⦁ Entrada: texturas e parâmetros
⦁ Saída: ambientes -> arquivos de ambiente xml
⦁ Edição florestal
⦁ Entrada: arquivos SpeedTree
⦁ Saída: florestas -> arquivos de nível lvl
⦁ Edição de partículas
⦁ Entrada: sistemas de partículas
⦁ Saída: partículas -> arquivos de nível lvl
⦁ Nível Final
O nível final é representado por um arquivo .lvl. O .lvl é um arquivo indireto
para os arquivos .land, material .xml e environment .xml gerados durante o
fluxo de trabalho da edição.

Nota : a qualquer momento, você pode verificar os arquivos de configuração


atuais de um nível na barra de título do editor:

Criando novos mapas - Paisagem (Parte 1)

Este capítulo apresenta o processo passo a passo que deve ser seguido
para criar novos níveis de jogo.

Editor de paisagem

O primeiro passo da criação de níveis é a edição de paisagem. Para acessar


o editor de paisagem basta clicar na aba paisagem:
Quando a aba é selecionada, também aciona a abertura do painel
“Paisagem” no lado direito do editor: Este painel permite editar as elevações
do terreno manualmente usando pincéis (veja abaixo) . Importante : O editor
de mapa Cidades XXL foi projetado para ser usado com softwares de
geração de mapas de alturas de terceiros como WorldMachine, GeoControl,
Vue… Assim, as ferramentas que você encontrará no editor Cities XXL são
mais adequadas para a modificação de mapas de altitude existentes do que
para a criação de mapas. novas elevações do zero (mesmo que ainda seja
possível). Isso é importante ter em mente ao projetar novos níveis.

Importando um mapa de altura (Raw32)

3
O primeiro passo antes de editar seu terreno é importar um novo arquivo de
mapa de altura.
Importante : a resolução de entrada do arquivo deve ser 4096x4096 para
obter os melhores resultados. Isso é necessário, pois o mapa de altura do
trabalho será usado para assar o mapa normal e será descartado no final do
processo de criação.
O editor suporta mapas de altura de ponto flutuante de 32 bits.
Para importar um novo arquivo, basta clicar no botão.
O editor é fornecido com dois arquivos .R32 de amostra. Você os encontrará
no diretório “<InstallDir> \ Data \ Gfx \ Landscape \ R32”:
⦁ BigIsland_03.r32: arquivo de exemplo de uma ilha exportada do
WorldMachine
⦁ Empty_4096.r32: heightmap vazio fornecido para edição manual completa
dentro do editor.
Nesta documentação, usaremos o heightmap BigIsland_03 como o melhor
fluxo de trabalho para o editor. Agora você pode abrir o arquivo BigIsland_
03.r32 e você deve obter as seguintes elevações no editor:

Nota : você pode ter que mover a câmera para ver o heightmap (use
PageUp / PageDown para percorrer o terreno depois de carregar o
arquivo)

Importando um mapa de altura (8 bits)

Se você não tiver uma ferramenta DCC como Terragen, Geocontrol ou World
Machine para geração de mapa de ponto de ponto flutuante, ainda poderá
usar imagens simples como a origem de seus valores de elevação de
paisagem.
Para este efeito, você pode clicar no botão.
Você será solicitado por um arquivo jpg, tga, bmp ou png.

Nota : esteja ciente de que o editor usará apenas o canal vermelho da sua
imagem.

Portanto, é uma boa prática projetar suas imagens de altura máxima em


escala de cinza (branco corresponde ao ponto mais alto e preto ao menor
valor de elevação).
Quando terminar de selecionar uma imagem, ela será importada e convertida
para um mapa de altura de ponto flutuante internamente:

Nota : como as imagens de 8 bits têm uma resolução muito baixa, o editor
usa um filtro Búbico B-Spline para gerar o mapa de altura final de 32 bits.

Como o filtro é muito caro, a operação de importação é muito mais lenta que
a importação do Raw32. Você pode esperar tempos entre 15 segundos a um
minuto para a importação ser concluída, dependendo da configuração de
hardware.
Finalmente, como a filtragem ajuda a gerar valores intermediários de ponto
flutuante da imagem de 8 bits, lembre-se de que, diferentemente dos mapas
4
de altura raw32, pode ser mais interessante usar imagens pequenas neste
caso (começando em 1024x1024 e abaixo).
De fato, uma textura de 4096x4096 8bit, mesmo se filtrada com um filtro
bicubico, terá poucas diferenças com a imagem original e, portanto, dará
maus resultados e muitos artefatos de iluminação.

Criando novos mapas - Landscape (Part 2)

Edição de elevações de terreno (opcional)

Depois que o seu mapa de alturas for importado, você poderá começar a
editá-lo.
Primeiro você pode modificar o formato do terreno usando pincéis.
Zona de modificação : representa a área onde as escovas afetarão as
elevações do terreno.
A zona é representada por um ou dois círculos vermelhos que seguem o
relevo do terreno:
A zona de modificação é movida com o mouse (somente se um pincel estiver
ativo. Veja abaixo)
Para ativar um pincel, basta clicar no seu ícone no painel Paisagem o pincel
ativo está selecionado em azul).
As propriedades da zona de modificação são controladas com três valores
diferentes.
Nota : cada tipo de pincel tem uma configuração separada.
Suavidade : define o modo como os valores são interpolados entre o círculo
externo e o círculo interno da zona.
Tamanho : define o tamanho da zona de modificação.
Força : define a força da escova.
O editor é fornecido com três tipos de pincel.
Escova para cima / baixo : aumenta ou diminui o terreno dentro da zona de
modificação
Para levantar o terreno, clique com o botão esquerdo do mouse:
Para baixar as elevações, clique com o botão direito do mouse:

Nota : é melhor usar suavidade total com este pincel ao iniciar.

Pincel suave : suaviza os detalhes do terreno dentro da zona de


modificação
Antes:
Depois:
Você pode ver que o pincel preserva os detalhes da macro, mas suaviza
pequenas variações de terreno. Escova de nível : move os dados do terreno
para um nível especificado. O pincel de nível tem um controle adicional
dentro do painel de escovas que define o nível de destino que deve ser
alcançado quando o pincel é usado: Importante : observe que o pincel de
nível pode se comportar de maneira diferente de outras ferramentas, pois ele
sempre tentará preservar os detalhes os dados existentes durante o
nivelamento. Assim, é impossível fazer um platô totalmente plano em uma
montanha existente (você terá que usar o heightmap vazio e começar do
zero ou outra ferramenta se estiver procurando por superfícies realmente
5
planas) Antes: Depois: Finalmente você também pode ajustar a altura do
terreno Usando o controle deslizante Altura no painel Paisagem:

Nota : você tem a possibilidade de ir e voltar entre o editor Cities XXL e o


software de edição de terreno usando o botão.Desfazer refazer
A qualquer momento durante a edição do pincel, você pode usar “Ctrl + Z”
para desfazer suas modificações e “Ctrl + Y” para refazê-las.

Edição de terreno de finalização

Quando terminar de editar o terreno, salve seu trabalho usando o formato de


arquivo .land.
Este é o formato de jogo interno usado para níveis jogáveis.
Para salvar suas modificações, clique no botão.
Isso salvará suas modificações em um arquivo .land editável (o mapa de
altura de alta resolução original é preservado). Isso significa que você
sempre poderá recarregar o arquivo e fazer modificações adicionais no
editor.
Você também pode carregar algum trabalho anterior usando o botão.
O arquivo .land atualmente ativo é sempre exibido na barra de título do
editor:
Certifique-se de passar por um processo de salvar / carregar para ter o nome
correto na barra de título.

Convertendo arquivos .land para produção / liberação

Quando você está pronto para lançar um nível de jogo inteiro, você tem a
capacidade de reduzir o tamanho total que levará no jogo. O mapa de altura
de alta resolução usado para edição de terreno é enorme (cerca de 100 Mb),
por isso é realmente importante retirá-lo do nível final.
Para fazer isso, você pode clicar no botão e selecionar seu arquivo .land. O
editor irá convertê-lo no local.
Importante : aconselhamos sempre manter uma cópia de backup do
arquivo .land editável original. Você não poderá mais modificar o
arquivo .land de “produção”.

Cozimento normal automático de mapas

Você pode notar que, se fizer alguma edição de terreno na guia Paisagem e
tentar alternar para a guia material ou qualquer outra guia, o editor congelará
durante um longo período antes que você possa usá-lo novamente.
Na verdade, cada vez que você modifica o mapa de alturas, ele é marcado
como sujo. Então, quando você muda para uma aba diferente, o editor
garante que o mapa normal estará atualizado e acionará um comando “Bake
Normal Map” automaticamente (consulte o capítulo Editor de material para
obter mais informações).
Este processo é totalmente normal e garante que os dados de elevação
sejam coerentes com os outros editores.

Nota : em alguns cenários (como importar um heightmap .r32 e, em seguida,

6
alternar diretamente para a guia material), a atualização automática do mapa
normal não será acionada. Nesse caso, você terá que iniciar a atualização
manualmente a partir da guia Material (consulte o capítulo Editor de material
para obter mais informações)

Criando novos mapas - Material (Parte 1)

Este editor permite modificar a principal textura difusa do terreno e as


texturas de detalhes usadas para LOD.
O editor de material é composto da barra de ferramentas principal:
E o painel de material:
Wireframe mode
A caixa combinada “Render Mode” na barra de ferramentas do editor de
materiais é um controle muito importante ao mudar os materiais do terreno,
como você verá nos próximos capítulos.
Ele também permite que você veja a geometria de estrutura de arame usada
para exibir o terreno. Se você selecionar o modo Wireframe, verá a árvore
quádrupla e o mosaico atualizados atrás da cena:
Isso pode ser útil para entender melhor o comportamento da iluminação de
seus materiais.

Carregando / Salvando materiais

Antes de fazer seus próprios materiais, você também pode testar todos os
materiais de jogo existentes. Basta carregar um arquivo .xml existente no
modo “Material edition” na caixa de combinação do modo Render.
Aqui está uma pequena galeria de materiais existentes:

Edição Rock

Rock pode ser editado em qualquer modo de renderização (exceto o modo


wireframe). Isto é porque é dinamicamente calculado e, portanto, não é
cozido na textura difusa (veja abaixo).
O painel de edição de rock permite alterar as texturas do rock e os
parâmetros de rock que determinam como ele é aplicado no terreno:
Texturas : esta seção permite escolher 4 texturas diferentes que serão
mescladas para fazer o resultado visual final.
Este resultado será calculado com base nos parâmetros selecionados nas
categorias “Noise Mix” e “Noise tiling” (veja abaixo).
Para selecionar uma textura, basta clicar em sua miniatura. Isso abrirá um
diálogo que permitirá que você selecione um novo arquivo:
Se você for para a pasta “<InstallDir> \ Data \ Gfx \ Paisagem \ Texturas \
Rock”, você encontrará algumas texturas de amostra de rocha que são
usadas no jogo.
Por favor, note que se você quiser adicionar suas próprias texturas, você terá
que colocá-las nesta pasta e seguir o mesmo formato e tamanho de arquivo.

Nota : você deve ter notado que as texturas de rochas existentes são
organizadas quatro por quatro. Isso pode facilitar a seleção de texturas, mas
você é livre para fazer qualquer tipo de mistura com texturas de rock. Você

7
também tem a capacidade de ajustar a textura das texturas com o controle
deslizante lado a lado: é muito difícil ver a imagem nessas imagens, por isso
recomendamos que você jogue com o controle deslizante lado a lado para
ver seu efeito em tempo real. Inclinação : esta seção permite alterar a
aparência da rocha dependendo da inclinação do terreno. Também controla
a transição das texturas do rock para as texturas do solo. Controle deslizante
de inclinação (valor baixo): Controle deslizante de inclinação (valor alto):
Controle deslizante de transição (valor baixo): Controle deslizante de
transição (valor alto):

Criando novos mapas - Material (Parte 2)

Mix de ruído : esta seção oferece um controle artístico sobre a maneira como
as quatro texturas de rock são mescladas.
Importante : todo este processo é projetado para remover a textura visível ao
jogar o jogo. Texturas de rochas são misturadas duas a duas.
1-2 : este controle deslizante define a quantidade da primeira textura da
rocha com a segunda textura da rocha.
Se você colocar o controle deslizante para a esquerda, isso significa que
você verá apenas a textura da rocha 1; se você a colocar no meio, verá a
mesma quantidade de textura 1 e a textura 2 combinadas usando uma
máscara de ruído. Finalmente, se você mover o controle deslizante para a
direita, verá apenas a textura da rocha 2.
3-4 : este controle deslizante define a quantidade da terceira textura da rocha
com a quarta textura da rocha.
O comportamento deste slider é o mesmo que para 1-2, mas tem como alvo
as texturas 3 e 4 do rock.
Main : define a quantidade de 1-2 texturas de rock ou 3-4 texturas de rock
onde ambos os grupos são combinados com outro ruído.
Novamente, se você mover o controle deslizante Principal para a esquerda,
verá apenas as texturas 1-2 (misturadas de acordo com o controle deslizante
1-2), se você colocá-las no meio, verá uma mistura de texturas 1-2-3-4 e
para a direita, apenas o grupo de textura 3-4.
Transition Blending : direciona a transição de mesclagem entre todas as
texturas (baixo valor significa transição bruta e alto valor significa transição
suave como o controle deslizante de transição de declive).
Aqui estão alguns exemplos visuais para entender melhor o sistema.
Primeiro a configuração da textura:

Nota : para o propósito desta documentação e para clarificar os resultados


visuais das texturas do slider rock foram substituídos por cores simples.
Essas texturas podem ser encontradas na pasta “<InstallDir> \ Data \ Gfx \
Landscape \ Textures”. Pode ser realmente útil brincar com texturas coloridas
primeiro para entender melhor esse complexo sistema de mistura.

Exemplo 1 :
Resultado visual:

Você pode ver somente textura 1 (controle deslizante 1-2 foi definido para a
esquerda) e textura 4 (controle deslizante 3-4 definido para a direita) que são

8
misturados igualmente em todo o mapa (controle deslizante Principal definido
como middle)

Nota : a transição foi ajustada para o mínimo (transição brusca) para melhor
visualização das cores.

Exemplo 2 :
A única coisa que mudou aqui no Exemplo 1 é que o slider 1-2 foi movido
para o meio. Resultado visual: Como você pode ver a cor vermelha não se
moveu, mas agora a cor azul é igualmente misturada com verde (textura 2).

Exemplo 3 :
Neste exemplo, todos os três controles deslizantes estão configurados para
o meio. O controle deslizante de transição também foi movido para obter
uma transição suave entre todas as cores. Resultado visual: Noise tiling :
esta seção final controla o ladrilho das texturas de ruído usadas para unir as
quatro texturas de rock. Novamente, esses parâmetros são destinados ao
controle artístico do resultado da mescla final. Mais uma vez as texturas são
lado a lado duas por duas com um controle adicional (Main) para o ladrilho
de ambos os grupos. Onde os controles deslizantes 1-2 e 3-4 controlam a
colocação das texturas correspondentes dentro de suas zonas definidas pela
seção mix, o controle deslizante Main controla a divisão das texturas em todo
o nível. Aqui estão dois exemplos para mostrar o efeito do controle deslizante
principal (as configurações de mix foram tiradas do exemplo 3 do parágrafo
anterior, mas com uma transição difícil): Controle deslizante principal para a
esquerda: Controle deslizante principal para a direita: Usando todas essas
configurações você deve ser capaz de eliminar todos os tipos de artefatos de
lado a lado de seus níveis e adicionar muita diversidade à sua camada de
rocha.

Criando novos mapas - Material (Parte 3)

Edição de terrenos

Você deve ter notado que, por padrão, o editor de material começa no modo
“Normal” (veja a caixa de combinação Modo de renderização). Este modo é o
modo “no jogo”.
Neste modo, você vê exatamente o que os jogadores verão se jogarem seu
nível no jogo.
As cidades XXL usam duas técnicas diferentes para materiais do terreno:
⦁ Uma textura difusa em larga escala: esta textura é feita a partir de muitos
materiais em camadas que só podem ser editados quando no modo
“Material edition”.
⦁ Mapas detalhados: essas texturas simples são combinadas com a textura
difusa para adicionar detalhes adicionais quando a câmera está perto do
chão.
Como mencionado, a textura difusa é estática. Mas os mapas detalhados
são totalmente dinâmicos e mudam dependendo da posição da câmera no
jogo.

9
Edição de terrenos - camadas (modo de edição de material)

Para editar os parâmetros de terra, você terá que mudar para o modo
“Material edition”.
Depois de alternar para esse modo, a textura difusa é descartada e você
verá uma visualização em tempo real procedural de suas camadas de
material de solo. Neste modo, você pode alterar os parâmetros do solo e ter
um feedback instantâneo na viewport. Isto não é possível quando no modo
“Normal”.
Importante : observe que as texturas detalhadas estão desativadas neste
modo. Isso pode ser um pouco decepcionante no início, mas foi projetado
intencionalmente para permitir que o artista veja suas matérias-primas e
tenha uma boa idéia da textura final difusa (veja o próximo capítulo para mais
informações sobre mapas detalhados).
Os materiais do solo são compostos por quatro camadas personalizadas.
Você não é forçado a usar todas as quatro camadas para seus níveis. Como
você verá mais tarde, você tem a possibilidade de definir o intervalo de altura
de uma camada e, assim, substituir as outras camadas, se não precisar
delas.
Quanto à camada de rocha, você poderá atribuir 4 texturas diferentes para
cada camada de solo e, em seguida, combiná-las com os mesmos
parâmetros descritos anteriormente:
Consulte a seção de rochas para entender melhor o comportamento dos
controles deslizantes.
Uma diferença com a camada de rocha é que as camadas de solo 2, 3 e 4
têm uma seção adicional para controlar a altitude da camada e as
propriedades de mistura: Nota : a camada 0 não tem seção de altura, pois
ela cobre todo o mapa de baixo para cima. Ele ainda pode ser descartado
pelas outras camadas usando sua altura mínima (veja abaixo).
Início : define a altitude inicial da camada
⦁ End : define a maior altitude da camada
Nota : como as camadas 2, 3 e 4 têm seus próprios controles deslizantes
de altura, você pode decidir que a camada 4 ficará abaixo da camada 2 e
3.
⦁ Transição : quanto à camada de rocha, este controle deslizante controla a
suavidade da transição da camada com as outras.
⦁ Perturbação : este parâmetro ajuda a quebrar a linearidade das transições
da camada. Como cada camada é definida por uma altitude inicial e final,
as transições podem ser muito visíveis e lineares. Para quebrar este
efeito, adicionamos um ruído que irá alterar a altitude localmente de forma
aleatória (mas ainda perto dos valores inicial e final que foram definidos).
⦁ Lado a lado: controla o ladrilho da textura de ruído usada pelo controle
deslizante Perturbação. Pode ser útil alterar essa configuração para evitar
artefatos de lado a lado.
Aqui está um exemplo com camadas coloridas. Para o propósito desta
documentação, todas as 4 texturas de cada camada de solo foram definidas
para o mesmo arquivo: E aqui está a saída com as quatro camadas sendo
colocadas em cima umas das outras (na ordem correta): E aqui estão os
parâmetros usados para os controles deslizantes de altura de cada camada

10
individual: Camada 1 : nenhum parâmetro para definir (lembre-se de que
essa camada cobre todo o nível) Camada 2 : Camada 3 : Camada 4 :
Observação : os controles deslizantes de altura são controles artísticos. Você
pode descobrir que os valores do controle deslizante não são normalizados
ou mesmo difíceis de interpretar. Esteja ciente de que esses controles foram
projetados para interação visual, portanto, você deve sempre verificar a
janela de visualização ao ajustar esses valores. Finalmente, aqui está um
exemplo com as mesmas configurações de altura, mas com transições e
perturbações para os níveis 2, 3 e 4: Você pode notar que agora as camadas
1 e 2 são mescladas e que as outras camadas suavizaram as transições. A
altitude de transição também usa alguma perturbação para que os limites de
cada camada sejam mais difíceis de detectar. Encorajamos você a testar
esses controles deslizantes, começando pelas camadas 1 e 2. Será mais
fácil para começar e você poderá aumentar o número de camadas quando
estiver acostumado com o sistema. Não se esqueça de que você pode
desabilitar as camadas 2, 3 e 4 a qualquer momento definindo o controle
deslizante "altura inicial" para o máximo.

Criando novos mapas - Material (Parte 4)

Cozer a textura difusa (modo normal)

Quando terminar de editar as texturas do solo, você poderá voltar para o


modo "Normal" na caixa de combinação "Render Mode". $
Você notará que todas as suas modificações não aparecem no terreno.
Isso é normal porque tudo o que é alterado no modo “Material edition”
precisa ser recuado para uma textura final otimizada e difusa.
Para fazer isso tudo que você precisa fazer é clicar no botão.
Após um curto período de tempo, você deverá ver que todas as suas
modificações no terreno foram feitas e agora são exibidas no modo “Normal”.
Agora você está certo de que os jogadores verão os materiais corretos do
terreno.
Edição de terrenos - intervalos de mapas detalhados (modo Normal)
Os únicos parâmetros de terra que você pode ajustar no modo “Normal” são
os mapas de detalhes.
Primeiro você terá que escolher um mapa detalhado para cada uma das
camadas do solo que você usa.
Cada camada do solo tem uma seção dedicada para o mapa de detalhes:
Importante : somente a camada 1 possui os controles deslizantes “Far Map
Tiling” e “Near Map Tiling”, pois esses parâmetros são compartilhados entre
todas as camadas (veja abaixo).
Se você clicar no botão de textura, poderá alterar o mapa de detalhes
associado à camada de solo atual.

Nota : na pasta “<InstallDir> \ Data \ Gfx \ Paisagem \ Texturas \ Solo”, você


encontrará os mapas de detalhes usados para o jogo:

Você também pode criar seus próprios mapas de detalhes. Basta lembrar

11
que esses mapas devem ser do mesmo tamanho e criados em escala de
cinza (todos os canais devem ser os mesmos).
O mapa de detalhes será adicionado como uma sobreposição na parte
superior da textura difusa. O importante é lembrar que cada mapa de
detalhes será mascarado e aparecerá apenas nos locais aos quais ele
pertence (com base na configuração de suas camadas de solo). Depois de
selecionar os mapas de detalhes para cada nível, você poderá configurar as
distâncias nas quais os mapas estarão visíveis. Para esse propósito, você
usará a seção Detalhe que é comum a todas as camadas: Como
mencionado anteriormente, os materiais de aterramento são copiados após a
edição para criar uma textura difusa grande que cubra todo o nível. Se
usarmos apenas a textura difusa, os jogadores não terão detalhes
importantes quando se aproximam do chão: A faixa de perto e longe do
painel "Detalhe" permite decidir quando os mapas de detalhes aparecerão
dependendo da posição da câmera (existem apenas dois parâmetros para
todas as camadas). Para evitar a visibilidade visível dos mapas de detalhes,
o jogo usa dois LODs diferentes baseados na mesma textura. O controle
deslizante de alcance próximo define a distância da câmera na qual o mapa
de detalhes com o ladrilho mais refinado começará a desbotar para o mapa
de detalhes mais grosseiro. Se você definir o controle deslizante de alcance
próximo como um valor muito pequeno, obterá este resultado: Como você
pode ver, a câmera deve estar muito próxima do terreno para ver o mapa de
detalhes mais preciso. Você também pode perceber que a transição para o
mapa de detalhes grosseiros é muito visível. Agora, se empurrarmos um
pouco mais o controle deslizante de alcance próximo, poderemos ver que o
resultado é muito mais agradável: a transição para o mapa de detalhes mais
grosseiros agora é mais sutil e foi afastada muito à distância. O controle
deslizante do mapa de detalhes de longo alcance controla a distância em
que o mapa de detalhes grossos desaparecerá. Após essa distância, o
jogador só verá a textura difusa. Assim, é importante configurar a distância o
mais longe possível para manter sempre os detalhes no terreno, mas
evitando muita telhadura ou tremulação. Aqui está uma captura de tela com o
slider de longo alcance definido para um valor baixo (note que você terá que
mover a câmera para longe do chão para ver o mapa de detalhes mais
grossos): Você pode ver que a textura difusa é muito visível a partir do meio
da imagem e indo para o topo. Nós perdemos os detalhes cedo demais.
Agora, aqui está o mesmo ponto de vista com um valor mais alto: desta vez,
mantemos muito mais detalhes longe à distância. Na verdade, é difícil
identificar a transição do mapa de detalhes grosseiros para a textura difusa.
Os controles deslizantes de mapa próximos e distantes são controles
artísticos e devem ser ajustados com precisão para cada material.
Finalmente, na seção Detalhamento da camada 1, você poderá ajustar o
ladrilho dos mapas de detalhes próximos (mais precisos) e distantes (mais
grossos): O ladrilho deve ser ajustado dependendo das texturas
selecionadas para evitar padrões repetitivos. Cozer a textura normal do mapa
Tal como para a textura difusa, também pode assar a textura do mapa
normal de alta resolução que é responsável pela iluminação correcta do seu
terreno. Como visto no capítulo do editor de paisagem, este processo pode
ser automático ou manual. Caso você esteja carregando um arquivo .r32 sem
editá-lo, há chances de que o mapa normal não seja atualizado: assim, é

12
importante que você sempre verifique se a iluminação está correta. Na
verdade, é uma prática recomendada assar o mapa normal após cada
modificação de paisagem (ou alteração no mapa de altura) usando o botão.
Agora você pode ver a grande diferença de iluminação no mesmo ponto de
vista com um mapa normal correto. Importante : quando terminar de editar
seus materiais, não se esqueça de salvá-los! Esta etapa é necessária, pois o
arquivo salvo será usado pelo nível final do jogo (arquivo .lvl) para recuperar
os mapas detalhados e seus parâmetros associados.

Criando novos mapas - Ambiente (Parte 1)

Este editor é responsável pelas partes ambientais do nível do jogo, como os


cubemaps de atmosfera, iluminação, água e céu.
Os botões carregar e salvar na barra de ferramentas permitem carregar ou
salvar arquivos de ambiente que serão usados posteriormente para seus
níveis.
Um arquivo de ambiente contém todos os parâmetros de atmosfera e
iluminação, mas não contém os parâmetros de água e cubemaps. Esses dois
recursos são armazenados com o arquivo .lvl.
Dessa forma, você pode configurar um ambiente que pode funcionar para
vários níveis, mas ainda adaptar a água ou o céu em uma base por nível.
As caixas de seleção "Environment Editor" e "Time Slider" permitem abrir ou
fechar painéis de edição úteis (veja abaixo).
O painel “Environment Editor” reagrupa todas as configurações dos recursos
ambientais mencionados anteriormente:
Teclas de ambiente (ciclo dia / noite)
Importante : observe que as seções “Chaves de ambiente”, “Configurações
gerais” e “Dispersão” estão todas interligadas. Toda vez que você selecionar
uma tecla nesta seção, ela atualizará as seções “Configurações gerais
e“ Dispersão ”para valores previamente definidos para essa chave.
Há um número fixo de chaves para o ciclo dia / noite inteiro no jogo.
A seção de chaves do ambiente é bastante simples e permite apenas alterar
a chave atual e a cor solar associada.
Para alterar a cor do Sol, basta clicar no retângulo colorido na coluna "Cor do
Sol". A cor do sol é a luz direta do Sol no mapa (e outros elementos como
árvores, edifícios, ... mais tarde no jogo). Aqui estão alguns exemplos dos
efeitos deste parâmetro:
O controle Time Slider na parte inferior do ponto de vista do editor permite
que você tenha uma visualização dinâmica do ciclo dia / noite a qualquer
momento:
O Time Slider apenas passa por todas as chaves que combinam parâmetros
que foram definidos no editor (isto é o mesmo que usar o painel do jogo, mas
um pouco mais preciso).
Você pode simplesmente arrastar o controle deslizante ou apertar o botão
play para obter uma animação suave.
Importante : se você usar o controle deslizante de tempo e, em seguida,
desejar editar uma chave, clique novamente na tecla no painel “Chaves de
ambiente”. Caso contrário, você estará editando os valores atuais que não
serão armazenados no arquivo de ambiente e que serão perdidos. Você
sempre tem que selecionar uma chave antes de atualizar qualquer valor.

13
Configurações Gerais

Importante : não se esqueça de selecionar uma chave na seção “Chaves de


ambiente” antes de alterar essas configurações.
Esta seção controla a posição do sol, os mapas da IBL, bem como os
parâmetros da lua e das estrelas.
⦁ Multiplicador de Sol : este controle deslizante controla a intensidade da luz
direta do Sol
⦁ Hemisfério Sul : se marcado, o Sol será invertido no outro lado do nível (a
trajetória do Sol é fixada acima do mapa)
⦁ Multiplicador Ambient : controla a quantidade de iluminação do ambiente
IBL (definida pelas configurações do CubeMap abaixo).
Nota : O ambiente IBL é uma contribuição de iluminação que você pode
ver nas partes sombreadas do terreno (ou objetos). Isso ajuda a manter os
detalhes mesmo se essas zonas estiverem escuras, para que você ainda
possa ver os efeitos do mapeamento normal.
A iluminação da IBL é muito mais poderosa do que o simples ambiente,
porque a cor do ambiente será tirada de um mapa de cubos dependendo
do terreno normal, gerando mudanças de cor interessantes e simulando a
iluminação global.
É uma boa prática usar um mapa do ambiente que esteja próximo das
cores do seu terreno e do céu.
⦁ Configurações do CubeMap :
⦁ Ambiente : permite selecionar o arquivo de mapeamento de cubo
ambiente
⦁ Você pode encontrar os mapas de cubo padrão se a pasta “<InstallDir> \
Data \ Engine \ Skybox”.
⦁ AmbientTrees : as árvores estão usando um mapa de cubos separado
para um controle mais artístico. Na maioria dos casos, você pode
selecionar o mesmo mapa de cubos que o parâmetro “Ambient”.
⦁ BlurPass : o mapa do cubo do ambiente precisa ser borrado no jogo, caso
contrário você terá um efeito metálico em vez de uma suave iluminação
ambiente.
Os parâmetros Blur Pass controlam quantas vezes o mapa será desfocado
antes de ser usado.
⦁ BlurSize : definiu o tamanho do kernel de desfoque durante uma única
passagem de desfoque.
⦁ Reflexão : este parâmetro permite escolher o mapa de cubos que será
usado para as reflexões do edifício no jogo. Não há previsão para este
parâmetro no editor.
⦁ TreesBlurPass : o mesmo que o parâmetro BlurPass, mas para o blur do
mapa de cubos AmbientTrees.
⦁ TreesBlurSize : igual ao parâmetro BlurSize, mas para o desfoque de
mapa do cubo AmbientTrees.
⦁ Tamanho da lua : este controle deslizante controla o tamanho da lua. Por
favor, note que a Lua está presente apenas à noite. Você terá que
selecionar a tecla "Night", por exemplo, para vê-lo no editor.
14
⦁ Mistura da Lua : controla a mistura da Lua com o céu de fundo. Um valor
baixo irá desaparecer a Lua e um valor alto irá torná-lo mais brilhante.
⦁ Estrelas cintilando : este slider controla as estrelas piscando.
⦁ Brilho das estrelas : controla o brilho das estrelas à noite.
Espalhamento
Importante : não se esqueça de selecionar uma chave na seção “Chaves de
ambiente” antes de alterar essas configurações.
O painel de dispersão controla a atmosfera e o céu. CitiesXXL usa uma
aproximação física simplificada do céu e neblina. O painel dá a você acesso
aos parâmetros desta simulação e adiciona alguns controles artísticos (para
mudar as cores da atmosfera).
⦁ Definições
⦁ Tamanho do Sol : controla o tamanho do Sol
⦁ Intensidade do Sol : permite diminuir a contribuição da cor do céu
⦁ Turbidez solar : define quão densa será a atmosfera.
⦁ Sky Color : permite mudar a cor do céu para fazer todos os tipos de cores
artísticas:
⦁ R : controla a quantidade de cor vermelha na atmosfera
⦁ G : controla a quantidade de cor verde na atmosfera
⦁ B : controla a quantidade de cor azul na atmosfera
⦁ Configurações de neblina : o algoritmo adiciona um efeito de neblina no
topo do céu. Esta seção controla o comportamento de neblina.
⦁ Altura : controla a altitude máxima da neblina
⦁ Intensidade : controla a intensidade de neblina
⦁ Posição : controla a posição de neblina em relação ao horizonte
⦁ Cor : selecionador de cores para escolher uma cor de neblina.

Criando novos mapas - Ambiente (Parte 2)

agua

Para ativar a água no seu nível, clique na caixa de seleção à esquerda do


botão Carregar e ajuste a altura da água com o controle deslizante Altura:

Nota : O sistema de água gera automaticamente espuma ao redor do terreno


para um resultado mais agradável.

Você pode carregar e salvar parâmetros de água usando os botões


correspondentes. Você pode abrir configurações de água existentes que
estão localizadas na pasta “<InstallDir> \ Data \ Gfx \ Landscape \ Water”.
A água é altamente parametrizada. Aqui está uma descrição detalhada de
todos os parâmetros:
⦁ Cor
⦁ Seletor de cores : o seletor de cores permite escolher qualquer cor para a
cor de base da água.
⦁ Alfa : este controle deslizante ajusta a transparência global da água

15
⦁ Transparência : esta seção dá mais controle artístico sobre a
transparência da água
⦁ Borda : controla a mescla de transparência nas bordas do mapa
⦁ Profundidade : controla a transparência em águas profundas
⦁ Normals : controla a refração da água e a perturbação da reflexão.
⦁ Perturbação : define a quantidade de perturbação normal que dará a
impressão de refração
⦁ Mapa normal / botão Load : a perturbação é baseada em um mapa
normal. Você pode alterar o mapa padrão usando o botão "Carregar". Aqui
está o mapa normal padrão:
⦁ Especular : esta seção controla a resposta especular da água
⦁ Potência : controla o poder especular (ou difusão do effet)
⦁ Intensidade : controla a intensidade do efeito
⦁ Reflexo : a caixa de seleção ativa ou desativa reflexos de água
⦁ Viés de Fresnel : move artificialmente a zona de Fresnel
⦁ Fresnel Power : controla o poder do efeito
⦁ Velocidade : esta seção controla a velocidade das ondas de água. As
ondas de água são baseadas em uma rolagem de mapa normal de várias
oitavas.
⦁ Base : o controle deslizante base controla a velocidade geral da animação
de ondas
⦁ Fator : o fator altera a velocidade de algumas das oitavas para tornar a
animação de onda menos direcional e evitar a rolagem visível.
⦁ Escala : esta seção controla o tamanho das ondas de água.
⦁ Base : o controle deslizante base controla o tamanho global das ondas
⦁ Fator : este controle deslizante escala as oitavas secundárias para
adicionar mais ondulações às ondas de base
⦁ Extensões : esta seção permite adicionar um plano de extensão de água
em cada lado do seu nível. Isso pode ser muito útil para dar a impressão
de uma superfície de água infinita: basta verificar as instruções
necessárias.
⦁ Textura subaquática : quando os planos de água infinitos são adicionados
na seção anterior, a falta de terreno fora dos limites do nível é bastante
visível. Para evitar esse efeito de transparência, você pode selecionar uma
textura mais próxima das cores do terreno e que será exibida sob a água
fora do nível. Nota : para ver a textura submersa basta usar a câmera flyby
para ir abaixo da superfície da água.
⦁ UV : você tem a capacidade de escolher o ladrilho da textura para melhor
corresponder à textura difusa do terreno existente
⦁ Textura : você pode escolher qualquer textura para ser mostrada debaixo
d'água fora dos limites do nível. Basta clicar no botão carregar para
selecionar um mapa.

Nota : você pode reutilizar suas texturas de solo para o mapa subaquático.

Cubemaps do céu
16
Este é um novo recurso Cities XXL que permite substituir o céu processual
definido na seção “Scattering” por mapas de cubo estáticos. Essas texturas
podem ser derivadas de fotos da vida real e, assim, fornecer resultados mais
realistas, além de características climáticas adicionais (nuvens, arco-íris,…)
O novo sistema permite misturar até 4 cubemaps juntos durante todo o ciclo
dia / noite.
Importante : as texturas não podem ser selecionadas ou editadas no editor.
O sistema depende apenas da nomenclatura de arquivos na pasta
“<InstallDir> \ Data \ Gfx \ Sky \ Cubemaps”. A única coisa que você pode
fazer no editor é associar um céu existente ao seu nível e ter uma prévia do
resultado final.
Os mapas de cubo disponíveis serão listados na caixa de combinação "Sky".
Basta selecionar o mapa do cubo desejado para atribuí-lo ao nível (não se
esqueça de salvar seu arquivo .lvl para tornar sua escolha persistente).
Por favor, note que você pode salvar uma configuração de ambiente com um
cubemap específico
Isso permite combinar a cor das texturas do mapa do cubo com a iluminação
do nível (Sun, IBL ambiente,…).
O arquivo .xml do ambiente será salvo automaticamente na pasta
“Cubemaps” com o sufixo “_Env”. Teste de iluminação com teste de
construção Para testar melhor suas configurações de iluminação,
adicionamos um botão que permite gerar um edifício no terreno. Você pode
encontrar o botão na guia Opções na seção Objetos: Quando você clicar no
botão, você terá que mover o mouse para a viewport, a fim de ver o novo
edifício. Ele seguirá automaticamente a paisagem: você pode finalizar o
posicionamento do edifício clicando no botão esquerdo do mouse. Por
padrão, o edifício não fará a terraplanagem do terreno para preservar sua
paisagem. Você sempre pode excluir os edifícios que você colocou no
terreno, selecionando-os com o botão esquerdo do mouse e pressionando a
tecla Delete. Nota : este edifício de teste é descrito no arquivo “<InstallDir> \
Data \ Design \ Buildings \ B_EditorTest.class”. Você pode modificar este
arquivo e alterar todas as configurações, se necessário. Lembre-se de que,
se você alterar a geometria, o arquivo sgbin correspondente deverá estar
presente no diretório “<InstallDir> \ Data \ Gfx \ Building”, caso contrário, ele
não será exibido ou será substituído por um espaço reservado.

Criando novos mapas – Forest

Este editor permite que você preencha seus níveis com florestas feitas de
diferentes espécies de árvores ou arbustos.
O editor vem com um painel de edição sigle:
As florestas são limitadas a quatro espécies de árvores e / ou arbustos que
são misturadas.
Para selecionar árvores ou arbustos, você terá que arrastar e soltar os
arquivos .png do diretório “<InstallDir> \ Data \ Gfx \ Trees \ Forest” para a
lista de “árvores atuais”.

Nota : você pode procurar por arquivos * .png no diretório raiz para obter uma
galeria de árvores que facilitará a seleção de árvores:

17
Uma vez que uma árvore ou arbusto for adicionado, ele aparecerá na lista
com um contador de instâncias.

Nota : cada linha na lista (ou tipo árvore / arbusto) é limitada a 10000
instâncias. Assim, a quantidade total de árvores não pode exceder 40.000
instâncias.

Criando florestas

Aqui está um exemplo com quatro árvores diferentes:


Se você clicar no botão do pincel da floresta , verá uma visualização
dinâmica do posicionamento das árvores no solo:
Você pode notar que cada espécie de árvore possui uma caixa colorida
dedicada. A qualquer momento, você pode desativar o posicionamento de
uma árvore específica, desmarcando-a na lista de árvores atual:
Você pode notar que agora não há mais cubos azuis escuros e o TulipPoplar
não será gerado no terreno.
Aqui está o resultado se você deixar apenas um tipo de árvore ativa:
Quando estiver satisfeito com o posicionamento da árvore, basta clicar com o
botão esquerdo do mouse para plantar as árvores:
Quando as árvores são adicionadas ao nível, os respectivos contadores são
atualizados para permitir você sabe que a nova árvore conta:

Nota : o sistema de pincelamento florestal é totalmente dinâmico e leva em


conta muitos parâmetros como inclinação, nível de água, densidade. Assim,
se você tentar escovar árvores no mesmo local, o pincel descartará
automaticamente as árvores para evitar sobreposições de acordo com seus
parâmetros de densidade:

Para remover árvores da paisagem, basta usar o botão direito do mouse.


Importante : observe que, para a exclusão de árvores, o pincel usa apenas o
valor de tamanho. Isso significa que você não pode diminuir a densidade
excluindo árvores (é necessário usar o controle deslizante de densidade ao
plantá-las):
Aqui estão os parâmetros disponíveis ao plantar árvores usando o pincel de
floresta:
Suavidade : define como as árvores são enviadas nos limites dos pincéis.
Tamanho : tamanho do pincel (tamanho mínimo significa 1 árvore)
Densidade : densidade da árvore (lembre-se de que densidades enormes
podem ter um impacto no desempenho tanto no editor quanto no jogo).
Inclinação : define o comportamento das árvores em encostas íngremes.
Altura Mín / Máx : define valores aleatórios para o tamanho das árvores.
Esses valores são definidos em poucentage de altura inicial.

Replantar árvores

Se você modificar as elevações do terreno, terá que atualizar as posições


das árvores de acordo com os novos valores.
18
Você pode usar o botão para essa finalidade.
Observação : o botão da árvore de replantação não leva em conta a água,
portanto você deve ter cuidado com isso e finalizar seu nível de água antes
de criar florestas.
Criando novos mapas - Partículas (Parte 1)
Sistemas de partículas podem ser colocados no terreno e salvos com níveis.
Desova do sistema de partículas existente
Pode ser útil analisar os sistemas de partículas existentes antes de criar os
seus próprios.
Para gerar um novo sistema de partículas no terreno, simplesmente vá até a
galeria “Existing Systems” e selecione um sistema de partículas (ex:
black_smoke) com o botão esquerdo do mouse. Em seguida, clique dentro
da viewport e você verá uma prévia da caixa delimitadora do sistema de
partículas, assim como sua posição de emissor principal: Observação : o
cursor do mouse é centralizado no emissor principal durante o
posicionamento do sistema.
Uma vez que você selecionou uma zona apropriada simplesmente clique
com o botão esquerdo do mouse para gerar o sistema de partículas:
Por favor, note que se você clicar novamente com o botão esquerdo do
mouse, você pode gerar outro sistema:
Quando terminar, clique com o botão direito para desativar. colocação de
partículas.
Você pode selecionar qualquer sistema colocado no nível usando o botão
esquerdo do mouse. Você pode então mover e girar o sistema de partículas
usando seu manipulador:
Para adicionar um sistema de partículas diferente, basta selecioná-lo na
galeria e seguir as etapas anteriores.
A barra de ferramentas “Selecionar sistema para editar” ajuda a gerenciar as
partículas geradas nos níveis: a partir daí, você pode selecionar um sistema
para edição (consulte a próxima seção) ou excluir sistemas selecionados ou
todos os sistemas.

Criando novos sistemas de partículas

Para criar um novo sistema de partículas, você tem que clicar no ícone “novo
sistema” na galeria “Sistemas Existentes”:
Uma vez clicado, vá para a viewport e você verá uma prévia da nova caixa
delimitadora do sistema de partículas. Clique com o botão esquerdo no
terreno para colocá-lo:
Isso também abrirá um novo editor de sistema de partículas na aba Sistema
de partículas: Cada sistema de partículas tem emissores. Um emissor é o
elemento base que irá gerar novas partículas. Todo o comportamento das
partículas é definido nos emissores.
Você pode alterar o nome do emissor clicando duas vezes nele:
Você também pode interagir com os emissores por meio da paleta que
aparece à direita:
Ocultar / Mostrar emissor. Muito útil se você estiver trabalhando em muitos

19
emissores.
Emissor duplicado: copia todas as configurações para um novo emissor.
Exclua o emissor.
Mover para Cima: altera a ordem de renderização do emissor.
Mover para baixo: altera a ordem de renderização do emissor.
Criando novos mapas - Partículas (Parte 2)
Configurações do emissor
⦁ Tipo de emissão : especifica a área de emissão para novas partículas. Os
valores podem ser:
⦁ Ponto : um único ponto no espaço 3D gera novas partículas
⦁ Spray : as partículas são geradas ao longo de um vetor de direção
⦁ Caixa : as partículas são desovadas dentro de uma caixa
⦁ Esfera : as partículas são geradas dentro de uma esfera
⦁ Tipo de partícula : determina a orientação das partículas (billoboarding):
⦁ Outdoor da Câmera : a partícula será uma quadra que sempre fica voltada
para a câmera
⦁ Billboard Orientado : o quadra da partícula terá um vetor fixo para (0,0,1).
As partículas ainda irão enfrentar a câmera.
⦁ Siga o quadro de avisos do caminho : orienta as partículas em seu
caminho aleatório (pode ser útil para cachoeiras)
⦁ Billboard de nuvens : modo especial de billboarding para nuvens como
partículas. Altera a orientação dependendo dos ângulos de visão.
⦁ Tamanho do emissor : usado apenas com os tipos de emissão Box e
Sphere. Define as margens do volume de emissão.
⦁ Sentido : usado apenas com o tipo de emissão de spray. Define a direção
do spray.
⦁ Deslocamento de posição : permite deslocar facilmente o emissor em
relação à posição do sistema.
Nota : você pode usar este deslocamento durante a edição para afastar o
emissor dos outros para ver melhor suas modificações.

Configurações de partículas
⦁ Número de partículas : contagem máxima de partículas para o emissor
selecionado (essa configuração pode ter um grande impacto no
desempenho do jogo).
⦁ Tempo de vida (seg) : define o tempo de vida das partículas em segundos
⦁ Tamanho mínimo da partícula: tamanho mínimo de partícula (este valor é
utilizado pelo gradiente «Evolução do tamanho das partículas»)
⦁ Tamanho máximo da partícula: tamanho máximo de partícula (este valor é
utilizado pelo gradiente «Evolução do tamanho das partículas»)
⦁ Tamanho aleatório : permite gerar tamanhos aleatórios para partículas
emissoras.
⦁ Randomize o tempo de vida : gerou tempos de vida aleatórios com base
no valor do tempo de vida global.
⦁ Evolução do tamanho de partícula : você pode usar este controle de
gradiente para criar curvas personalizadas para a evolução do tamanho de

20
partícula durante o tempo de vida útil da partícula. O controle gradiente
representa o tempo de vida da partícula: a borda esquerda do gradiente
representa o nascimento da partícula e o lado direito a morte das
partículas. O gradiente é em escala de cinza: branco significa 1 (ou
tamanho máximo) e preto significa 0 (ou tamanho mínimo).
Nota : você pode adicionar novas chaves clicando duas vezes na zona do
gradiente. Clicar duas vezes em um marcador com pop-up de um seletor
de cores para seleção de cores.
⦁ Partícula de rotação : permite girar as partículas emitidas.
⦁ Rotação aleatória : rotações uniformes podem ser muito visíveis. Você
pode quebrar o padrão de rotação usando este controle deslizante.
⦁ Velocidade : define a velocidade das partículas.
⦁ Randomize speed : permite que as partículas tenham velocidade aleatória
com base no valor da velocidade principal.
⦁ Ângulo : usado apenas para o tipo de emissão de spray. Define o ângulo
do spray (sua largura).

Configurações do shader
⦁ Partícula iluminada : se verificada a partícula será iluminada com luz
ambiente e direta
⦁ Volume 3D iluminado : opção especial para iluminação de volume falsa
⦁ Somente ambiente iluminado : iluminação simplificada com termo
ambiente.
⦁ Reflexão : informa se esse emissor será renderizado no passe de reflexão
(água)
⦁ Fundo preto : modo especial para partículas coloridas (como chamas de
fogo) para evitar a perda da cor original em fundos brilhantes (céu, por
exemplo).
⦁ Projeção infinita : processa as partículas como se estivessem em um
plano infinito do observador (sem uso).
⦁ Texturas de partículas : permite selecionar até quatro texturas diferentes
para as formas de partículas.
⦁ Mistura Alpha / Additive blending : este controle deslizante permite
controlar a quantidade de mistura nas partículas. Você pode escolher
valores intermediários entre mistura alfa pura e mistura aditiva.
⦁ Cor : descreve a variação de cor das partículas durante o tempo de vida.
Nota : você pode adicionar novas chaves de cores clicando duas vezes na
zona de gradiente. Clicar duas vezes em um marcador com pop-up de um
seletor de cores para seleção de cores.
⦁ Fade in : um gradiente em escala de cinza que permite controlar a
transparência das partículas durante toda a sua vida útil.

Forças de partículas
⦁ Gravidade : um vetor que simula força de gravidade. Definido por padrão
para a gravidade da Terra.
⦁ Vento : um vetor adicional para simular o vento no nível.
⦁ Randomize wind : permite randomizar o efeito do vento.
21
Movimento de partículas
⦁ Dinâmico : especifica se as partículas precisarão de atualizações de
posição durante sua vida útil. Necessário se o emissor precisar ser
conectado a um objeto em movimento.
⦁ Ciclo : ciclos de vida e morte das partículas. Quando uma partícula morre,
ela é instantaneamente substituída por uma nova partícula. Se não estiver
marcada, as partículas mortas não são substituídas para que o sistema
desapareça após o tempo total de vida útil.
⦁ Nascimento : as partículas devem desovar ou já estar na posição correta.
⦁ Morte : as partículas mortas não são substituídas e desaparecem.
⦁ Classificação regular : restrições de nascimentos de partículas ao longo do
tempo de vida do emissor.
⦁ Desaceleração : diminui a velocidade das partículas durante a sua vida
útil.
⦁ Link to : permite que este emissor se conecte a outro (pode ser útil para
gerar novas partículas após um determinado período de tempo. Ex: fogos
de artifício)
⦁ Link to slider : permite definir o horário de nascimento do emissor atual
baseado no link (veja sistema de fogos de artifício). Se você vincular um
emissor, esse controle deslizante exibirá valores úteis para sincronizar os
dois emissores:

Importante : tenha cuidado ao colocar sistemas de partículas enormes na


cena, pois pode haver um alto custo de desempenho para eles.
Implantando sistemas de partículas com novos níveis
Os sistemas de partículas são salvos no diretório “<Diretório de instalação>
Data \ Gfx \ Particles”. Se você adicionar novos sistemas de partículas aos
seus níveis, certifique-se de incluir também o arquivo .particles com eles.
Aviso : alguns sistemas de partículas existentes já são usados no jogo
(plane_trail, smoke, smokebuilding01, volcano, falling_star, carlights,…).
Esteja ciente de que, se você modificá-los, isso terá impacto em todos os
níveis existentes.

Salvando seu nível no formato .lvl

Uma vez que seu nível estiver terminado, você terá que salvá-lo em um
arquivo .lvl (isso também pode ser útil durante o processo de edição).
Conforme mencionado na seção Fluxo de Trabalho deste documento, o
arquivo .lvl é um arquivo indireto para os arquivos .land, material .xml e
environment .xml.
Também armazena florestas e partículas internamente. Para simplificar: a .lvl
é um arquivo de salvamento do jogo e é o seu ponto de entrada no jogo.
Antes de salvar seu nível, certifique-se de ter carregado os arquivos de
trabalho corretos na barra de título:
Então, clique no botão Salvar como na parte superior do editor:
nomeie o nível e salve-o em “<InstallDir> \ Data \ Level” pasta onde todos os
níveis do jogo estão localizados.
Agora você está pronto para equipar seu nível com camadas de recursos e
22
disponibilizá-lo para os jogadores.
Adicionando camadas de recursos
Uma vez que você terminou seu level design, você está pronto para preparar
seu nível para o jogo. A primeira coisa a fazer é adicionar camadas de
recursos para fornecer recursos vitais aos jogadores.
Camadas de recursos são arquivos PNG em escala de cinza simples que
cobrem todo o nível. Os valores de cor branca informam onde um
determinado recurso pode ser encontrado no mapa.
Para criar novas camadas de recursos, você precisará de uma captura de
tela de nível. Para fazer a foto nivelada, você pode usar o botão de
nivelamento localizado na aba Opções do editor:
Uma vez que você fez sua captura, você pode usá-la em sua ferramenta
DCC favorita (tipicamente photoshop ou paint.net) como uma máscara para
criar novas camadas.
As camadas devem ter 512x512 pixels (32 bits) de tamanho por motivos de
desempenho. Você pode verificar o diretório “<InstallDir> \ Data \ Gfx \
Paisagem \ Camadas” para comparar com os níveis existentes. O tiro de
nível criado a partir do editor já tem o tamanho correto.

Todos os níveis devem ser armazenados no diretório Layers para serem


mais tarde referenciados no LUA (veja o próximo capítulo)
Editor de material - Exibição da camada Sim
Você pode visualizar suas camadas de recursos dentro do editor usando a
guia Material.
Il a caixa de combinação Modo de renderização, selecione o modo SimLayer
e clique no “clique para selecionar uma imagem da camada” botão localizado
logo abaixo da caixa de combinação:
Selecione a imagem da camada que você deseja visualizar e você vai vê-lo
processado no terreno:
Aqui você pode ver uma prévia da camada de água e praia.
Editor de materiais - ferramenta exportadora de camadas
O editor de material também oferece uma ferramenta que pode ajudá-lo a
gerar suas máscaras de camada.
Tem principalmente duas opções:
⦁ Water & Beach : exporta um arquivo de 512x512 png de 8 bits dos limites
da água. Você pode usar essa máscara em sua ferramenta DCC para
gerar a imagem da camada final ou para seguir melhor os limites da água.
⦁ Camada de terreno : exporta uma das quatro camadas de material como
uma máscara. Essa opção pode ser útil se você quiser combinar um
recurso específico (como petróleo ou agricultura) com um material de
terreno específico. Mais uma vez você pode usar a máscara e modificá-la
para gerar a camada final de recursos.
Para outras camadas, como citylinks, você pode usar camadas existentes de
outros mapas ou gerar novas.

Nota : você não é forçado a usar essa ferramenta para gerar suas camadas.
Você pode começar do nível e desenhá-los a partir do zero.

Referenciando as Camadas para o jogo

23
Depois que você terminar de projetar suas camadas citylink e resource, você
precisará vinculá-las ao nível.
Todas as camadas são referenciadas no arquivo “<InstallDir> \ Data \ Design
\ Script \ SimInfo \ Layers.lua”.
Cada nível tem uma seção dedicada que descreve todas as camadas que ele
fornece.
Importante : Para não sobrescrever o arquivo original e evitar conflitos de
arquivo com outros mapas da comunidade, crie o arquivo com a convenção
de nome a seguir: zzz_AuthorName_MapName_Layers.lua .
Importante : o prefixo zzz_ é importante para a inicialização do jogo. É para
ter certeza de que os scripts vêm depois dos scripts originais do jogo.
Aqui está um exemplo:
LAYERMANAGER.TextureLayersFilenames ["bigisland_03"] = {["bigisland_
03"] = {- Camadas GEM: Neve / Praia - NO ["GemSki_Snow"] = {"Dados / Gfx
/ Paisagem / Camadas / bigisland_03_GemSki_Snow.png", 198 },
["Gembeach_Beach"] = {"Dados / Gfx / Paisagem / Camadas / bigisland_03
_Gembeach_Beach.png", 194}, - Links da Cidade: Marítimo / Ferroviário /
Rodoviário / HighWay ["Sim_CityLinkInterCity_sea"] = {"Dados / Gfx /
Paisagem / Camadas / bigisland_03_Sim_CityLinkInterCity_sea.png ", 206}, -
NO [" Sim_CityLinkInterCity_rail "] = {" Dados / Gfx / Paisagem / Camadas /
bigisland_03_Sim_CityLinkInterCity_rail.png ", 210}, - NO ["
Sim_CityLinkInterCity_road "] = {" Data / Gfx / Paisagem / Camadas /
bigisland_03_Sim_CityLinkInterCity_road.png ", 218}, - NO ["
Sim_CityLinkInterCity_highway "] = {" Dados / Gfx / Paisagem / Camadas /
bigisland_03_Sim_CityLinkInterCity_highway.png ", 214}, - Recursos: Água /
Óleos / Agri / Environment - ["Sim_Water"] = {"Dados / Gfx / Paisagem /
Camadas / bigisland_03_Sim_Water.png", 222}, ["Sim_SeaSide"] = {"Dados /
Gfx / Paisagem / Camadas / bigislan d_03_Sim_SeaSide.png ", 255}, ["
Sim_Oils "] = {" Dados / Gfx / Paisagem / Camadas / bigisland_03
_Sim_Oils.png ", 230}, [" Sim_Agri "] = {" Dados / Gfx / Paisagem / Camadas /
bigisland_03_Sim_Agri. png ", 225}, [" Sim_Environment "] = {" Dados / Gfx /
Paisagem / Camadas / bigisland_03_Sim_Environment.png ", 0.98},},}
Importante : o nome do nível na primeira linha deve estar em minúsculas,
caso contrário suas camadas não serão encontradas!
Os nomes à esquerda (chaves) devem ser exatamente os mesmos para
todos os seus níveis.
Você pode desabilitar as camadas não utilizadas comentando-as com “-“:
As possíveis chaves da camada são:
⦁ Sim_CityLinkInterCity_sea: camada da área de porta
⦁ Sim_CityLinkInterCity_rail: não utilizado
⦁ Sim_CityLinkInterCity_road: camada de estradas interurbanas
⦁ Sim_CityLinkInterCity_highway: camada de rodovias intermunicipais
⦁ Sim_Water: camada de águas subterrâneas
⦁ Sim_Oils: camada de áreas produtoras de petróleo
⦁ Sim_Agri: camada de áreas férteis
⦁ Sim_Environment: camadas de ambiente e feriados
⦁ Sim_SeaSide: camada da área costeira
⦁ GemSki_Snow: área de neve para ski gem

24
⦁ GemSki_ContructArea: área de construção permitida para ski gem
Adicionando novos níveis ao jogo
Miniatura do mapa
Para adicionar seu novo nível ao jogo, certifique-se de ter preparado uma
miniatura para ele. Você pode usar o editor para capturar uma visualização
do seu nível usando o botão Captura de tela na guia Opções:
Depois de salvar sua captura de tela no disco, você terá que editá-la e salvá-
la no formato DDS. As miniaturas devem ter 256x256 pixels e serem
convertidas para o formato DXT1 (sem mipmaps). A imagem final deve ser
salva no diretório “InstallDir \ Data \ Interface \ DDSTexture \ Mapas”:
Você deve seguir o mesmo formato das outras miniaturas do mapa. Também
é melhor seguir as mesmas regras de nomenclatura.
Adicionando o nível às listas de mapas
Em seguida, você terá que criar dois arquivos para fazer referência ao novo
nível e disponibilizá-lo no jogo:
Importante : para não substituir o arquivo original e evitar conflitos de arquivo
com outros mapas da comunidade, crie os arquivos com o seguinte nome
convention:
<DataDraw> \ Data \ Design \ UnProtectedScript \
zzz_AuthorName_MapName_FullMapList.lua
<GameDir> \ Data \ Projeto \ UnProtectedScript \
zzz_AuthorName_MapName_MapList.lua
Importante : o prefixo zzz_ é importante para a inicialização do jogo. É para
ter certeza de que os scripts vêm depois dos scripts originais do jogo.
zzz_AuthorName_MapName_FullMapList.lua : este arquivo adicionará seu
mapa à lista.
Exemplo:
local maplist = {"bigisland_03"} MapSaveMgr.FullMapList =
MapSaveMgr.FullMapList para k, v em ipairs (maplist) do table.insert
(MapSaveMgr.FullMapList, 1, v) end
Nota : o nome do nível deve ser adicionado sem a extensão .lvl.
<GameDir> \ Data \ Design \ UnProtectedScript \
zzz_AuthorName_MapName_MapList.lua : este arquivo contém dados para a
descrição do mapa que aparecerá no menu de seleção do mapa.
Aqui você tem que combinar os recursos com as camadas que você
adicionou anteriormente ao seu nível (veja a seção “Adicionando camadas de
recursos”).
Crie o arquivo assim:
MapMgr.g_FullMapList ["bigisland_03"] = {["Sinalizadores"] = {"BEAC_0",
"ISLA_0"}, Recursos = {ÓLEOS = 1, WATR = 0, AGRI = 1, HLDY = 2,},
Edições = { }, Dificuldade = 70, Surface = 80, TransportAvailability = 30,
["Ativo"] = verdadeiro, ["Imagem"] = "bigisland_03.dds", ["Playable"] = true,}
Aqui está uma descrição das diferentes entradas:
⦁ Sinalizadores : lista de tags que serão usados nos filtros de seleção de
mapa (os valores possíveis são: BEAC_0, ISLA_0, DSRT_0 e SNOW_0 e
correspondem aos quatro filtros disponíveis no menu).
Nota : se você deixar esta lista vazia, seu nível desaparecerá quando os
filtros forem selecionados.
⦁ Recursos : esta seção define quantas estrelas serão exibidas para todos

25
os quatro principais recursos do jogo. Os valores variam de 0 (sem
estrelas) a 3 (3 estrelas).
⦁ Dificuldade, superfície e disponibilidade de transporte : valores de
percentual exibidos na descrição do mapa. Esses valores devem
corresponder à topologia do seu nível.
⦁ Imagem : este campo faz referência à miniatura do mapa criada
anteriormente (não é necessário o caminho)

Escolhendo slots de planeta para o mapa

Para estar disponível no planeta, seu nível deve ser atribuído aos slots
disponíveis. Todos os slots são listados no arquivo “<GameDir> \ Data \
Design \ Script \ Rede \ offlinedata \ PlanetSlotList_bup.xml”.
O processo de encontrar novos slots é totalmente manual.
Primeiro você terá que selecionar um ID de slot e verificar se ele não aparece
no arquivo “<GameDir> \ Data \ Test \ SlotMap.cxl”.
É melhor adicionar vários slots para o mapa para que você possa ter certeza
de que terá entradas disponíveis.
Depois de ter alguns IDs de slot não utilizados exclusivos, você terá que criar
o arquivo <GameDir> \ Data \ Design \ UnProtectedScript \
zzz_AuthorName_MapName_mapsavemgr.lua
Aqui está um exemplo com três slots:
CustomSlotDataSlotMap = CustomSlotDataSlotMap ou {}
CustomSlotDataSlotMap ["bigisland03"] = {[1] = {m_nTagsRange1 = 0,
m_LandScape = "HLDY_0", m_SlotId = 212859, m_X = 0.51181507110596,
m_nTagsRange2 = 260, m_Z = 0.13762007653713, m_Y =
0.84800124168396}, [2] = {m_nTagsRange1 = 0, m_LandScape = "HLDY_0",
m_SlotId = 214907, m_X = 0,67740488052368, m_nTagsRange2 = 268, m_Z
= 0,66928255558014, m_Y = -0,30525970458984}, [3] = {m_nTagsRange1 =
0, m_LandScape = "HLDY_0 ", m_SlotId = 206716, m_X
= -0,21043148636818, m_nTagsRange2 = 64, m_Z = 0,27851966023445,
m_Y = 0,93709409236908}}

Adicionando localização

O texto exibido no painel de descrição do mapa pode ser localizado para


todos os idiomas da Cities XXL.
Para cada idioma, você encontrará um
“ AuthorName_MapName_MapNames ” correspondente . ”Na
pasta“ <GameDir> \ Data \ Localization \ ?? \ ”onde ?? deve ser substituído
pelo código de idioma (por exemplo en para inglês).
Em cada arquivo existem três chaves que você pode criar:
<LevelNameUppercaseWithoutExtension> : o nome do mapa (“The Big
Island 03” na captura de tela anterior)
<LevelNameUppercaseWithoutExtension> _DIFFULDADE : descrição da
dificuldade
<LevelNameUppercaseWithoutExtension> _DESC : map detailed description
Aqui está um exemplo para o nosso nível (arquivo MapsNames.en):
Recapitulação de arquivos
Finalmente, aqui estão todos os arquivos necessários para seus níveis
26
(BigIsland_03 neste exemplo) e que você terá que implantar no jogo:
⦁ "<GameDir> \ Data \ Gfx \ Paisagem \ bigisland_03.land"
⦁ "<Diretório> \ Data \ Gfx \ Paisagem \ Camadas \ bigisland_03 _ *. Png"
⦁ "<DataDir> \ Data \ Gfx \ Landscape \ Materiais \ bigisland_03_mat.xml"
⦁ "<DataDir> \ Data \ Gfx \ Paisagem \ Água \ bigisland_03.water"
⦁ "<Diretório> \ Data \ Gfx \ Sky \ bigisland_03_env.xml"
⦁ "<GameDir> \ Data \ Level \ bigisland_03.commands.xml"
⦁ "<GameDir> \ Data \ Level \ bigisland_03.lvl"
⦁ "<Diretório> \ Data \ Interface \ DDSTexture \ Mapas \ BigIsland_03.dds"
⦁ Quaisquer arquivos .particles na pasta “<GameDir> \ Data \ Gfx \ Particles”
se seus níveis trouxerem novos sistemas de partículas.
⦁ Qualquer novo cubemaps na pasta “<GameDir> \ Data \ Gfx \ Sky \
Cubemaps”.
⦁ "<GameDir> \ Data \ Design \ Script \ SimInfo \
zzz_AuthorName_MapName_Layers.lua"
⦁ "<Diretório> \ Data \ Design \ UnProtectedScript \
zzz_AuthorName_MapName_FullMapList.lua"
⦁ "<Diretório> \ Data \ Design \ UnProtectedScript \
zzz_AuthorName_MapName_MapList.lua"
⦁ "<Diretório> \ Data \ Design \ UnProtectedScript \
zzz_AuthorName_MapName_mapsavemgr.lua"
⦁ "<DataDir> \ Data \ Localization \ <LanguageCode> \
zzz_AuthorName_MapName_MapsNames. <LanguageCode>"
Onde:
⦁ <GameDir> - é a pasta onde o jogo está instalado
⦁ <LanguageCode> - é o código do idioma de 2 letras. Por exemplo, "en"
para inglês
Certifique-se de colocar todos esses arquivos nos locais corretos.
Solução de problemas
Não é possível iniciar o editor de mapas
Você pode ter que instalar as seguintes dependências (todos os arquivos de
instalação são fornecidos com o editor dentro da pasta <Install dir> \
_prereqs):
⦁ SDK do DirectX de junho de 2010
⦁ Doca de areia, fita de areia e barra de areia.
⦁ Tempo de execução do .NET Framework
⦁ Redistribuíveis do Visual Studio 2010
Layout quebrado ou painéis perdidos
Se você deseja restaurar o layout original do editor, siga estas etapas:
⦁ Feche o editor
⦁ Exclua o arquivo “<InstallDir> \ Data_Editor \ Editor \ Layout \
MapEditor.workspace”
⦁ Faça uma cópia do arquivo “<InstallDir> \ Data_Editor \ Editor \ Layout \
MapEditor.originalworkspace” e renomeie a cópia para “<InstallDir> \
Data_Editor \ Editor \ Layout \ MapEditor.workspace”

27
⦁ Inicie o editor novamente.
O layout original deve ser restaurado.
As camadas do mapa não são exibidas quando clico nos botões de filtro do
jogo
Verifique se o seu nível tem uma seção dedicada no arquivo “<InstallDir> \
Data \ Design \ Script \ SimInfo \ Layers.lua” e se o nome do nível é
minúsculo sem extensão.

28

Você também pode gostar