DPSpritePalette 1.4 New Features!

DPSpritePalette 1.4 will be available  in a few days on on Asset Store but you can buy it and download right now on itch.io! Check it out the new features:

  • Import palettes from Pyxel Edit: Now you can use Pyxel Edit to generate your palette files and import them to the Palette Builder. The process is almost the same.

pngpalette.gif

  • Palette Combiner: combine two different Palette Textures into the same SpriteRenderer. Just add the DPPaletteCombiner componente and assign the Palettes Textures!

palettecombiner.gif

  • New shader for bilinear filtering: Just assign the new ‘Bilinear’ material variants to the Palette Material field! The setup of your sprites remains the same: Point filter mode, Compression to ‘None’ or Texture Format RGBA 32-bit.

dps-bilineardps-bilinear2.png

dps-itchio.png

Advertisements

AB Importer –

Hello! I was a bit bored and decided to make this little tool that I think can be useful for others. AwesomeBump is a great free tool to generate textures for a PBR workflow, but assign multiple textures to a material in Unity is a very time consuming  and boring thing  to do. So I spent a few hours to create the ‘AB Importer’, record a video and write this post! With this little tool you can import the textures from AwesomeBump and create material ready to be applied to a model with a few clicks! It automatically combines the metallic and roughness textures into a new texture for the Unity’s Standard shader.

How to use it? Just see this vídeo:

Download HERE!

Tutorial de Soluções de Design para Personagens, Monstros, etc. – Parte 1

Olá! De volta com mais um tutorial. Depois de ler uma parte do livro Manga Matrix e Super Manga Matrix, me deu vontade de escrever sobre esse assunto e talvez ir um pouco além do conteúdo do livro, trazendo listas mais extensas e um método passo-a-passo para a criação de personages e criaturas fantásticas e originais.

O conteúdo desta série de tutoriais encaixa-se na etapa D2 – Definir Possíveis Soluções, do processo descrito anteriormente.

Muito bem… Então você tem que criar um personagem para um determinado jogo, e você se pergunta: Quem é ele? Qual é sua aparência? Como é seu comportamento? O que ele quer? Por quê? O que ele faz? O que gosta e desgosta? Como ele se veste? Onde vive? Em que época? O que come?

Este tutorial tentará ajudá-lo a encontrar respostas (originais) para algumas destas perguntas.

Primeiro iremos focar na sua aparência, sua forma. Para, isso apresento uma ferramenta, que chamarei aqui de Tabela de Operações Básicas. Estas operações básicas podem aplicadas a qualquer forma, parte ou elemento existente para obter uma nova forma, parte ou elemento completamente diferente da anterior! Quando você sentir um bloqueio criativo, tente aplicá-las!

Tabela de Operações Básicas
Forma Fixa Forma original. Por exemplo: braço com mão normal.
Forma Não-Fixa Uma parte da forma é alterada, tendo outro material. Por exemplo: braço com mão de areia.
Forma Coletiva A forma é representada pela união de partes menores. Por exemplo, raízes e galhos tomam a forma de um braço.
Forma Mecânica A forma é representada de forma mecânica.
Forma Quebrada A forma recebe fraturas/fissões.
Aumento/Diminuição de Número de Partes Por exemplo: 4 braços.
Expansão/Contração do comprimento das partes Por exemplo: dedos são alongados.
Crescimento Crescimento de algo estranho para a forma. Por exemplo, pelos muito compridos.
Combinação/Síntese de Elementos Algum elemento é combinado com outra estrutura.
fc7c3fe9ec1afc8001e935c0b49aa3c9

Exemplo da aplicação das Operações Básicas num braço Adaptado de (Tsukamoto, 2006)

Podemos ver neste vídeo do Feng Zhu a aplicação de algumas destas operações para a criação de silhuetas de objetos.

aranhas copy copy

