2023/11/26

RE4 UHD Tutorial Editando Scenarios SMD

Tutorial de como editar os arquivos .SMD com um único arquivo .OBJ usando o "RE4-UHD-SCENARIO-SMD-TOOL", tool feito por JADERLINK (que no caso é eu).

(Etapa 1 Extração)

1) Faça download (da ultimo versão) da tool em: https://github.com/JADERLINK/RE4-UHD-SCENARIO-SMD-TOOL/releases

2) extrair o arquivo .ZIP em uma pasta, na qual vou chamar de "RE4_UHD_SCENARIO_SMD_TOOL";

3) Nesse Tutorial vou usar de exemplo o cenário r209;

4) em "pasta do seu jogo\BIO4\St2\" extraia o arquivo "r209.udas" com seu extrator de .udas favorito
(suponho que você já tenha extraído do .lfs);

5) vou extrair o UDAS usando o JADERLINK_DATUDAS_TOOL, no qual ira criar uma pasta com o nome r209, e nela conterá o arquivo: "r209_004.SMD"

6) copie o arquivo  "r209_004.SMD" para a pasta "RE4_UHD_SCENARIO_SMD_TOOL", e execute o
o .bat: "RE4_UHD_SCENARIO_SMD_TOOL Extract all scenario SMD.bat"

7) será gerado vários arquivos:



8)  Para editar o SMD, pode ser feito de duas maneiras:
    * Editando o arquivo OBJ e "idxuhdscenario"
    * Ou editando .idxuhdsmd e os arquivos BIN da pasta "r209_004"

9) Segue abaixo uma explicação de cada arquivo:

    * r209_004.SMD = esse é o arquivo do jogo no qual vamos modificar;
    * r209_004.scenario.idxuhdscenario = esse é um arquivo de configuração para ser usado em conjunto com o OBJ ao remontar o arquivo SMD;
    * r209_004.scenario.idxuhdsmd = Esse é outra maneira de remontar o arquivo SMD, esse também é um arquivo de configuração, para remontar o SMD com ele, será usado os arquivos BIN que estão dentro da pasta "r209_004" e o arquivo "TPL.TPL";
    * r209_004.scenario.obj = esse é o arquivo que tem o modelo 3d do cenário, no qual vai ser aberto em um editor 3D (como o Blender), para que seja possível modificar o cenário.
    * r209_004.scenario.mtl = arquivo que contem os materiais do modelo, é usado para o obj carregar as texturas nos editores 3D, também é usado pelo repack da tool;
    * r209_004.scenario.idxmaterial = esse arquivo representa os matérias do modelo, pode ser usado para o repack, caso você não queira usar o MTL, (ao usar esse arquivo para o repack o arquivo "r209_004.scenario.idxuhdtpl" torna-se obrigatório) (a explicação do funcionamento desse arquivo não será abordada nesse tutorial)
    * r209_004.scenario.idxuhdtpl = esse arquivo é a versão editável do arquivo .TPL, esse arquivo serve para fazer o vinculo entre o material e o arquivo pack, (é opcional com o uso do mtl no rapack, pode ser usado para definir a ordem das texturas no arquivo .tpl) (a explicação do funcionamento desse arquivo não será abordada nesse tutorial)
    * Pasta "r209_004", dentro contem os arquivos BIN e TPL que estavam dentro do SMD, são usado em conjunto com o " r209_004.scenario.idxuhdsmd";

(Etapa 2 texturas)

10) Antes que continuar com a explicação, precisamos lembrar das texturas do nosso cenário, para esse cenário elas estão no arquivo  "44000209.pack"

11) Nota: os arquivos .pack dos cenário sempre são  "44000ZZZ.pack", onde ZZZ é o id do cenário.

12) em "pasta do seu jogo\BIO4\ImagePackHD\" esta o arquivo "44000209.pack", extraia o arquivo "44000209.pack" com seu extrator de .pack favorito
(suponho que você já tenha extraído do .lfs);

13) vou extrair o PACK usando o JADERLINK_PACKYZ2_TOOL  no qual ira criar uma pasta com o nome 44000209, e nela conterá os arquivos de texturas .DDS e .TGA, e ao lado da pasta um arquivo de nome "44000209.pack.idxpack", que é usado para recriar o arquivo .pack

