29.8.14

Making of SotC (Um Olhar na Parte Técnica!)


ATENÇÂO ESSA METERIA ESTA INCOMPLETA!!!
PARA ACESSAR A VERSÃO CONCLUÍDA CLIQUE AQUI

-------------------------------------------

Discussão aprofundada das técnicas por trás de Shadow of the Colossus: 
Kinematicas inversas (IK) em tempo real , animação procedural, malhas de colisão dinâmicas, sombreamentos e efeitos.

Postado originalmente em:
Game Watch
Fonte em Inglês utilizada:
by keeperofwords

Tradução para português: Tchollo Ventura

Entrevista original 07 de dezembro de 2005 por Nishikawa


Com o PS3 sendo anunciado para a primavera de 2006, você deve pensar que o PS2 está em um ponto em que atingiu seu limite. Nesse momento a atenção do mundo tende a seguir para a próxima geração de maquinas(consoles). Mas esse é na verdade o momento em que toda a tecnologia adquirida com o tempo de vida da maquina atual dá frutos, a época em que os melhores games(obras-primas) aparecem.
Você provavelmente pode dizer que nesse inverno, o surgimento de SotC representa um grande momento de maturidade para o PS2.

Então agora, nós organizamos as informações do desenvolvimento de SotC, porque nós ouvimos discussões sobre a tecnologia que usamos e desejamos apresentar.

Fumito Ueda

  
"Eu não tenho certeza de por onde começar a falar sobre isso! Sério!(risos) O trabalho em SotC acumulou pouco a pouco, então quando finalmente tudo juntou, pareceu completamente natural."

Hajime Sujiyama

"Eu me esforcei para fazer a aparência parecer real ao olhar. Eu não tenho certeza se eu consegui, mas é difícil dizer, pois não é "cartoonístico". Você não acha? (risos)"

Takuia Seki

"Ao invés de o programador falar "que tal isso", ele continua criando o tipo de ambiente em que o designer pode ajustar de acordo com o que o seu coração deseja."

Masanobu Tanaka

"Você pode passar muito tempo fazendo ajustes detalhados em base de caso à caso. Apenas para obter a movimentação certa em cada personagem."

A renderização HDR e a exposição dinâmica / algorítimo tone mapping

Depois de iniciar SOTC, o primeiro recursos visual impressionante que você vê, é provavelmente o magnífico cenário de fora, visto de dentro do santuário. Ele inunda o cenário exterior que é visto a partir do interior para o branco e a luz transborda através do abrir das colunas que sustentam o santuário. Este é o alto alcance dinâmico(HDR - High Dynamic Range). Quando você sair do santuário interior escuro do lado de fora, a cena fora é desenhada quase completamente em branco, que se ajusta rapidamente ao balance(equilíbrio) apropriado. Essa luminosidade adequada é chamada "mapeamento de tom dinâmico", que é parte do efeito HDR.

O efeito de pseudo-HDR é visto em todo lugar. Isso significa que o equilíbrio de brilho foi centrado em torno do protagonista sob o penhasco, e por isso o céu relativamente brilhante tende a se tornar quase branco

O método de renderização HDR de SotC não é fisicamente correto, mas o efeito cria resultados visuais impressionantes.

Renderização HDR e mapeamento de tom é explicado no artigo sobre "Half-Life 2: The Lost Coast", mas vamos dar uma breve visão geral da ordem e conceito aqui: Para processar uma imagem HDR, sem ser limitada pelo possível gama de cores de a tela da televisão, a renderização HDR indica um processo de mapeamento de tom, que é usado para obter o equilíbrio de brilho adequado para o display da TV. Originalmente, um gráfico 3D realizado em um computador, é algo projetado para fazer uma imagem próxima da realidade. Há uma enorme variação de luminosidade no mundo real, de brilho intenso à escuridão sombria, mas o olho humano e a câmera lidam com isso ajustando a exposição com a velocidade do obturador da câmera, bem como a abertura da pupila, etc. Quanto a gráficos 3D, processamos a intensidade da luz do mundo real usando uma gama semelhante de alta precisão(renderização HDR), e a simulação da câmera e do olho vai acontecer numa fase posterior (mapeamento de tons). É difícil de executar uma verdadeira renderização HDR para GPUs de PC antes da geração DirectX 8, que a maioria dos consoles atuais usam, uma vez que estes sistema só renderiza framebuffers de 16 milhões de cores, que contêm canais RGB de 8 bits(Tecnicamente isso não é impossível, mas isto seria muito lento para ser de alguma utilidade prática). Devido a isso, a prestação pseudo-HDR tornou-se popular em jogos gráficos. Com o Xbox 360 e PS3, é possível que cada canal RGB seja de 16-bit de ponto flutuante (FP16/ 16 Floating Points), já que o hardware foi desenvolvido a partir do zero para ser capaz de lidar com renderização HDR. Mas não existe potencial para isso no PS2. Quando você pensa nos gráficos de Shadow of the Colossus, é a renderização pseudo-HDR que floresce na mente.

