Quero criar pizza realista e permitir que o usuário interaja com ela.
O que eu quero:
O que eu criei:
Criei o modelo da pizza (8 peças) no Blender e depois a importei para o Unity. O pedaço de pizza parece muito artificial, principalmente porque é um "triângulo rígido".
Como faço para esticar e quebrar o queijo quando o usuário move uma peça?
Respostas:
A maneira simples
Adicione um quad que conecte fatias adjacentes entre si. Textura isso com uma textura agradável, queijo derretido, completo com furos. À medida que a fatia é afastada, o quadrilátero é naturalmente esticado e, assim, estica e inclina a textura.
Isso deve parecer razoável, embora não haja interrupção. O que fazer aqui é tornar essa textura animada. Repita a animação com base na área dos quadríceps (ou apenas na distância entre as fatias) em vez do tempo. À medida que é puxado para mais longe, mais furos aparecerão devido à progressão da animação.
Eventualmente, quando um limite de distância for atingido, divida o quadrilátero em dois, reduza programaticamente os dois quadriláteros na direção de suas fatias anexadas para reduzi-los um pouco e manter a animação em execução que mostra o encaixe. Congele a animação no final.
Para um pouco mais de dinâmica, você pode anexar o quadrilátero às duas fatias usando uma junta em um mecanismo de física.
O jeito difícil
Use um mecanismo de física de corpo mole ou escreva um. Defina uma seção de pano entre as fatias e texture com queijo. Permita que o mecanismo de física modele a dinâmica do alongamento e encaixe do material.
Este é um método muito mais intensivo, mas mais aplicável em geral. Também pode ser muito incontrolável, mas pode ser um efeito geral mais atraente.
fonte
Usando uma animação predefinida:
Portanto, crie animação predefinida em um software de modelagem 3D como o Maya / Blender, que possui recursos como corpos macios e tecidos que podem fazer um bom trabalho simulando o rasgo da pizza. Exporte a textura da pizza E a animação do modelo para o Unity (provavelmente como um conjunto de modelos .obj ou algo parecido).
A animação do modelo representará o queijo sendo esticado e rasgado usando muitos triângulos, que você pode carregar como um conjunto de malhas triplas no Unity. Eles são uma coleção de muitos estados de malha, cada um representando a pizza de queijo em diferentes posições de alongamento. Com base em onde o usuário posiciona a fatia de pizza, você pulará para esse 'estado da malha' e exibirá esses triângulos.
Existem alguns problemas, é claro. A interação do usuário é um pouco restrita. Se o queijo já estiver um pouco rasgado, não será possível voltar ao estado 'não-torcido' para essa área de queijo. Se a animação predefinida remover as fatias 1 e 2, o usuário será forçado a remover as fatias nessa ordem. O tamanho dos dados exportados pode se tornar bastante grande, com base na granularidade da malha e na duração da animação de rasgo.
Mas pode parecer muito realista, se o artista do modelo fizer um bom trabalho ao criar a animação predefinida. E você não precisa implementar um simulador de corpo mole.
Usando o Unity:
Mas, caso você esteja interessado, o Unity implementa seus próprios componentes de tecido sem revestimento e interativo . O pano interativo suporta rasgar. Mas o suporte a eles é restrito a apenas algumas plataformas, a última vez que verifiquei.
Usando você:
No final, você sempre pode implementar seu próprio simulador de corpo mole. Aqui está um exemplo de artigo de pesquisa bastante popular. É bem divertido :). Boa sorte.
fonte
As respostas do @ originalDaemon são boas! Eu acho que existe uma maneira intermediária que pode obter melhores resultados do que a primeira abordagem e requer um esforço razoável (talvez diferente da abordagem "The Hard Way").
O que eu sugiro é realmente modelar a "teia" de queijo, parece muito com estalactites para mim. Modele alguns pedaços de queijo elástico. Posicione-os aleatoriamente nas bordas do triângulo da delicadeza e dimensione-os para 0
y-axis
e, quando o triângulo for removido de seus colegas, reduza-os lentamente no eixo y para o tamanho necessário.Pode ser necessário escolher outro eixo em vez de
y
se você planeja afastar o triângulo ligeiramente. De qualquer maneira, acho que, embora uma textura plana seja muito mais fácil e econômica, modelar o queijo pode se tornar mais realista para close-up, embora uma textura possa funcionar também. Se você escolher uma textura, talvez use mais de uma camada para obter uma sensação mais realista. Também não se esqueça de adicionar um pouco de vapor, talvez para enfatizar a gostosura da pizza na foto.Outra coisa que notei é que parece que o pepperoni é apenas uma textura no momento. Eu definitivamente consideraria modelá-lo ou adicionar alguns detalhes nessa área ao modelo existente. Você pode fazê-lo deslizar para baixo com o queijo elástico para um realismo extra.
fonte