Neste exemplo, temos à esquerda a silhueta de uma aranha. No meio temos o resultado depois de aplicar algumas das operações básicas: aumento do número de patas, contração do comprimento de algumas patas, crescimento das asas, expansão do abdomen e presas. À direita temos o resultado de uma combinação tendo como base uma aranha recebendo asas de um morcego.

predios

Estas operações podem ser aplicadas a qualquer coisa. Podemos trocar o material de um prédio por areia, duplicar alguma parte, por exemplo.

Muitas vezes a operação mais utilizada será a Combinação, principalmente se o objetivo for criar criaturas meio-humanas ou monstros híbridos, como minotauros, fadas, dragões, pôneis, etc. Para ajudar nesta tarefa, elaborei, baseado no livro, a imagem abaixo. Ela contém as nove Operações Básicas com um espaço vazio para você marcar se ela será utilizada ou não, e depois disso contém a matriz de formas. Todo personagem terá uma forma básica e em seguida as suas partes terão outra forma pela síntese com outro animal ou objeto.

Por exemplo, podemos usar como tipo base um touro (mamífero) e combinar com humano, para formar um minotauro; podemos usar uma ave como base e colocar asas de inseto e uma calda de folhas; ou ainda criar uma cidade onde os prédios tem a forma de instrumentos musicais. Apenas tenha cuidado para não formar uma quimera com muitas características desnecessárias ou que não sejam atrativas, Para isso deve-se aplicar o método da Subtração, descrito no Super Manga Matrix: “um personagem é analisado para identificar qualquer característica desnecessária ou que faltem alguma qualidade atrativa. Estas características são reduzidas para enfatizar elementos mais importantes. A simplificação pode ser feita reduzindo o tamanho de um elemento, reduzindo sua cor ou fazendo-o menos percebível. Isto ajuda a dar destaque a parte que você quer enfatizar.”.

TabelaVazia copy.png

Para ajudar ainda mais em quais partes serão alteradas, criei outra tabela que procurei minuciar todas as partes possíveis.

TabelaPartes-3

Tabela detalhada das Partes. Tamanho Original.

Resumo do Método para as Formas:

  1. Decomponha o objeto em partes menores.
  2. Identifique quais partes serão alteradas e como serão.
  3. Aplique as Operações Básicas sobre estas partes.
  4. Repita quantas vezes for necessário.
  5. Identifique e subtraia os elementos menos importantes.
  6. Profit!

No próximo post, detalhei  o processo para a escolha da vestimenta de nossas criaturas. Até lá!

 

 

Existence – Postmortem

Olá pessoal! Mais um post no blog, desculpem pela falta de atividade nessas últimas semanas, então… No último final de semana participei pela nona vez a Ludum Dare, e aqui vai um post mais extenso, mostrando um pouco do meu processo.

Link para o jogo.

Game Design

Após sair o tema Shapeshifting, comecei a pensar em alguma coisa, mas queria sair do óbvio que era fazer com o que o jogador tomasse (literalmente) formas diferentes. Então como tinha assistido “Angel Beats” dias antes, pensei em algo depois da morte. Comecei a pesquisar coisas assim, e acabei chegando nessa página da wikipedia, sobre as três marcas da existência, por isso o nome Existence e adaptei os nomes dos três NPCs (Verdade, Abnegação e Coragem). Então o jogador, está morto, e meio que inspirado em “Grin Fandango”, ele está numa jornada para (no caso desse jogo) renascer. Ao completar cada quests dos NPCs a aparência do jogador se transforma, ganha uma nova forma para representar a jornada de não apenas uma vida, mas de qualquer pessoa. Isso é basicamente a ideia do jogo.

Então já estava na cabeça que queria fazer um jogo de plataforma, mas para ser interessante, seria bom um combate!! Meus jogos anteriores de plataforma eram de plataformas com puzzles, então queria fazer algo diferente. A mecânica de combate inspirada em vários jogos de plataforma como: “Muramasa Rebirth”, “Guacamelee”,  “Dust: An Elysian Tail”.

Image2