Falando de prestação pseudo-HDR, o efeito de brilho, onde a luz transborda para as áreas circundantes durante o pós-processamento (o efeito bloom) é tradicionalmente um efeito de propósito geral. Nossa implementação introduz e simula exposição da pupila com a luminosidade adequada, o que geralmente não é feito. Além disso, com SOTC, isto é feito de acordo com a cena em que o jogador está.

Renderização pseudo HDR (pseudo HDR rendering)

Na primeira, ele tende ao branco brilhante(foto superior), mas o efeito em tempo real se instala gradualmente à sua luminosidade adequada (foto inferior). O olho continua ajustando...

Nos bastidores da renderização pseudo-HDR em Shadow Of The Colossus:


"Para dizer a verdade, SotC usa os mesmos princípios básicos do nosso título anterior 'ICO'.  Ao olhar para SotC de uma certa maneira, seria justo dizer que ele é um desenvolvimento de Ico."
- Takuya Seki, SCE lead production department 

Com Shadow Of The Colossus, a cena define boxes (caixas-gatilho) em todos os lugares no mapa, (para este artigo eu decidi chamá-los de "caixas de cena" por conveniência), que quando o jogador está dentro, elas ditam as definições para o efeito na área. Em outras palavras, voltando ao exemplo do santuário: "o interior do santuário é sempre escuro, quando você olha o brilhante fora de lá, ele parece saturado", isso ocorre porque a definição da cena instrui o game a fazer exatamente isso. 

"Você faz a renderização normalmente. Posteriormente, dependendo do efeito de cena que foi definido, ela apenas ajusta o efeito, onde a luz começa a transbordar na cena do lado de fora". 
- Seki

O algoritmo(de mapeamento de tom) é descrito abaixo: 

1.
Renderização da visão distante, e salvando a mesma.

2.
Renderização de primeiro plano.

3.
Comportar a visão distante e primeiro plano juntos.
Isto utiliza os conteúdos do Z-buffer como uma mascara(mask) padrão(veja imagem 2) 

4.
De novo usando o Z-buffer, gerando uma imagem separada da mascara padrão.

5.
Reduz isso para 64x64 pixels, usando um filtro bilinear(isto faz a resolução ultra low).
Isto é reutilizado no passo 8.

6.
Mistura (blend) no quadro anterior( para o passo 7) usando uma porcentagem especificada na caixa de cena. 

7.
Guarda a imagem para uso no passo 6.
Ele é usado para desenhar o próximo quadro(frame).

8.
Expandir passo 5 para uma resolução adequada, utilizando o filtro bilinear.
Assim, torna-se o material adequado para o efeito de florescer(bloom) onde a visão distante começa a "sangrar" para fora da forma do primeiro plano.

9.
Mistura (blend) 7 e 8 usando uma proporção especificada no quadro de cena.

1 - Renderização de visão distante(Distant View Rendering):

(1-) Distant view rendering (super low descrito mais abaixo).

2 - Renderização de Primeiro Plano:

(2-) Primeiro Plano (apenas os modelos de alta e média resolução).

3 - Mistura de vista distante e primeiro plano:

(3-) Combinação dos passos 1 e 2 usando o Z-buffer mask.

4 - Gerando a mask pattern(mascara padrão) da imagem:

(4-) Usando a mesma máscara de Z-buffer, geramos a imagem original para o efeito de florescer(bloom efect).

8 - "Borrando" a máscara(bluring the mask), e misturando o quadro anterior:

(8-) Borramento/bluring (do passo 4), e a composição do quadro anterior.

9 - A imagem final:

(9-) O resultado!