14) copie/mova a pasta "44000209" e o arquivo "44000209.pack.idxpack" para pasta "RE4_UHD_SCENARIO_SMD_TOOL", e sim, as texturas devem permanecer na pasta "44000209";

(Etapa 3 Editado o OBJ)

15) nesse exemplo vou usar o Blender para editar o OBJ

16) abra o Blender, em uma nova "cena", vá em "File\Import\Wavefront (.obj)".

17)  Muito importante marque a caixa de nome "Split by Group", e importe o arquivo .OBJ


Nas outras configurações, mantenha o padrão. conforme a imagem acima.

18) Agora é a parte onde você edite o cenário no Blender (lembre se salvar uma copia do projeto, na mesma pasta em que esta o arquivo .obj):


(Etapa 4: Informações importantes)

19) O arquivo SMD é dividido em 3 partes:
    * as "SMD Entry"\"SMD Line", que faz uso dos .Bin para montar o cenário.
    * os arquivos BIN, é a modelagem do cenário, que esta dividia entre os vários BIN;
    * o arquivo TPL, que é o arquivo que faz referencia ao arquivo PACK e suas texturas.

20) SMD Entry: o conteúdo de cada "SMD Entry" está divido entre o arquivo "idxuhdscenario" e o Obj

21) No Blender cada objeto Representa uma "SMD Entry", o nome do objeto é muito importante para o repack, segue abaixo a explicação de cada campo:

22) Vamos considerar o objeto de nome: UHDSCENARIO#SMD_000#SMX_001#TYPE_09#BIN_000#

    * Todos os campos devem ser separados por #
    * Evite espaço estre os campos
    * A ordem dos campos não pode ser mudada 
    * o nome do objeto deve começar obrigatoriamente por "UHDSCENARIO"
    * A separação feita por _ não deve ser removida.
    * Mas você pode editar os números, adicionar ou remover objetos.
    * referentes aos campos:
        * SMD_000 = esse campo é o id (índice) do SMD Entry, ele deve ser único, caso tiver dois ou mas objetos com o mesmo numero de SMD, eles serão mesclados no Repack.
        (o valor desse campo esta em decimal, e vai de 0 a um valor maior do que você vai usar)
        (Caso você pule um numero de SMD, para ele será atribuído o BIN de ID 000)
        (Então não pule essa numeração)
        (se você pode mudar a ordem dos objetos, basta trocar a numeração, lembrando de trocar no idxuhdscenario também)
        * SMX_001 = esse é o ID do SMX, que faz referencia ao arquivo r209_005.SMX, que esta dentro do UDAS (que não será explicado nesse tutorial)
        (esse campo esta em decimal, e vai de 0 a 254)
        (você pode colocar qualquer numeração nesse campo, mas nunca 255 ou superior, em caso de duvida, preencha como 254)
        (você pode repetir essa numeração)
        (o valor desse campo esta atrelados as animações dos objetos de cenários, então tem SMX ID que não podem ser removidos, se não o jogo crasha, normalmente são os objetos no qual o TYPE é TYPE_09, eles podem ser atribuídos a qualquer numeração de SMD, esses normalmente não são repetidos, na verdade acho que não podem repetir, mas tenho que confirmar isso)
        * TYPE_09 = esse valor não é totalmente documentado, ele é na verdade um conjunto de Flags bit a bit.
        (esse campo esta em Hexadecimal)
        (os objetos de TYPE_09, não podem ser removido pois estão associados a animações)
        (os objetos de outras numerações, pode ser mudados o valor, podem ser removidos, ou adicionados)
        * BIN_000 = esse é o ID do Arquivo BIN que será associado ao SMD Entry, então a parte da modelagem 3D desse objeto será colocado no arquivo BIN desse ID;
        (esse campo esta em decimal, vai de 0 a 255, na verdade o valor atribuído pode ser maior, mas o jogo limita ate 255, mas essa informação tem que ser conformada.)
        (ATENÇÃO: ao repetir a numeração do ID de BIN, será usada somente a modelagem 3D somente do primeiro objeto, isto é, no jogo o segundo objeto que usara o mesmo modelo 3D do primeiro objeto, para evitar isso tenha uma numeração de BIN ID diferente para cada objeto)
        (a numeração dos BIN pode ser pulada sem problemas, porem não recomendo)
        (a numeração pode esta em qualquer ordem)
    * Termine o nome do objeto com # para evitar erros no Repack;
    * Nota: depois do ultimo # você pode escrever comentários;