Para dar mais profundidade ao jogo, queria dar elementos de aleatoriedade, então coloquei a mecânica das cartas. Ela foi inspirada na mecânica de manipular os documentos de “Papers, Please”, a Unity UI tem API bem simples para fazer drag’n’drop dos elementos da UI, e é bem rápido fazer algo com ela.

Outro detalhe, é que o jogador pode atacar os NPCs, mas eles avisam para o jogador se preparar, pois eles vão revidar. Se o jogador provocar todos os 3 NPCs, o jogo passará a ter um tom avermelhando. Uma surpresa para os jogadores, já que alguns irão atacar os npcs outros não. E se o jogador matar um NPC, ele não é mais obrigado a completar aquela quest, mas essa ação leva para um final ruim do jogo: o sofrimento eterno.

Itens

Como o todo jogo de combate, é importante ter itens e alguma progressão. Para isso determinei esses itens:

  • Coração: Recupera 10% do máximo de pontos de vida. São dadas pelos inimigos e caixas.
  • +1: Dá uma vida. São dadas pelos inimigos e caixas
  • Cartas Roxas: são dadas apenas pelos inimigos.
    • Aumentam até 3 atributos:
      • velocidade de movimento (3 níveis)
      • dano do ataque (4 níveis)
      • cooldown do ataque. (3 níveis)
    • Estes valores são determinados pelo número de inimigos atributos:
      • Até 5 inimigos são cartas básicas que aumentam só um dos atributos.
      • Até 15 inimigos são cartas que aumentam apenas dois atributos.
      • >= 15, aumentam qualquer valor.
  • Cartas Amarelas: são dadas pelos NPCs ao completar uma quest.
    • Aumentam a vida do jogador
    • Aumentam o número de golpes no combo
    • Alteram visualmente o jogador para uma nova forma.

Inimigos

Também precisamos de inimigos, aqui são as principais regras deles:

  1. Cobra Normal (isolada): 3 pontos de vida, 1 ponto de ataque.
  2. Cobra Preta (isolada): 8 pontos de vida, 3 ponto de ataque.
  3. Cobra Normal (na zona de combate):
    1. Pontos de Vida: 40% dos pontos de vida do jogador, mas tem 10% de chances de ter 70% da vida do jogador.
    2. Pontos de Ataque: 60% de pontos de ataque do jogador, mas tem 10% de chances de ter 150% dos pontos de ataque do jogador.
  4. Cobra Preta (na zona de combate)
    1. Pontos de Vida: : mesmo cálculo da cobra normal + 3.
    2. Pontos de Ataque: mesmo cálculo da cobra normal multiplicado por 2.

E as cobras também um ponto fraco: elas recebem stum se o jogador pular em cima delas, e uma cobra pode dar stun na outra, acaba deixando o jogo meio cômico, outra coisa importante, foi deixar os ataques das cobras bastante telegrafados, para o jogador desviar deles. Também deixei um tempo relativamente grande, para deixar o jogo mais fácil, num jogo, de jams especialmente, é bom ajudar e conduzir o jogador chegar até o fim.

Arte

Como o jogo se passa num purgatório, pensei que ambientação seria no Paraíso, um lugar verdejante com bastante água. Usei essa imagem como referência para o cenário.

paradise1

Em seguida foi fazer o tileset com o Asesprite e o Clip Studio Paint.

Tilemap

Depois vieram os sprites dos personagens (com muitos frames!!). O sprite do jogador tem 4 formas, porém para economizar, as 3 outras formas e o NPCs foram feitos apenas modificando a primeira forma, assim deu tempo de fazer todas essas animações.

  • Parado (2 frames)
  • Andando (4 frames)
  • Pulando (2 frames)
  • Down (2 frames)
  • Ataque1 (4 frames)
  • Ataque2 (4 frames)
  • Ataque3 (4 frames)
  • Hit (2 frames)
  • Morte (13 frames)
  • Transformação (6 frames)

