Notícias

TUTORIAL 09 - CRIANDO UM TERRENO

        Neste tutorial aprenderemos como criar um terreno usando um heightmap. Um Heightmap consiste em uma superfície 3D formada a partir de uma imagem 2D, esta imagem é constituída por tons de cinza e a variação de cor é usada para a formação da superfície, onde tons claros representam os locais de maior elevação e os escuros os de menor elevação. Os Heightmaps normalmente são utilizados para a criação de terrenos, pois possibilitam a formação de ambientes externos, como montanhas, de maneira rápida e fácil.

        Primeiramente crie um novo projeto ou use um anterior, em seguida vá até o menu Banco de Dados -> Heightmaps. A seguinte tela será exibida:

        Este é o cadastro de Heightmaps, nele são importadas as imagens 2D que formarão o terreno 3D e também são definidas algumas de suas propriedades. A seguir serão explicadas mais detalhadamente todas as propriedades que são possíveis definir em um Heightmap.

      - Imagem: Refere se a imagem constituída por tons de cinza que será utilizada para formar o terreno, esta imagem deve estar no formato BMP.
      - Material: Define o material que será aplicado no terreno.
      - CLODPrecision: Define a precisão da geração do terreno, quanto mais baixo o CLODPrecision mais alto será a precisão e mais lenta será a geração de terreno.
      - MaxCLODTriangles: Determina o numero Maximo de triângulos utilizados para formar o terreno.
      - QualityDistance: Determina a distancia em que a qualidade do terreno começa a diminuir.
      - QualityStyle: Determina o tipo de qualidade aplicada ao terreno.
      - TileSize: Define o tamanho dos tiles utilizados no terreno.
      - TilesPerTexture: Define como uma textura é exibida no terreno. Se há tiles múltiplos é necessário aumentar o número de TilesPerTexture para que a textura cubra o terreno inteiro.
      - InfinteWarp: Determina se o terreno será infinito ou não.
      - Scale: Define o tamanho visual do objeto e é referente às coordenadas X, Y e Z.
      - Rotation: Definição da rotação do objeto.
      - PitchAngle: Define o ângulo de rotação no eixo Y do ator.
      - RollAngle: Define o ângulo de rotação no eixo Z do ator.
      - TurnAngle: Define o ângulo de rotação no eixo X do ator.

      Vamos criar um novo terreno, para isto faço o donwload da seguinte imagem:

      Agora vamos criar o nosso terreno, primeiramente devemos cadastrar um material para aplicarmos sobre o terreno, crie um material de sua preferência, eu utilizarei a “Grama” que foi criado em um tutorial anterior. Após criar o material volte ao editor de Heightmaps e clique em novo e de o nome de “Terreno” ou outro nome que você preferir. Em seguida clique na imagem e selecione o arquivo “terrain.bmp”, em seguida selecione o material que será aplicado no terreno e altere o PitchAngle para 90, por enquanto você pode manter as outras opções padrão. Clique em salvar e estará ponto o seu Heightmap.

      Retorne para a tela principal do 3D Game Builder. Na paleta de objetos selecione a categoria “Heightmaps”, ali estará o heightmap que acabamos de criar, de um duplo clique sobre ele. Você verá que o heightmap aparecerá no centro da tela, agora é possível manipular-lo como um objeto comum no mapa.

       Note que a textura aplicada sobre o terreno é única, não há diferenciação de partes do terreno, seria interessante que as regiões com maior elevação possuíssem uma textura diferenciada, para isto o 3D Game Builder possui o "Terrain Texture Builder", com ele é possível criar uma textura para um determinado terreno, definindo como será o terreno em determinadas elevações e depressões, o que ajuda a dar um maior grau de realismo. Nos próximos tutoriais será mostrado como utilizar esta ferramenta.

      No próximo tutorial aprenderemos como criar um ambiente mais realista usando um “Skybox”.