23) a quantidade de "SMD entry" é definida pelo campo "SmdAmount" no arquivo "r209_004.scenario.idxuhdscenario";

24) Explicação do arquivo: r209_004.scenario.idxuhdscenario
     
    * # o texto começados por # são apenas comentários;
    * # os campos são separados por : dois pontos, e no final do conteúdo não pode ter comentários.
    SmdAmount:417 = esse campo define a quantidade de "SMD Entry" também desse arquivo, quanto do OBJ. (valor em decimal)
    SmdFileName:r209_004.SMD = esse é o nome do arquivo SMD que será gerado pelo Repack;
    BinFolder:r209_004 = essa é o nome da pasta onde será salvo os arquivos .BIN gerados pelo Repack, (Nota: ele cria essa pasta caso não exista, tem que ser diretório relativo, e não absoluto)
    * UseIdxMaterial:false = caso "false", ao fazer o Repack sara usado o arquivo MTL em conjunto ao OBJ, caso esse campo for mudado para "true", em vez que usar o arquivo MTL será usado os arquivos: "r209_004.scenario.idxmaterial" e r209_004.scenario.idxuhdtpl em conjunto ao obj no repack;
    * EnableVertexColor:false = ao ativado (true) será criado o campo no arquivo BIN para as cores de vértices, porem o OBJ não tem um bom suporte para isso, além do arquivo SMD final ficar maior.

    * Explicação do conteúdo de "SMD Entry" que fica dentro de idxuhdscenario:
        * # os primeiro 3 dígitos são o ID (índice) do SMD
        * 000_positionX: 000_positionY: 000_positionZ: = essa é a posição que será atribuída ao objeto;
        (Nota: esse valor esta divido por 100 em relação ao valor no arquivo SMD)
        * 000_angleX: 000_angleY: 000_angleZ: = esse é o valor do ângulo de rotação do objetos;
        * 000_scaleX: 000_scaleY: 000_scaleZ: = esse é o valor da escala aplicada ao objetos.

25) montagem e desmontagem das partes do SMD
        * para criar o arquivo obj é aplicado ao arquivo BIN, a rotação, depois a escala, e por ultimo é somado a posição.
        * para transformar o arquivo OBJ em um arquivo SMD, para cada objeto (que vai virar um BIN) é aplicado em ordem: Diminui o valor de "position", faz a escala inversa (no caso divide pelo valor da escala), e por ultimo é feito a rotação inversa.
        * então os valores de "position", "angle" e "scale" do arquivo idxuhdscenario parecem não fazer diferença, porem são usado.
        * Aviso: não coloque a escala como 0, pois vai dar erro no repack (ele não sabe dividir por zero)

(Etapa 5: Exportando do Blender para OBJ)

26) Depois de suas edições no cenário feitas você precisa exportar o seu modelo para OBJ;
va em "File\Export\Wavefront (.obj)"


 27) Importante: marque "Gouping: Object Groups" e "Geometry: Triangulated Mesh";
e os outros conforme imagem abaixo.
        Substitua o arquivo r209_004.scenario.obj

(Etapa 6: fazendo o Repack usando o "idxuhdscenario")

28)  já com o OBJ exportado e o idxuhdscenario editado caso necessário para fazer o Repack use o bat: "RE4_UHD_SCENARIO_SMD_TOOL Repack all with idxuhdscenario.bat"
    (Nota: para fazer o repack com o MTL  na mesma pasta dele, deve ter a pasta com as texturas)
    (nota: caso você tenha modificados as texturas lembre também de fazer Repack do "PACK" e colocar de volta em "pasta do seu jogo\BIO4\ImagePackHD\" )

29) ao fazer o Repack vários arquivos serão gerados, o mais importante o é "r209_004.SMD", na qual você vai colocar de volta na pasta "r209" e fazer o Repack do arquivo UDAS.