Ocasionalmente, quando você se mover de um lugar brilhante para um local escuro (e vice-versa), parece que o efeito gradualmente se move ao seu brilho próprio. Como é que fazemos este tipo de mapeamento de tom dinâmico? Quando você se move de dentro do santuário para o lado de fora, porque você deixou a caixa de cena no santuário, o efeito não deixa de ser aplicado. Isso é feito como uma decisão binária on / off(liga/desliga), mas se a cena fosse para mudar de repente, ele ficaria visivelmente "não natural". Assim, quando o leitor deixa a caixa, existe um pequeno intervalo de tempo em que ele muda gradualmente para o efeito do lado da caixa de cena. É executado o efeito tom de mapeamento falso, alterando suavemente o interior do Santuário, enquanto a "cena do lado de fora" é desenhada brilhante(...). Fora do santuário, a cena do lado de fora é desenhada normalmente". 

"A desvantagem deste método de caixas de cena, que faz com que o PS2 sofra, é que o tempo gasto no lado da produção para definir as caixas é muito alto. SotC tem um mundo muito grande para definir tudo isso manualmente dentro do mesmo"
- Hajime Sugiyama, SCE lead production department 

Borrão de movimento(motion blur)+efeito de brilho posterior e taxa de quadros:

Em SotC, quando a câmera se move, ocorre o "efeito motion blur"("borrão de movimento"). Existem várias técnicas para conseguir isso(motion blur), mas em SotC, ajustamos o quadro atual depois que o processamento é feito pela velocidade da câmera, e em seguida, simplesmente acumula estas imagens.Como o PS2, possui pouca memória, e ele é lento para o acesso, esta é uma técnica bastante razoável a ser utilizada.

 Desenho conceitual do borrão de movimento(motion blur) para a câmera:

Ao mudar o quadro atual de acordo com a velocidade, é gerado um acumulo devido a translucidez.

Frames originais.

Resultado "borrado"(blurred).

Além disso, esta câmera borrão não é aplicada em relação ao personagem. Se este borrão de câmera fosse colocado no personagem, o personagem se tornaria muito turvo e vago, oque não é uma coisa boa, uma vez que dificulta a jogabilidade. Mas, quando você olhar com cuidado, em SotC quando o personagem do jogador(Wander) é executado, você pode ver (nas fotos abaixo), que ocorre o borrão sobre a ação. Esta imagem tremida ocorre devido a diferentes razões. Esse processamento é feito por encontrar a diferença entre as posições dos ossos neste quadro(frame) e o quadro anterior, que formam um polígono a partir dele. Aplica-se o blur a imagem do personagem do quadro atual como uma textura para a mesma. Na ocasião em que o jogador teesta pendurado em um colosso, e o colosso realiza um grande movimento, a visão move-se rapidamente do céu para a terra desconcertantemente, mas o brilho do céu continua fortemente visível. Quando o ponto de vista extremo esta em movimento, um efeito semelhante acontece, mas isso é quando o olho humano está focando uma luz brilhante, e é conhecido como fenômeno arrebol(*arrebol = cor afogueada que toma a atmosfera antes de o sol nascer ou depois de ele se pôr) . Devido a isso, o movimento de borrão(blur) e o efeito pseudo-HDR retarda a mudança de brilho, e a imagem se mantém. Parece ser necessário dizer: "Se o movimento é excessivo, manter a câmera imóvel." Nós apenas temos que viver com ela. Isto é um subproduto inesperado do passo (6​​), no efeito de pós-luminescência HDR flow. Iato é controlado por um valor em cada quadro de cena. Ao jogar, você pode ver que você olhar com cuidado, verá que o arrebol não acontece em certas áreas. Bem, SotC é um jogo cuja taxa de quadros pode aumentar e diminuir de modo selvagem. Na verdade, temos de incorporar a taxa variable frame(frame variável) no projeto - que aumenta e diminui com balanceamento de carga. Embora existam casos que atingem 60fps, há também momentos em que eles caem para a faixa de 15 fps, mas o motion blur ajuda a suavizar o processo ao longo do mesmo e mantem a percepção do jogador sobre as alterações na taxa de quadros, que é realizada até um mínimo.

Blur (borrão):

O efeito de "borrão" aparece mesmo quando o personagem se move rapidamente.

