Pular para o conteúdo

Retexturize um MLO ou prop sem abrir o OpenIV

Você comprou um MLO e está tudo certo, menos a placa em cima da porta. A resposta de sempre é o OpenIV, um dicionário de texturas que você precisa achar primeiro e uma exportação que tem que voltar para o mesmo arquivo. Aqui tudo acontece no navegador: clique na superfície, solte sua imagem, baixe o resource.

Nada no modelo muda

Um modelo não guarda as imagens. Ele guarda nomes de textura, e o jogo procura esses nomes num dicionário de texturas: um .ytd que vem junto, ou um embutido dentro do próprio .ydr ou .yft. Mude a imagem guardada sob um nome e toda superfície que usa esse nome muda junto.

A operação inteira é essa. Geometria, colisão, LODs e todos os meta do resource ficam exatamente como estavam; só a imagem por trás de um nome é reescrita. É também por isso que o resultado volta direto para o mesmo servidor: nada na forma como o resource é registrado mudou.

1Envieo resource, do jeito que 2Clique na áreaela mostra a textura3Solte a imagemela substitui o nome4Baixea mesma árvore, rezipada
Quatro passos, e o modelo nunca é reconstruído.

Clicar numa parede mostra qual textura ela usa

A parte difícil de um retexture nunca foi a pintura. É descobrir qual das quarenta texturas do pack é a daquela parede, uma pergunta que o OpenIV responde fazendo você abrir cada dicionário e adivinhar pelas miniaturas.

No envio, a ferramenta descompacta o resource e monta o mapa que o navegador precisa: um GLB para cada modelo, um PNG para cada textura e a ligação entre eles, ou seja, qual geometria usa qual nome. Então, quando você clica na placa na visualização 3D, ela consegue dizer qual textura aquela superfície está lendo e oferece o slot para substituí-la.

Se uma superfície nunca fica destacada, a textura que ela usa não estava no que você enviou. Dicionários compartilhados ficam no próprio resource deles; inclua esse resource no envio e a superfície passa a ser clicável.

O que você recebe de volta

O download é o seu próprio envio, reconstruído. Os arquivos que você substituiu são gravados de volta no contêiner de onde vieram; todo arquivo que você não mexeu é copiado sem alteração, no mesmo lugar, com o mesmo nome.

resource.zipstream/modelos exatamente como enviadosstream/*.ytdreescritos onde você trocou textura*.metacopiados, sem alteraçãofxmanifest.luacopiado, sem alteração
Um retexture é uma reescrita no lugar, não um reempacotamento.

Como nada é renomeado ou registrado de novo, substituir a pasta no servidor e reiniciar o resource é toda a instalação.

Use o mesmo tamanho, ou saiba por que não

Sempre que puder, dê à imagem nova as mesmas dimensões da textura que ela substitui. Uma folha de placa que era 1024x1024 quer 1024x1024 de volta: o layout UV no modelo não mudou, então uma proporção diferente estica sua arte sobre o que a malha espera.

Potências de dois importam por um segundo motivo. Uma textura cujos lados não são potências de dois não consegue ter uma cadeia completa de mipmaps, então o jogo usa o nível mais alto em qualquer distância: a placa fica nítida de perto e cintila do outro lado da rua, e custa memória cheia o tempo todo. Se sua arte tem 1000x1000, exporte em 1024x1024.

Texturas com alpha custam o dobro de uma opaca depois que o jogo as comprime. Se o logo não precisa de transparência, achate-o sobre o fundo antes de enviar.

Experimente grátis

Crie uma conta grátis, entre no Discord para receber seus créditos e monte seu primeiro asset em minutos.