Suponha que meu modelo 3D seja uma pirâmide de base retangular e que eu numero quatro cantos da base com 1, 2, 3, 4 e forneço 5 ao ponto superior. Se eu projetar essa pirâmide em um objeto em forma de estrela 2D, todos os quatro pontos externos da estrela não seriam associados ao ponto número 5 no modelo 3D?
uv-mapping
Abdul Al Hazred
fonte
fonte
Respostas:
Da maneira como geralmente é definido, todo vértice de uma malha corresponde a uma coordenada UV, e deve haver exatamente uma dessas coordenadas por vértice, porque é assim que um renderizador busca texels. Portanto, é impossível ter várias coordenadas UV para um único vértice, a menos que você tenha várias parametrizações para sua malha.
No entanto, as malhas geralmente são divididas durante as parametrizações e os mesmos vértices podem terminar em vários locais, como no seu exemplo. Na maioria das vezes, esses vértices são simplesmente replicados durante o carregamento / renderização, de modo que o mapeamento de vértice para uv permanece 1 para 1 ou muitos para 1. Portanto, um renderizador provavelmente interpretará seu exemplo da seguinte forma (a v5 é dividida em 4):
fonte
Eu só preciso adicionar um pouco à resposta de ap_.
Claro que você pode ter vários UV para um vértice, isso é chamado de camadas UV. É assim que os mecanismos exibem mapas de luz e mapas de albedo ao mesmo tempo, desde o advento dos mapas de luz. (motor de terremoto em 1996, talvez?)
Você pode ter mais camadas UV, se quiser fazer uma multi-extensão como terrenos, mapas de luz, albedo grande, detalhe de albedo, mapa normal ...
Infelizmente, o rasterizador nunca escolheu uma camada UV, dependendo do primitivo que está renderizando. Esse renderizador pode ser feito com um buffer de índice suplementar (primitivo ao buffer de mapeamento de camada UV), mas nenhuma placa gráfica e nenhuma API gráfica suporta isso. Esta é uma violação desnecessária ao KISS de qualquer maneira.
Portanto, o que se faria neste caso é separar o ápice da pirâmide em 4 vértices distintos durante o tempo de design. De qualquer forma, a primeira razão para isso, não é o desembrulhamento UV, mas principalmente a definição normal. Se você deseja arestas nítidas, precisa quebrar o sombreamento; portanto, é necessário ter diferentes normais, pois elas também, como UV, geralmente são definidas de 1 a 1 no fluxo de vértices.
Sugestão final, talvez você realmente não queira usar esse desembrulhamento, prefiro sugerir o seguinte:
Dessa forma, você tem continuidade perfeita para filtragem e olha nas bordas e no ápice.
fonte