Ajustando para o movimento do colosso, quando a vista treme violentamente, temos um efeito de "borrão" forte, onde toda a visão parece fora do centro. Isto melhora muito a aparência visual.

Ao transformar o olhar(movimentar a câmera), o "borrão" ocorre.

Gerando sombras através do auto-sombreamento com a técnica de volume (de sombra) estêncil: 

Explicação da geração de sombras em SotC: Com geração de sombra deste tipo(estêncil) é muito difícil de calcular a sombra "hard-edged" (penumbra), mas nós conseguimos gerar e fazer com que a sua própria sombra caia, não só na terra, mas também sobre o próprio corpo si. Por exemplo, a sombra do braço do personagem principal é lançado sobre o seu próprio corpo. Como a maioria dos jogos de PS2 se contentam em lançar a silhueta do personagem para a paisagem, as sombras em SotC são consideravelmente mais avançadas e imersivas. SotC utiliza a mesma técnica do volume de sombra estêncil adotada em DOOM3 e outros jogos.
Nós geramos nossas sombras com a técnica de volume sombra estêncil, o que também permite os efeitos de auto-sombreamento. Não são muitos os títulos de PS2 que fazem isso. Além disso, no momento da escrita deste artigo, esta técnica vai continuar a durar por um longo tempo. Com esta técnica, em primeiro lugar, expulsamos o contorno do objecto 3D para formar o contorno ao longo da direção da luz, formando uma área suficiente (volume de sombra) no interior. A informação da profundidade da cena a partir ponto de vista da câmera é usada para cada pixel, para julgar se o pixel é dentro ou fora do volume de sombra. Os resultados são mantidos em um buffer.  Finalmente, usando o conteúdo do buffer de estêncil, você executa o processo que se aplica "a cor da sombra" para o renderizado.

Auto sombra(ou auto sombreamento)

Na imagem superior o efeito de sombreamento e auto-sombreamento. Na imagem inferior a visualização do volume de sombra de uma mesma cena. A extrusão de sombras (Shadow volume extrusion) é feita através VU1 da CPU do PS2.

A qualidade da sombra formada por esta técnica é alta, porque mais polígonos são garregadoss do que são visíveis na realidade, bem como no tratamento da formação de sombra de volume, torna-se difícil quando há muito a carregar. Felizmente, em Shadow of the Colossus, o game gira principalmente em torno do herói, o cavalo e o colosso quando se trata de sombras. Seki explica como "Foi possível limitar muito do que precisavamos processar". Aliás, mesmo em nosso título anterior "ICO", a técnica de volume de sombra de estêncil deste tipo foi usada, mas a sombra nessa dinâmica foi aplicada para apenas 2 personagens - Ico e Yorda. Bem, no caso de geração de sombra de volume, utilizamos o esboço do caráter 3D a partir da fonte de luz para formar um domínio sombra, mas esse processamento é feito em VU1 da CPU do PS2. No entanto, como o número de esboço aumenta, isso pode levar um tempo muito longo na quantidade de processamento dos jogos. como DOOM3 no PC, o modelo utilizado para gerar o volume de sombra é quase equivalente ao personagem em si. Mas com SotC, a fim de acelerar o processo, fizemos uso de um modelo mais simples, com muito menos polegadas de polígonos  O personagem principal geralmente consiste de 3.000 polígonos, mas o colosso pode ser em torno de 18.000 polígonos, dependendo do tipo. Mas o modelo utilizado para a geração de sombra irá conter uma quantidade substancialmente menor do que isso. Por exemplo, o modelo simples visto pelo jogador, provavelmente só usa 1/40 do que o modelo contem.Quando originalmente no jogo, se você olhar com cuidado, o Shadow of the Colossus parece ser menos detalhado do que o modelo contem, mas isso é reforçado pelo fato de que o modelo e a penumbra raramente são projetados de tal forma que eles podem ser comparados, por isso ele parece estar bom. Talvez este "fine-tuning"(ajuste preciso) seja a arte de um verdadeiro artesão? Além disso, a penumbra gerada a partir do buffer estencil é aplicado usando um desfoque suave para obter sombras suaves. Isto não é fisicamente correto, uma vez que não leva em conta a distância de projeção da sombra, mas com a resolução do PS2 parece funcionar muito bem "sem olhar errado".
 O modelo para a geração de sombra que é aplicado à face de o jogador. Ele deliberadamente não lança sombras sobre si mesmo, porque ele ficaria visualmente desagradável.
