Escolar Documentos
Profissional Documentos
Cultura Documentos
Fase 3.1 Tutorial
Fase 3.1 Tutorial
1
Março de 2022
Definição da versão
A fase 3.1 precisa do parâmetro mapModVersion=3.1 na seção [map] do txt principal do mapa.
Sem isso os novos comandos serão ignorados para fins de otimização, já que não precisa buscar
pelos objetos das árvores se o mapa não for usar elas.
mapModVersion=3.1
Esta versão aceita este parâmetro useStandardShader com o valor 1 (ativado) ou 0 (desativado).
Com isso o gráfico fica mais bonito. Em alguma versão futura isso será o padrão para todos os
mapas e mods, mas vale a pena colocar caso queira testar desde já. A partir da v293 foi corrigido o
brilho excessivo que ficava nos objetos ao usar isso.
useStandardShader=1
De uns tempos pra cá o txt do mapa também aceita o parâmetro url, que pode indicar para o site do
autor. Ele será clicável na tela de seleção do mapa:
url=https://www.busmods.com
Árvores nativas
Para colocar as árvores nativas basta usar um objeto vazio para pegar a posição no 3D com o nome
_utree123_ trocando o 123 pelo número da ID da árvore desejada. Consulte a pasta com as fotos
das árvores no material de apoio para ver os números delas.
Sugerimos usar um triângulo para pegar as posições em vez de um cubo ou quadrado, pois fica
mais leve (apenas 3 vértices e um triângulo). Aparentemente funciona também com um vértice
sozinho, mas fica difícil de ver dentro do Blender.
Não tem problema deixar aqueles .0xx que o Blender adiciona ao duplicar. O que importa é ter o
_utree123_ no nome. Foi escolhido _utree em vez de _tree para evitar bugar algum mapa que
porventura possa usar objetos previamente nomeados assim.
As rotações das árvores serão aleatórias a cada carregamento: não é possível escolher uma
rotação individual pela complexidade de carregar os parâmetros para cada uma delas. Isso poderá
ser analisado futuramente (ou não). Então tanto faz a rotação dos objetos delas no 3D, não precisa
perder tempo rotacionando porque nessas versões não vai resolver.
Se lotar de árvores num mapa que já é pesado, vai pesar ainda mais! Prefira usar elas apenas
nas áreas próximas de onde o jogador passa. Não tente fazer uma floresta com todas elas (ou sim,
caso seu PC aguente e você goste do resultado… afinal não podemos limitar a criatividade de
ninguém haha).
Quanto menos variações de árvores usar, mais leve! Serão menos modelos e texturas carregados.
Se usar todas as árvores disponíveis talvez o mapa só seja carregado no PC e em celulares tops com
bastante RAM.
Estas árvores ficam mais leves do que se fossem feitas direto no 3D, pois são instanciadas dentro da
engine e não duplicadas. Naturalmente elas pesam mais do que as árvores com planos cruzados
simples que a maioria dos mapas leves usam.
Em versões futuras serão estudadas otimizações para as árvores, especialmente para desativar os
objetos mais distantes. Isso está sendo feito a partir de 500 metros da câmera atualmente. Se tiver
muitos milhares de árvores pode comprometer o desempenho devido as checagens de distância
constantes.
Não existe um valor máximo, vale testar e ver até que ponto os aparelhos atuais conseguem rodar.
Talvez deixar algumas nos detalhes extras possa ajudar.
Nessas primeiras versões não é possível alterar a escala delas. Será estudada uma forma para
resolver isso depois. Alguns modelos estão exageradamente grandes.
Materiais nativos
Ignore completamente o _asphalt1_, 2 e 3 exibido no teste anterior: a substituição do material será
feita de outra forma para melhorar a performance no carregamento. O modelo anterior faria
muitas verificações para cada um dos objetos. O atual fará uma só para cada textura, sendo muito
mais eficiente.
Para trocar uma textura pelo material nativo com alguns efeitos, crie um txt com o mesmo nome da
textura terminado em .config.txt na pasta das texturas, por exemplo:
Estes materiais dão uma aparência muito bonita no gráfico mais top de PC, alcançando um visual
interessante com a iluminação. Apesar da extrema dificuldade de criar interfaces para modificar isso
nos mods de mapas, aos poucos dá pra atingir coisas bem interessantes:
Nota sobre a disponibilidade do recurso
Versões futuras do jogo poderão apresentar algumas diferenças visuais nos materiais, especialmente
em brilhos ou reflexos que possam estar exagerados. O resultado visual também é diferente em cada
plataforma e GPU (PC ou celular). Tentaremos não introduzir nenhuma mudança que quebre o
visual, mas não dá pra garantir isso por depender das mudanças futuras feitas na engine. Como as
plataformas nos obrigam a atualizar a engine de tempos em tempos, não é possível garantir que
nada mudará nos próximos cinco ou dez anos.
Este comando poderá mudar em futuras versões do jogo, tanto por conta de melhorias como por
mudanças na engine ou no sistema de clima. Se usar, esteja ciente que o visual no futuro poderá ser
diferente do atual, embora tentamos não introduzir nada que quebre a compatibilidade com os
mapas atuais isso é impossível de garantir.
Caso queira deixar uma rua ou calçada sempre com o aspecto de molhado independente de estar
chovendo ou não, você pode usar os materiais asphalt/wet0 até asphalt/wet4 no txt de
configuração da textura. Com o keepTexture=1 é possível usar eles para molhar calçadas ou outros
tipos de pisos.
Água para lagos, rios...
Este comando não está oficializado, caso use saiba que ele poderá ser removido do jogo no futuro
dependendo do peso, das atualizações da engine ou de outros problemas. Mas fica bem bonito!
Isso será liberado exclusivamente para computador. Em GPUs antigas ou simples pode reduzir
bastante a performance. Futuramente terá uma melhor opção para o jogador ativar ou desativar.
Use um plano com uma textura sua na pasta textures para garantir que ele apareça no celular
também, onde a água interna será ignorada. Nomeie ele como _water1_ e deixe um pouco
abaixo da superfície, para não ficar piscando com o chão:
A escala da água é um pouco complicada de explicar, ela será uma escala aplicada na água interna
da engine, o que pode ter variações em futuras versões. Dentro da engine ela aparenta ter um raio de
1m, sendo um objeto circular:
Para os parâmetros de escala da água não são aceitos todos os números, eles precisaram ser
predefinidos manualmente. Use o parâmetro _scale123_ no nome do objeto, trocando 123 por um
destes valores:
_scale5_
_scale10_
_scale25_
_scale50_
_scale100_
_scale250_
_scale500_
_scale1000_
É recomendável usar o menor número possível de acordo com cada área, senão ela será renderizada
por baixo do chão de qualquer forma, desperdiçando recursos da GPU.
Dica: você pode “pintar” o fundo usando alguma textura de pedra ou outros elementos, visto que no
gráfico Ultra de PC a água é um pouco transparente. Assim dá para ter locais com fundos diferentes.
Ela é ideal para lagos ou mares, não sendo tão adequada para rios com formatos diferentes ou
lineares.