Totalizando 172 frames para o jogador.

Para o NPCs:

  • Parado (2 frames)
  • Andando (4 frames)
  • Pulo (2 frames)
  • Down (2 frames)
  • Ataque1 (4 frames)
  • Ataque2 (4 frames)
  • Ataque3 (4 frames)
  • Hit (2 frames)
  • Morte (3 frames)

Totalizando 37 frames para os NPCs.

Para a Cobra:

  • Parado (4 frames)
  • Andando (4 frames)
  • Jump (4 frames)
  • Hit (2 frames)
  • Morte (14 frames)
  • Stun (2 frames)
  • Ataque1 (4 frames)

Totalizando 34 frames para a Cobra.

Somando tudo, dá 243 frames apenas para 3 elementos do jogo! Mas para conseguir esse volume de frames, foi preciso fazer o trabalho da forma mais rápida possível, além de utilizar a PSDAnim, durante o processo de produção e exportação desses frames. Outro elemento que ajudou a dar mais variedade, foi a utilizada da DPSpritePalette, para criar variações de cores desses sprites dentro do jogo rapidamente!

Em seguida, para o design das cartas, tive a ajuda da Keli que as fez no domingo, e utilizei o que ela fez como base para os elementos da interface (botões, fundos, etc).

Level Design

Durante as primeiras ideias nas primeiras horas decidir que jogo terá 2 quests: liberar o caminho da água da Abnegação e coletar a carta da Coragem. Domingo, coloquei essa ideia no papel, e dividi a fase em áreas menores com certas funções:

e8b7980831d0bed17ee5fac5ff5ea798

  1. Início: o jogo começa com as cores meio estranhas, para fazer o jogador sentir a estranheza do mundo, e tem como função fazer o jogador se acostumar com os controles básicos (andar, pular), ter a primeira experiência de combate contra um inimigo, espinhos, descobrir os checkpoints (caso morra), coletar itens de vida. Ao falar com a Verdade, ao saber que o jogador estar morto, as cores mudam momentaneamente para tons de cinza, e em seguida as cores ficam um pouco mais “normais” e recebe a carta do 2-hit combo.
  2. Combate 1: nessa parte é apresentado a mecânica de combate obrigatório, em que o jogador só continua se derrotar todos os inimigos da área. Isso fiz baseado no jogo Murasama Rebirth, acho que é algo bem legal. Depois um desafio de salto de plataforma, sem grandes perigos. Nesse momento também é apresentada as caixas, que podem ser destruída e dar itens ao jogador.
  3. Quest 1: Aqui o jogador começa pulando mais espinhos, aqui planejava colocar os espinhos junto com alguns inimigos, mas a IA era muito burra e morria facilmente neles (hue). Aparece a Abnegação, que tentei dar mais personalidade fazendo com que ela dê um item de cura para o jogador toda vez que se aproximar. Em seguida o jogador deve subir as plataformas, enfrentar alguns inimigos (pela primeira vez a cobra preta é apresentada), coletar itens e destruir as caixas. Para evitar deixar essa parte muito linear, optei por colocar caminho dos dois lados, com vidas e inimigos em cada lado, para fazer o jogador explorá-los. Ao liberar a cachoeira, entra em ação o efeito de metaballs, as cores ficam no tom natural e é possível ouvir o som da água corrente.
  4. Combate 2: Mais combate para tomar tempo do jogador e fazer ele aproveitar a nova habilidade recebida (3-hit combo).
  5. Quest 2: A coragem diz para o jogador coletar sua carta. Aqui também tentei dar mais personalidade para ela, fazendo ele dizer “apenas para os mais corajosos”. Nesse momento para deixar o jogo mais “tenso”, é feito um efeito de noite, onde apenas os checkpoints são iluminados. Aqui começa uma região de batalhas contra as cobras pretas, que possuem mais pontos de vida e ataque. Ao coletar a carta, o jogador é avisado para voltar para falar com a Coragem e caminho acima é liberado.
  6. Fim: Ao chegar no colisor um pouco antes do checkpoint o evento de end game é disparado, e baseado nas ações do jogador ums dos finais é ativado:
    1. Se provocou os 3 NPCs, vai para o final ruim (3).
    2. Se não provovou nenhum NPC e completou as duas quests, vai para o final bom (1).
    3. Se foi nenhuma das anteriores, vai para o final (2).