O modelo para a geração de sombra para o corpo do jogador. O número de polígonos diminuiu, mas a própria forma é precisa o suficiente.


Uma imagem de comparação que se sobrepõe o modelo de sombra e o modelo real um  em cima do outro. O modelo de wireframe é para a geração de sombra. O modelo de sombra para o rosto é uma grande forma para a razão dada anteriormente.

Auto sombra

 O modelo de geração do Colossus, quando o número de polígonos foi reduzido para 1/40, porem por causa de seu imenso tamanho, ele não se parece estranho.
 A imagem com a técnica de sombra estêncil desligado
A mesma imagem com sombras ligadas. O auto sombreamento aparece para cobrir a sí mesmo. Em relação a esta foto, as sombras são muito mais profundas.

Colossos e o shader de pelos:

Quando você joga Shadow Of The Colossus, é o pelo no colosso que dá uma impressão marcante. A palavra-chave 'shader  de pelo', quando a geração shader 1.x programável das GPUs apareceu e pegou até mesmo Xbox e jogos de PC adotaram isso. Com SotC, implementamos isso sem shaders programáveis. Durante a geração 1.x, uma técnica popular foi a construção de pele utilizando um sistema de escudo em camadas múltiplas, como o processamento básico. Isto é feito através da construção de camadas paralelas, a partir da pele no qual o cabelo cresce e em passos fixos pra fora. Esses polígonos ficam translúcidos usando um acumulo de  textura por secção transversal da pele, que se acumulam para formar a secção completa do pelo. É quase uma espécie de volume de prestação de efeito.

Pelo(fur):

O sentimento macio e fofo aqui vem do shader de pele. O ondular, fluidez e espessura do pelo vem do "hair spike"("espinhos capilares") saindo da pele. Parece real, porque ele é ajustado para ser natural.

Imagens de Desenvolvimento. Quando você adicionar várias camadas da pele colosso a uma distância fixa, se você aumentar o zoom, você pode ver os polígonos que compõem a seção cruzada da textura da pele.

Bem, com esta técnica, quanto mais polígonos você usar o mais real o pelo(ou péle) parece. Mas em Sotc, isso tende a se limitar a 3-6 camadas, devido aos limites de processamento do sistema de construção de invólucro multicamadas do PS2. Ele faz um bom trabalho em expressar toda natureza da pele, mas quanto a imitar a alta densidade de pelos, é necessário utilizar um grande número de camadas. Mas, se tirarmos muitas camadas de pele, principalmente devido à quantidade de overdraw, isso é demais para o console suportar e o mesmo começa a sobrecarregar a taxa de memória de vídeo, que afeta outros processos de preenchimento de desenho. Portanto, a fim de obter um bom equilíbrio entre a qualidade visual e carga de trabalho, nós adicionamos polígonos adicionais do cabelo tiradas de lado, que nós colocamos na vertical perpendicular as multicamadas de pele construídas com shell shader. 

O shell shader multicamadas é usado até mesmo para a grama em certas áreas exteriores. Tente identificá-las quando você joga.

 As "conchas de peles" em camadas são facilmente visíveis em um ângulo de visão nítida, e as aletas de cabelo extra estão igualmente visíveis no ângulo oposto. Mas ao combinar estas duas técnicas, criamos um sentimento muito natural de pelos para o colosso. Quando implementamos esta pele em camadas em uma GPU da geração 1.x, foi utilizado um mapa normal, para converter a direção em uma pesquisa de textura, dando um método muito realista por pixel de iluminação. Além disso, algo que altera drasticamente a sombra é uma iluminação isotrópica (a relação entre o ângulo e a posição da luz de visualização para cada pixel), o que dá a pele luz de elevada característica. Claro, isso não foi(completamente) possível no PS2. No entanto, com SotC(PS2), fizemos a iluminação da pele na unidade vetor, para alcançar os mesmos resultados. Além disso, quando o colosso se move, há momentos em que a pele entra em uma forma estranha e cada camada da pele deforma para igualá-la. Portanto, a simulação correta da pele nem sempre é feita quando o colosso se move, para que ele não parecer estranho ou errado.
