Introdução
- Spoiler:
- Este motor é uma alternativa ao motor NeoMode7.
Embora o objectivo do NeoM7 é emular o recurso Mode7 do NES, este novo motor ir mais longe na sensação 3D.
A principal causa de feedbacks negativos sobre a NeoM7 é que o mapa parece muito plana, como uma folha de papel.
O motor HM7 é uma resposta a essas críticas. Ele lida com heightmaps para que o mapa é prestado em relevo.
O alívio não é muito pronunciado, de modo que este motor é mais adequado para worldmaps-como mapas, onde os elementos gráficos são pequenas.
O script pode ser difícil de dominar, porque requer gráficos específicos, e é importante para entender como os elementos são desenhados para criá-los adequadamente.
Portanto, este script não é adequado para iniciantes RM.
Características
- Spoiler:
- -Mais 3D, mais lag
-ângulo de inclinação ajustável
-Rotação de 360 °
-Zoom in, Zoom out
-Autotiles animados
-Provavelmente uma multidão de erros, já que é a primeira versão
-Trabalha com 200 * 200 telhas ² mapas (HM7 não será ativado se a largura ou a altura exceder 200 telhas)
Screens
- Spoiler:
Download
- Spoiler:
- http://www.mediafire.com/?lbi1i75blpuaa2i
Como isso funciona?
- Spoiler:
- Este script modifica um objeto bitmap que representa a tela.
É um 640 * 480/480 * 360/320 * 240 objeto Bitmap (dependendo da resolução escolhida),
contido em um sprite que é exibido sobre o panorama, mas abaixo todos os outros sprites.
Para cada pixel da bitmap é calculado um pixel correspondente mapa para mostrar, por uma projecção de um polígono 3D texturizados (o mapa).
Em seguida, um desvio vertical é determinada em função da inclinação, o solo e as heightmaps heightmaps telhas para as três camadas.
Todos os pixels entre a posição original ea sua compensação são tiradas: que faz com que o mapa "relevo".
Heightmaps:
- Spoiler:
- Um mapa de alturas é uma imagem em tons de cinza que contém dados de alturas para cada pixel.
Áreas pretas significam nenhuma altura de deslocamento, enquanto que as áreas brancas significa uma altura máxima de deslocamento.
A altura máxima compensação tem um valor fixo de 32 pixels, para uma telha com um mapa de alturas inteiramente branco será processado como um cubo.
- Heightmap chão
É possível associar um heightmap a um mapa RMXP (optionnal) que irá ser utilizado para adicionar um efeito de estampagem de forma independente para os ladrilhos 3-camadas.
O mapa de alturas é automaticamente esticado para as dimensões do mapa RMXP, usando uma interpolação linear.
Arquivos de terra heightmaps, denominado "Heightmap_XXX" (XXX representa um número de identificação), devem ser colocados na pasta "Imagens".
- Telhas heightmaps
Elas são reunidas em um conjunto semelhante ao tileset mapa. A "heightmapset", chamado "[nome tileset] _Hmap" e colocado no "Tilesets" da pasta, é obrigatória para cada tileset usado em um mapa HM7.
- Autotiles heightmaps
É o mesmo sistema aqui. Um mapa de alturas que corresponde graficamente ao arquivo autotile, chamado "[nome autotile] _Hmap", pode ser colocado no "autotiles" pasta (é opicional).
Instruções
- Spoiler:
- O que é necessário:
- Script (acima principal, como de costume)
- O MGC_Hmode7.dll arquivo na raiz do seu projeto
- Autotiles específicos, tilesets, texturas e heightmaps
Para ativar o H-Mode7, você deve adicionar [HM7] ao nome do mapa.
As seguintes tags são optionnal:
[HMAPXXX]: XXX é o identificador do heightmap chão que deve ser utilizada para o mapa
[# XX]: XX é o ângulo de inclinação (em graus): 0 -> 80, 0 por padrão
[XXX]%: XXX é o ângulo de rotação (em graus): 0 -> 359, 0 por padrão
[X]: permitir looping mapa horizontal
[Y]: ativar mapa vertical, looping
[DA]: desativar autotiles animados
[AFXXX]: XXX é o período de animações para autotiles animados: 1 -> 999, 20 quadros por padrão
[DL]: desactivar os efeitos de iluminação automática
[RX]: X = 1 - resolução> alto (padrão)
X = 2 -> média resolução (para aumentar o desempenho)
X = 3 -> baixa resolução (para aumentar drasticamente o desempenho)
[CX]: X = 0 -> não deslocamento vertical (padrão)
X = 1 -> deslocamento vertical, de modo que a câmara não corte o solo, na parte inferior do ecrã.
Deve ser usado somente quando o horizonte é visível.
X = 2 -> deslocamento vertical, de modo que a câmara não cortam o mapa na parte inferior do ecrã.
Deve ser usado somente quando o horizonte é visível.
X = 3 -> deslocamento vertical, de modo que o jogador está sempre no centro da tela.
[DF]: desativar o filtro (melhor qualidade, diminuir drasticamente o desempenho)
[HF]: atualização do mapa a cada dois quadros (aumento de desempenho menos fluentes,)
[E] (v.1.2.1): pedido edmhotta para ter menos elementos de corte na parte inferior da tela. Pode causar atraso enorme, especialmente quando em rotação.
[DB] (v.1.2.1): elementos de corte na parte inferior da tela não são preenchidos com preto (mas eles ainda estão cortadas).
Você também pode associar uma palavra-chave para uma configuração no início do script.
Por exemplo, com o comando seguinte:
HM7 :: Maps_Settings ["MyKeyword"] = ["# 60", "X", "HMAP3"]
se um nome de mapa contém "MyKeyword", então o HM7 será ativado, com um ângulo de inclinação de 60 graus, looping horizontal,
e usando a imagem "Heightmap_003" como heightmap chão.
Comandos
- Spoiler:
- - Para definir um novo ângulo de inclinação (0 a 80):
$ scene.hm7_set_alpha (ângulo novo)
Para deslizar progressivamente em um novo ângulo de inclinação:
$ scene.hm7_to_alpha (novo ângulo, velocidade)
Para aumentar / diminuir a inclinação:
scene.hm7_increase_alpha $ (valor)
- Para definir um novo ângulo de rotação (0 ~ 379):
$ scene.hm7_set_theta (ângulo novo)
Para deslizar progressivamente em um novo ângulo de rotação:
$ scene.hm7_to_theta (ângulo, velocidade, dir)
Para aumentar / diminuir o ângulo de rotação:
scene.hm7_increase_theta $ (valor)
- Para definir um novo nível de zoom (em percentagem - default = 100):
$ scene.hm7_set_zoom (novo valor)
Para deslizar progressivamente em um novo nível de zoom:
$ scene.hm7_to_zoom (velocidade, valor)
Para aumentar / diminuir o nível de zoom:
scene.hm7_increase_zoom $ (valor)
- Para mudar o desvanecimento luz horizonte:
$ scene.hm7_set_fading (vermelho, verde, azul, bandeira)
flag = 1: a cor determinada por (vermelho, verde, azul) será adicionada à linha do horizonte
flag = 0: a cor determinada pelo (vermelho, verde, azul) serão subtraídos à linha do horizonte
- Para definir a altitude de um evento:
adicionar um comentário na lista de comandos com: "Altitude X", onde X é o
valor da altura ("64 Altitude" vai chamar o evento de 64 pixels acima de sua posição original)
- Para definir a altura do jogador:
usar: $ game_player.altitude = X
- Para ter uma altitude fixa para um evento (não depende da altura mapas):
adicionar o comentário "Flutuante" na lista de comandos
- Para ter uma altitude fixa para o jogador:
usar: $ game_player.floating = true
Tópico não completo, cansei de traduzi-ló, mas está ai =D o download contém o script =D
Créditos
MGCaladtogel - Criador