mapa

Audio

O audio não tive muito tempo para fazer, já eram 21 horas de segunda, quando comecei a fazer os efeitos sonoros e a música. O jogo que fiz tem muitos feedbacks para o jogador e era preciso muitos efeitos, pelo tempo decidi fazer apenas 14, que considerei essenciais:

Jogador
01- Pular
02- Hit groud
03- Attack
04- Hit
05- Morte
06- Ativar Carta
07- Transformação

Itens
08- Coletar HP
09- Coletar Vida
10- Coletar Carta

Sfx Inimigos
11- Atacar (npc, cobra)
12- Pular (npc, cobra)
13- Hit (npc, cobra)
14- Morte (npc, cobra, caixa)

DvnSfxMaker foi usado em 13 deles e em apenas um gravei minha própria voz. Não tive tempo de manipular esses efeitos individualmente, então só normalizei cada um deles, apliquei um equalização (para para cortar os subgraves e os agudos) e coloquei um compressor com um ratio alto.

cc12775a8781903554894bde648bb18f.png

Para a música dinâmica, usei a técnica de vertical layering exibida nesse vídeo da Winifred Phillips com 4 camadas: base, água, combate e npc. As quatros são iniciadas ao mesmo tempo no jogo e inicialmente as 3 últimas tem volume 0. À medida que certos eventos ocorram uma camada sofre um “fade in”: ao chegar perto de um NPC, o volume da camada npc sobe, se entra numa batalha, acontece o mesmo para a camada batalha, etc. A base é apenas um loop de bateria com um baixo tocando um padrão de 4 compassos. Já a camada de combate, adiciona uma guitarra e adiciona mais notas ao baixo,  preenchendo os espaços vazios da base para deixá-lo mais pulsante. E o npc é apenas um pad fazendo acordes.

e96be171c598fe21eb403eb7ee134ede

Bom, é isso pessoal, até o próximo post!

 

Pixel Art Brushes / Clip Studio Paint

Olá! Hoje trago alguns brushes de pixel art para o Clip Studio Paint!

mock-up

Um mock-up rápido feito no Clip Studio Paint.

Para quem não sabe, sou um grande entusiasta deste programa e que, para mim, praticamente substituiu o Photoshop. Tanto pelas funcionalidades, estabilidade e preço! Enfim… Gosto de colocar estes brushes numa aba separada e utilizar as teclas de atalho ‘,’ e ‘.’ para trocá-los rapidamente ao invés de utilizar teclas de atalho específicas, pois já utilizo várias outras teclas para as ferramentas de desenho.

dee06c17b7de5e53952d4aaaa7ae7b4f

  • PixelArt dvn: Brush de desenho padrão 1×1.
  • Pixel Eraser: Borracha (o’rly?). o motivo que uso esse brush ao invés de apertar ‘C’ (para alternar entre a cor atual e a transparência) é porque sou canhoto, então algumas vezes apertar ‘,’ e ‘.’ é mais rápido para mim.
  • Pixel Fill: Além de preencher uma área com pixels também serve para substituir uma cor por outra em toda a imagem ou camada. Para isso, basta desmarcar a opção “Follow Adjacent Pixels”.
  • Pen Pressure Pixel: Brush para fazer blocagem de cores usando a pressão da caneta.
  • Pixel Marquee, Pixelart Marquee 2  e Pixel Lasso marquee: ferramentas de seleção diversas.

Download

Devlog #07

Olá pessoal! De volta aos devlogs!