Em qualquer caso, com o PS2, o fato de o efeito da pele ser realizado em tempo real merece um elogio especial. Temos prazer em chamar a atenção para isso, pois é um dos principais destaques gráficos em Shadow of the Colossus.

A iluminação é feita na unidade de vector, o que pode fazer com que o sombreamento do pelo mude durante o jogo.

Você pode verificar as 5 camadas de pelo sobre a cabeça deste grande colosso de estilo mamute.

Sistema LOD e renderização de paisagem(terreno)

Em SotC, há vários colossos, mas a fim de visitar cada um, você tem que viajar com seu fiel cavalo em torno da imensa paisagem. É durante este tempo que usamos o sistema de renderização pra paisagem desenhar lugares distantes, sem fazer "cheat" usando névoa distante(fogging). A renderização do terreno é dividida em três etapas, o fundo mais distante tem de ser ou uma imagem renderizada ou uma textura, que está presa em um distante polígono. A equipe de desenvolvimento interno apelidou isto de "Super Low"(super baixa resolução). Consequentemente, a maioria da gama média que vai de perto para após o fundo mais distante, é processado usando uma paisagem de baixa resolução. Esta é gerada em unidades de 600x600m, e conforme o jogador se aproxima dela, a uma certa distância fixa, ela muda para o primeiro plano, trocando pelo modelo de alta resolução. Este interruptor(switch) é projetado para misturar bem sem soar tão obvio.Além disso, antes de ser combinados o low e super low em uma imagem, a maior parte do cenário distante a ser gerido em pedaços de 600x600m foi reduzido para cerca de 1/30 a 1/100 dos polígonos. Porque há pouca memória, geralmente tentamos espalhá-los ao redor do marco que representa essa área. A imagem combinada para o cenário mais distante é feito usando este modelo de baixa resolução. Com isso, o modelo de baixa resolução parece perfeitamente fora da imagem super low. Ao ligar o primeiro plano e o fundo distante assim, somos capazes de produzir um sistema de renderização de paisagem que parece muito natural.

Renderização de terreno:

A visão distante "SuperLow" é tratada como 2D dentro das cenas, mas como ele é atualizado em tempo real usando a renderização, a mudança de SuperLow no modelo de baixa resolução é feita sem problemas.
 A área gramada até a árvore é o modelo de high-res do primeiro plano, o precipício na media-distância é o modelo low-res, e o fundo distante é a parte SuperLow.
As árvores por trás da montanha rochosa pertencem à visão distante SuperLow.

Além disso, o plano da paisagem centrada em torno do jogador é feita com um modelo de alta resolução que é gerido em unidades de 100x100m. O colosso é incrivelmente grande, mas nós não usamos um sistema de LOD baseado em vista de distância, como a paisagem. A proposito, você vagueia sobre esta imensa terra, mas consegue perceber que não há tempo de carregamento? Nós achamos que muitos jogadores não tenham notado isso, porque você se move em torno to cenário de modo suave. Enquanto SotC usa um sistema de gestão de recursos(resource management) convencional, como você vagueia sobre a paisagem, de fato, realizamos uma leitura de fundo dinâmico. Quando você entra em uma nova área, os dados de paisagem e texturas etc da nova área são lidos, os dados que não são mais necessários são jogados fora. Como isso se repete, a memória, eventualmente, torna-se fragmentada em seções utilizadas e não utilizadas. A eficiência da memória se torna muito ruim com isso. Em SotC, durante o período de retorno vertical, e não há tempo a perder, executamos o processamento de rearranjo de áreas de memória fragmentados em segundo plano. O programa obtém informações sobre os endereços de relocação, por isso consegue manter a configuração inicial. Esta não é uma tecnologia visível como gráficos, mas porque essa tecnologia de alto nível é utilizada até mesmo em alguma dessas áreas, a qualidade total do jogo é aumentada.

Colisão com o colosso, e o sistema de colisão deformando(deforming collision system):

O sistema de colisão deformando buzzword foi mencionado em um site oficial, e atraiu enorme atenção. Aqui vamos explica-lo. Quando se trata de colisão, muitas vezes parece que o chefão enorme encontrado em um jogo convencional parece ser uma espécie de "simples" em relação ao jogador e suas ações. Por exemplo, se você é esmagado por aquela figura gigantesca, então você só vai morrer ..... ou quando você atirar, ele só vai sofrer, e é isso. "Com Shadow Of The Colossus, porque percebemos que a interação seria muito "próxima", permitindo que o personagem do jogador possa se pendurar na figura gigantesca, era necessário um sistema de gestão e controle, que é pouco convencional. Ele é chamado de "sistema de colisão deformando".

