Pergunta

um artista amigo me enviou um arquivo obj exportado por 3DS Max 2009, que contém três coordenadas de textura como parâmetros para o comando vt. E isso é correto de acordo com o obj especificação. coordenadas No entanto, eu não tenho certeza de como mapear U-V-W que são fornecidos para uma 2D .jpg textura normal.

Este é relativamente importante para mim, desde que eu joguei com 3DS Max tentando descobrir como para forçá-lo para exportar apenas coordenadas U-V, mas não parece haver nenhuma maneira straightfoward. Neste caso, este é apenas um camarote, mas em outros casos, pode ser algo muito mais complexo e não mão-solucionáveis.

Obrigado!

Foi útil?

Solução

Há uma seção no artigo O que é UVW Mapping que explica?:

Você pode perguntar por que você precisa de um profundidade de coordenadas como W para uma 2D avião. Uma razão é porque é às vezes útil para ser capaz de virar a orientação de um mapa, em relação aos sua geometria. Para fazer isso, você precisa do terceira coordenada. O W coordenar também tem um significado para 3-dimensional materiais processuais.

No seu caso, você pode simplesmente ignorar o W coordenar e só ler os dois primeiros carros alegóricos de linhas que começam com vt. Isso pressupõe que você não está muito preocupado com o espaço extra tomada pelo W coordenar desde obj é bastante um formato de arquivo ineficiente para começar.

Pessoalmente eu não gosto de usar obj em OpenGL porque fornece normais vértice por face, em vez de por vértice. Para iluminar um objeto corretamente você deve vértices quer duplicados ou normais calcular a média das normais dos vértices ao redor em uma face. Se você quiser explorar alternativas mais eficientes, dar uma olhada em formatos binários, como o formato .md2 completamente documentado. Considere também usando glDrawElements se você não estiver utilizando-o já.

Outras dicas

desculpe se eu entender mal sua pergunta. Mas could't você simplesmente ignorar o terceiro parâmetro, w? Pelo que entendi, w é apenas uma coordenada num perpendicular de avião ao plano descrito por u e v, por isso raramente é necessário para o mapeamento de textura 2D simples.

espero que isso ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top