Passei alguns dias atualizar o blog por alguns motivos… Um deles foi que logo depois da Global Game Jam participei de outra game jam.. A GameJolt GDC Jam!

Escape

Escape

Fiz o jogo “Escape” (mais um ótimo título), dessa vez voltando a um jogo 3D (o último foi o Racend) e tendo modelar as coisas no Blender. Como foi uma jam de 72h, foi tranquilo. Só acho que puzzles que criei foram muito difíceis, e no final o jogo ficou na 44 colocação, poucas pessoas jogaram também, só 6 no máximo. O Selzier, um dos participantes dessa jam que ficou em quinto lugar, gravou um vídeo de gameplay do jogo, confira abaixo.

 

Outra coisa que me fez para os devlogs é porque no momento ando aprofundado nos meus estudos de música, então não tenho programado novas funcionalidades no jogo.

Atualmente estou aproximadamente na metade do curso de Songwriting da Berklee/Coursera. É muito bom, mas não acho muito indicado para iniciantes, pois melodia, harmonia ficam de fora. Confiram abaixo o meu exercício da Semana 5. Não é grande coisa, mas…

its_something_edited

Título: Goodbye
Letra, composição e arranjo: Davi Santos

Now you look at me and I look at you
I remember those firsts days in your place
After all these years your smile remains true
It’s the magical moment I wanted to embrace

but my dear I must confess
there is one thing i said
No, no, there is no excuse
It’s already dead
Goodbye

Enfim, é isso. Até o próximo devlog!

 

Global Game Jam 2016

Olá! Agora que me recuperei da Global Game Jam, é hora de escrever um post sobre ela.

12672064_1040025979372113_4858468692940679330_o

Staff GGJ Curitiba 2016

A cada ano o evento fica maior e melhor. Uma grade “festa” para desenvolver jogos. Dessa vez participei como staff, ajudei o evento na sexta e no sábado pela manhã no credenciamento. Foi bastante cansativo. hehe

12622085_1040009842707060_1405987630198596023_o

Eu fotogênico no credenciamento

Logo depois do credenciamento houve a abertura do evento, uma palestra da Intel e, finalmente, o tão esperado tema: ritual. Participo da Global Game Jam desde 2012, esse foi sem dúvida o tema mais simples e direto.

team1.jpeg

Equipe Bug? Eduardo, Giih, Bea, Eu.

Minha ideia foi tentar fazer um jogo simples, mas bem polido. Como na minha equipe 2 pessoas nunca haviam feito um jogos antes, e na GGJ o tempo real é só de aproximadamente 44 horas, preferir não arriscar. hehe. Então, logo ficou definido o que seria o jogo: um plataforma, sem inimigos, baseado em portas em que é preciso coletar chaves para abri-las.

Página do Jogo

sshot1

Então, ao contrário do que fiz nos jogos anteriores, dessa vez comecei pela arte! Primeiro defini o tamanho da tela (320 x 180 pixels), o tamanho da altura máxima da personagem (64 pixels) e o tamanho dos tiles (32×32 pixels). Deixei com a Beatriz a tarefa de desenhar e animar a protagonista do jogo e parti para a elaboração dos tilesets!

Mockup

Mockup da Biblioteca

No início pensamos em 5 tilesets para diferentes cômodos de uma mansão. Mas ao terminar o segundo tileset, pelo tempo gasto, resolvi cortar para apenas 3! Logo, antes de amanhecer os três já estavam prontos! Então, resolvi tirar um cochilo de 1 hora…

tileset

Tileset do jogo

Ao acordar, os sprites da protagonista estavam praticamente prontos, era hora de começar a programar as mecânicas do jogo e voltar para o credenciamento! Na hora do almoço, as coisas já estavam funcionando. A tarde voltei para a arte, fazer o sprite do vilão e sua animação (claro, usando a PSDAnim!).

No início da noite a maioria das coisas já estavam implementadas, então era hora de fazer o level design! Inicialmente o jogo teria 9 chaves para coletar e mais salas. Logo depois reduzi para 6 chaves e cortei algumas regiões.