Agarrando-se no colosso:



A dinâmica de Shadow of The Colossus vêm da interação estreita com o personagem gigante.

Com jogos em 3D, a forma de colisão é muitas vezes separada dos gráficos 3D óbvios. Por exemplo, um jogo 3D em que o personagem pode subir paredes rochosas agora é comum, mas pode precisar de detecção de colisão precisa onde a forma de colisão corresponda exatamente ao modelo da rocha .
Por outro lado, se o jogo é um jogo de tiro em 3D, onde o jogador atira em personagens inimigos, a decisão de colisão é feita com uma forma que se encaixa mais ou menos a forma do inimigo. Ele geralmente tem um cubo ou esfera para cada forma e osso no modelo 3D só para a detecção de colisão, para no fim combinar a forma do personagem, e é isso.
Em SotC, o modelo colosso é de certa forma o que poderia ser chamado de "terreno", mas quando este modelo gira em torno de um braço, e gira em torno de todo o seu corpo, usar um modelo de colisão inflexível não é uma ótima ideia. Se fôssemos usar um sistema de cubos e esferas, seria muito aparente quando você chega perto do colosso, que não é bom.
Assim, com SotC, tipo como o exemplo do jogo de tiro em 3D, usamos um modelo de colisão 3D, que está perto da forma do colosso. Quando o colosso muda a sua postura, o interior do osso se move, mas o modelo de colisão está programado para seguir esse movimento do osso - torna-se "deformado". Isto é de onde o nome "deformação de colisão". Além disso, o modelo de colisão é, em nenhum momento, na verdade, desenhado na tela, mas você pode imaginar usando os mesmos triângulos para o modelo apresentado.
Porque ser difícil de executar a detecção de colisão complexa na unidade do vetor, é possível simplificar esta a fim de operar o PS2 em tempo real sobre a colisão. Para entre o jogador e o colosso, consideramos todo o jogador como um modelo de colisão em forma de esfera e realizamos um teste de ponto-a-polígono contra o modelo de colisão do colosso. E quando o colosso colide contra a paisagem, desta vez usamos uma esfera para todo o colosso e realizamos um teste de ponto-a-polígono contra o modelo de colisão de cenário. Usamos o ponto de vista apropriado dependendo de "quem está envolvido contra quem".

Modelo de colisão de um colosso:

A imagem que visualiza o modelo de colisão do colosso. O modelo de colisão também tenta combinar o modelo real.
A comparação entre um modelo de colisão e o modelo de processamento(renderização) de um colosso.
Renderização de polígonos visíveis do Colossus.

O modelo de colisão "de quase" o mesmo local.

Detalhe da deformação de colisão:

 Quando o colosso se move, ele também deforma o modelo de colisão. Esta deformação é por colisão.

Controle de movimento do colosso usando cinemática inversa:

Nos mais simples jogos 3D, o movimento do personagem é feito calculando a posição seguinte a partir da entrada do jogador e aplicando-a a uma animação em execução. Às vezes, com estes jogos, você pode ver um efeito "moonwalk" conforme eles ocorrem.
Porque SotC usa um grande colosso tal qual os jogadores olham em close-up, ele ficaria antinatural se tivéssemos que usar um método tão simples. Quando controlamos um grande modelo, nós literalmente precisamos do tipo de movimento onde o pé é lateralmente "posicionado no chão".
A propósito, o método padrão é FK (Forward Cinemática), onde você tem uma "criança" conjunta e posicionada, que está dispostas em relação a uma junção "pai" por um determinado ângulo. Por outro lado, IK envolve o cálculo dos ângulos quando é dada uma posição final desejada e, em seguida, defini-se o conjunto dos pai para o mesmo. Um personagem com IK precisa de Kinematics aplicadas num processamento complexos de uma área que é muito ativo no campo da robótica, como um tema de pesquisa, mas, chegou recentemente ao um ponto em que tem sido parte da pesquisa para os jogos 3D. Shadow Of The Colossus é algo que continuou esta tendência.
Com SotC, utilizamos a IA(inteligência artificial) do colosso (descrito mais tarde) para calcular a direção do movimento e da distância para o colosso, e, em seguida, calcular a posição necessária do o pé para formar cada passo sucessivamente.
Quando o colosso caminha, a base da animação da caminhada é formada por dados artesanais de animação, mas a fim de trabalhar com a posição do pé, que foi calculada, é preciso ajustar os dados de movimento à medida que avançamos.
Porque há altos e baixos na paisagem, também precisamos ajustar o ângulo do pé é colocado no terreno. Quando isso acontece, precisamos também ajustar a altura - se nós simplesmente mudamos o ângulo parece ficar estranho. Então, dada a nova altura do pé, calculamos o ângulo e a direção de cada osso, conforme apropriado. Além disso, calculamos o IK para o ajuste de altura dinâmica de cada osso, é isso feito não só para o colosso, mas também para o personagem do jogador e seu cavalo.