30) explicação de cada arquivos gerado pelo Repack:

        * r209_004.SMD = esse é o arquivo principal, pronto para uso.
        * Ao fazer o Repack usando o MTL, será gerado os arquivos "r209_004.scenario.Repack.idxmaterial" e "r209_004.scenario.Repack.idxuhdtpl", (no qual não vou estar explicando nesse tutorial)
        * Será gerado o arquivo "r209_004.scenario.Repack.idxuhdsmd" que é a versão atualizada do idxuhdsmd, contendo as informações do idxuhdscenario e o conteúdo dos nomes dos objetos do arquivo OBJ, a explicação da utilidade esta mais abaixo do tutorial;
        * na pasta "r209_004" que foi definida no campo "BinFolder", gera gerado os novos arquivos BIN e TPL que foram colocados dentro do arquivo SMD;


(Fim da primeira parte do tutorial)

(Etapa 7: explicando o idxuhdsmd)
(Nota: explicação adicional, você não precisa fazer essas etapas.)

31) Esse arquivo serve para fazer o Repack do arquivo SMD, usando somente o arquivo "r209_004.scenario.idxuhdsmd" e os arquivos BIN e TPL dentro da pasta "r209_004"

32) Porem ao fazer o Repack com o "idxuhdscenario" novos arquivos BIN foram gerados na pasta "r209_004", esses arquivos BIN contem o modelo 3D do teu OBJ editado;

33) então com o arquivo "r209_004.scenario.Repack.idxuhdsmd", no qual pode ser editado, você pode usar para fazer ajustes, e ou trocar algum arquivo BIN, caso necessário.

34) para fazer o Repack com esse arquivo use o bat: "RE4_UHD_SCENARIO_SMD_TOOL Repack all with idxuhdsmd.bat"

35) explicando o conteúdo de "idxuhdsmd":
    
    * # o texto começados por # são apenas comentários;
    * # os campos são separados por : dois pontos, e no final do conteúdo não pode ter comentários.
    * SmdAmount:417 = esse campo define a quantidade de "SMD Entry" desse arquivo. (valor em decimal);
    * SmdFileName:r209_004.SMD = esse é o nome do arquivo SMD que será gerado pelo Repack;
    * BinFolder:r209_004 = esse é o nome da pasta de onde vai ser obtidos os arquivos BIN, para o Repack;
    * BinAmount:232 = esse é a quantidade de arquivos que será lido da pasta e colocado no arquivo SMD; (valor em decimal);

    * Explicação de "SMD Entry":
        # os primeiro 3 dígitos são o ID (índice) do SMD
        * 000_positionX: 000_positionY: 000_positionZ: 000_angleX: 000_angleY: 000_angleZ: 000_scaleX: 000_scaleY:000_scaleZ: é o mesmo que expliquei antes, porem ao mudar esses valores, você vera diferença no jogo;
        * 000_BinID:0 = esse é o id do arquivo BIN (valor em decimal);
        * 000_SmxID:1 = esse é o id do SMX (valor em decimal);
        * 000_objectStatus:00000009 = esse campo é o mesmo que o "TYPE" do arquivo OBJ, que no meu exemplo é o "TYPE_09", esse campo esta em Hexadecimal;
        * 000_FixedFF:FF = campo em hexadecimal, sempre preenchido como FF, não sei pra que serve, mais tem no arquivo SMD;
        * 000_unused1: ate 000_unused7: valores em hexadecimal, sempre preenchidos como 0 (zero), não sei para que serve.

(Etapa 8 outras explicações)

36) os arquivos .idxmaterial, idxuhdtpl e .mtl, não serão explicados nesse tutorial;

37) para editar os Arquivos BIN e/ou TPL use o JADERLINK_UHD_BIN_TOOL

(Final)

Tutorial escrito por JADERLINK;
Data: 2023-11-26

Nenhum comentário:

Postar um comentário