level.png

Mapa do jogo

Mesmo assim, ainda foi bastante coisa para fazer. Muitos testes para posicionar bem as plataformas one-way, principalmente na sala mais vertical para evitar que jogador volte ao início. Tentei ser pouco punitivo caso o jogador erre algum pulo.

No início da fase resolvi deixar que o jogador visse uma porta de 6 chaves para saber que aquilo é importante e como não pode ser aberta, ele terá que ir para a esquerda que encontrará um porta com 0 chaves e poderá abri-la. No playtest de domingo no final da jam com os outros participantes, alguns acharam que a chave acima da porta ela para coletar, outros esqueceram dessa porta ao coletar todas as 6 chaves necessárias para abri-la e poucos não viram esta porta do início. Ok. Acho que foi mais uma questão visual da forma com que fiz. Mas logo ao entrar na segunda sala, o jogador encontrará outra porta fechada e finalmente como é a chave que deve ser coletada: ela brilha, gira, estica e encolhe, etc..

Voltando um pouco o tempo.. por volta do meio-dia o level design estava pronto! Faltava criar os efeitos sonoros (com o DvnSfxMaker, é claro), colocar a música dentro do jogo, e dar alguns toques finais (como o efeito de partículas quando a chave aparece), partículas e câmera lenta no final do jogo, gravar e editar os vídeos de gameplay (com a PlayClaw e HitFilm Express).

Pela primeira vez na Global Game Jam, meu jogo estava pronto antes das 15 horas de domingo, yeah!! Então era hora de fazer upload para o youtube, preencher o site da GGJ e o formulário com as informações dos vídeos, coisas que não tive tempo ano passado… hehe.

Enfim, o evento foi maravilhoso.

PSDAnim 0.3.4

Olá! Hoje um pequeno update hoje da PSDAnim!

Adicionei um novo recurso que a exibição de animações “móveis” (ou seja não “in-place”) de forma in-place. Na figura abaixo temos um exemplo de animação in-place. O objeto fica parado em relação ao observador. É como se o observador acompanhasse o objeto na mesma velocidade.

walk-in-place_tn.gif

Já uma animação móvel é aquela que o objeto se move em relação ao observador. Como se o observador estive parado.002.jpg

Depois de usar bastante a PSDAnim para animações in-place, comecei a me sentir desconfortável com o aspecto de exibir/esconder os layers para visualizar apenas o quadro que quero trabalhar. Também outro aspecto negativo foi a dificuldade de relacionar um quadro com os outros. Se trabalhasse com animações móveis, esses dois problemas seriam eliminados. Porém no estado anterior da PSDAnim, a visualização seria um problema, pois o objeto apareceria como se estivesse se movendo.

Então, resolvi juntar os dois métodos: exibir in-place e animação de forma móvel. Adicionei mais um parâmetro no nome dos layers usados para separar as animações e esse parâmetro diz quantos pixels deve o quadro ser deslocado para à esquerda. Assim, a animação é exibida automaticamente de forma in-place, mas na ferramenta trabalhamos como se animação fosse móvel. Na figura abaixo, podemos ver o resultado. Temos 4 frames de uma animação de correr e cada frame está deslocado 24 pixels em relação ao anterior, logo walk_1 tem deslocamento de 12 pixels, walk_2 de 24 e walk_3 de 36 pixels. Assim, temos o melhor dos dois mundos e o ganho em produtividade é elevadíssimo!
psdanim034.gif

Download PSDAnim 0.3.4 Now!

O único ponto negativo no momento é que a exportação dos quadros das animações móveis. Antes de exportar é preciso mover os quadros para a posição in-place e depois fazer um crop para eliminar as partes desnecessárias da imagem. [update] Ou não! Desse modo, se organizarmos cada frame na posição certa, já teremos a spritesheet pronta! Por hoje é isso pessoal!