Movimento do colosso:

O movimento dinâmico do colosso é criado por um designer.

Movimento do jogador:

Não é apenas a reprodução de parte de trás da interação da cena, é uma parte característica da alimentação de dados de movimento em SotC.

Além disso, há sensores que cercam o colosso que abrangem diversas áreas do território. Quando o jogador entra para esse território, ele aciona a ação associada a esse sensor. Por exemplo, quando o jogador está no chão a uma distância fixa da frente, ele balança e ataca com o "bastão"... quando o personagem esta virado para a retaguarda, o inimigo tenta se virar para enfrenta-lo de frente... se o jogador está pendurado na parte de trás, ele vai lutar para livrar de você(se sacudindo). Depende da condição que foi definida em relação ao jogador.
Definimos que movimento está ligado a cada sensor... este é um trabalho que damos ao scripter, e não ao programador. A IA do colosso não é meramente um programa codificado, é um sistema superior que pode ser facilmente ajustado para cada cena.

Um verdadeiro senso de realidade vem da simulação de física:

Na maioria dos jogos 3D mais recentes, o tema da "simulação de física", geralmente surge em algum lugar. Em SotC, várias simulações são feitas, mas é a "simulação do pêndulo", que é o mais importante.
Às vezes, quando o personagem do jogador está pendurado no colosso, o colosso se torna violento e tenta sacudir o jogador. Nesse momento, o personagem é balançado onde ele está ligado ao colosso, usando uma simulação física de um pêndulo para a cumprir essa função.
Nós fazemos a simulação do pêndulo a partir da mão, onde o jogador esta agarrado(braço), e novamente a partir do corpo até o pé (da perna); isso é o que chamamos de um "pêndulo multiplex". Além disso, a expansão e contração é permitida, pra fazer a simulação da "pêndulo mola" no braço.

"Simplificando, se fosse apenas isso, ele se tornaria de madeira, mas quando isso é estendido com o movimento humano dos designers, a simulação vai tentar igualar isso. Isto é conhecido dentro da nossa equipe como" adição de movimento(motion addition)"
- Masanobu Tanaka, SCE lead production department

Quando o movimento ocorre para um personagem como resultado da simulação física, ou de insumos do jogador, atribuímos para esse movimento os ossos do personagem como "movimento informação adicional." Geralmente isso vem do movimento que foi criado pelo designer para o personagem.
No entanto, este mecanismo não era tão fácil como seria de esperar, uma vez que exige a adaptação dos ossos específicos, que tem de ser feitos manualmente. Em um estágio inicial de desenvolvimento, nós adicionamos a capacidade para, digamos, uma mão cair e automaticamente ter um deslizamento do corpo ou pé. Usamos o IK mencionado anteriormente para colocar tudo isso junto.
É a única maneira prática. O movimento do jogador é uma combinação de "o movimento a partir do processamento de IK" e "animação do designer", o que faz o "resultado físico" final.

"O movimento torna-se de madeira se puramente controlado por um programa. E uma animação pré-fabricada não serve perfeitamente. É a combinação que faz com que funcione. Quando eu vi este trabalho em tempo real, eu fiquei muito impressionado! Eu acho que se tornou um sistema verdadeiramente maravilhoso de combinar o animador e programador. "
- Fumito Ueda, SCE lead production department

Além disso, este sistema de adição de movimento não é só para o jogador, mas também para o cavalo que ele monta.

(Continua...Tradução em andamento.)