Tutorial - Como configurar o Project2DFX

Project2dfx foi um projeto do ThirteenAG destinado ao aumento das distâncias dos efeitos 2D (os chamados 2dfx) dos GTAs (não somente o San Andreas).


O projeto evoluiu tanto, mas tanto que passou para o mapa, onde hoje podemos até mesmo visualizar as 4 pontas do mapa de San Andreas! Tudo graças à este projeto, já que antes tudo era muito limitadamente feito por timecyc.dat, mas agora, usar timecyc.dat para aumento de distância é coisa do passado, assim como usar LOD Mod também é.

Isso é uma grande demonstração da evolução dos mods do GTA, e com certeza merece um bom tutorial para todos poderem desfrutar deste mod incrível.

Clique AQUI para baixar o Project2dfx. O .ini foi atualizado pois antes ele estava com informações incorretas.

Siga abaixo e tente fazer uma boa configuração compatível com a potência do seu PC, e seu gosto.



Glossário:
"2DFX" é o nome dado aos efeitos 2D, como partículas e luzes, o projeto foi iniciado para aumentar a distância destas luzes, evoluiu, e agora aumenta tudo sobre distâncias do mapa.
"Corona" é o nome dado para os brilhos das luzes.
"Searchlights" é o nome dado às luzes em cone, como holofotes.
"LOD" é "Level Of Detail", basicamente uma mudança de detalhe em distância. Este mod adiciona "Lod Lights" que são as luzes de distância.

Se você quer desativar opções no .ini não se apague a linha ou comente (#), mas sim configure-a para 0.0!



SALodLights.ini

[LodLights]
São as luzes distantes que ficaram famosamente usadas no GTA SA depois da chegada do Project2DFX. Abaixo, as configurações destas luzes.

RenderLodLights
Você pode desativá-las colocando um "0" aí para assim o Project2DFX ser um mod de somente aumento de distância de mapa assim não adicionando as novas luzes no jogo (na qual tiram desempenho).

MaxNumberOfLodLights
Número limite de "coronas" para aparecer. Possivelmente você não precisará configurar isso.

CoronaRadiusMultiplier
Multiplicador do tamanho do brilho da luz dependente a distância, ou seja, basta diminuir o valor para uns 0.7 ou 0.5 para ter luzes distantes menores, um efeito mais realista.

SlightlyIncreaseRadiusWithDistance
Colocando "0", ao invés de aumentar o tamanho da luz com a distancia dela, a luz continuará sempre no mesmo tamanho setado acima.

CoronaFarClip
Distância de visão do brilho da luz.
Você pode colocar a distância (1.0 = 1 metro) ou deixar "auto" (vem por padrão "auto", recomendado) para assim ela se ajustar automaticamente com a distância de visão do jogo.
Se estas luzes fazem seu GTA ficar com lag a noite, recomendo usar uma textura coronastar com menor definição, mas isso não ajudará tanto assim, o que mais deve ajudar é configurar esta opção para uma distância menor, assim somente as luzes mais próximas aparecerão e por exemplo não terá luzes lá em SF enquanto você está em LS, fica bem mais leve.

CustomCoronaTexturePath
Se você quer o brilho de luz com uma textura personalizada a partir de um .png (assim não necessitando editar o .txd), basta colocar o endereço da imagem .png aqui.
Coloque uma imagem com nome "corona.png" na pasta do seu GTA San Andreas (no mesmo local onde fica o .exe dele), assim a imagem será usada como uma lod light, ou seja, a textura de luz criada pelo Project2DFX (as distantes e até mesmo de carros), as luzes próximas continuará a textura coronastar dentro do particle.txd.
Você pode configurar por exemplo pra "CustomCoronaTexturePath = models\corona.png", no exemplo, basta colocar o .png na pasta models para a textura ser usada.

Exemplo conclusivo:
[LodLights]
RenderLodLights = 1
MaxNumberOfLodLights = 25000
CoronaRadiusMultiplier = 2.5
SlightlyIncreaseRadiusWithDistance = 0
CoronaFarClip = 800.0
CustomCoronaTexturePath = .\\corona.png

É claro, isso é só um exemplo de tudo o que foi dito, bem bosta.
Tamanho de todas as luzes ficaram 2.5, sem mudar, aparecendo somente até 800 metros de distância usando uma imagem personalizada de um logotipo meu.



[StaticShadows]
Ao contrário do que parece, "shadows" aqui não quer dizer sombras, mas sim a iluminação da luz no chão. É que no GTA estas luzes (e até mesmo o sangue) funciona igual as sombras do jogo, portanto é comum nós chamarmos isso de shadows (sombras). É meio que a sombra da luz (??).

RenderStaticShadowsForLODs
"LOD" aí neste caso são as luzes lod, as luzes distantes, ou seja, a "shadow do lod" na verdade quer dizer "iluminação das luzes distantes no chão" e não "sombra dos lods" (isso já me confundiu).
Vem desativado por padrão pois isso é pesado, pode te tirar um bom FPS além de que você pode não ter bons resultados com esta função.

StaticShadowsIntensity
Ao contrário do que parece, esta não é a intensidade das "sombras" das luzes de lod citadas acima, mas da "sombra" de todas as luzes mesmo, ou seja, por exemplo a iluminação das luzes deixadas pelos postes na rua, configure o valor aqui para mudar a intensidade desta luz, deixando os postes com iluminação mais forte ou fraca. Quanto maior o número, mais forte é a iluminação.
(esta função não tem relação alguma com a de cima)

StaticShadowsDrawDistance
Mais outra coisa confusa. É a distância de visão da iluminação citada acima, ou seja, dos postes etc, mas é limitado, não adianta colocar números grandes pois continuará sumindo (aparentemente) na mesma distância (não sei se foi bug/incompatibilidade aqui, enfim).

Exemplo conclusivo:
[StaticShadows]
RenderStaticShadowsForLODs = 1
StaticShadowsIntensity = 2
StaticShadowsDrawDistance = 300.0

Veja como fica com RenderStaticShadowsForLODs ativado (+ usando iluminação do ECG)



[SearchLights]
As "Search lights" são as luzes como dos holofotes da Area 69 e do helicóptero da polícia quando te ilumina numa perseguição.
O Project2dfx tem opção para adicioná-las nos postes do jogo, como um efeito de neblina.

RenderSearchlightEffects
Ativar estas luzes nos postes do jogo. Vem ativado por padrão e possivelmente você queira desativar, pois na minha opinião são feias (além de tirar FPS). Basta colocar "0" aqui.

RenderOnlyDuringFoggyWeather
Ativar faz com que as luzes somente funcionam caso esteja no clima de neblina. Pode dar um efeito interessante para quem não gostou destas luzes, pois durante a neblina elas fazem mais sentido existir.

SearchlightEffectVisibilityFactor
É como a opacidade do efeito, visibilidade, transparência dele.

SmoothEffect
Fazer com que tenha um fade, dando uma melhoria no efeito (diminuindo o efeito "cone").



[DrawDistanceChanger]
Agora vamos falar de distância de visão do mapa, e não sobre as luzes.

Enable
Ativar as funções abaixo. Já vem ativado por padrão, mas é legal você entender o que acontece.

MinDrawDistanceOnTheGround
Distância de visão mínima enquanto está no chão, ou seja, enquanto você está no chão a distância de visão do mapa será esta, e quando você subir a distância de visão aumentará com as configurações abaixo.

Factor1 e Factor2
Não entendi muito bem, se alguém testar melhor tente explicar.
Pelo o que entendi, o Factor1 aumenta a distância de visão quando você voa alto, e o Factor2 parece ser a distância da neblina a partir da distância de visão do mapa, ou seja, Factor2 = 1.0 o mapa fica praticamente sem neblina (pode bugar a água do jogo, sumir a água por volta do mapa), enquanto Factor1 é um bom aumento para você conseguir ver o mapa inteiro.

StaticSunSize
Tamanho geral do Sol, não faz sentido esta configuração estar neste mod e neste local, acredito que ele só colocou pois realmente é interessante mudar o tamanho do Sol, aumentando pra ter um brilho mais legal etc. No mod Mix Sets também tem isto, mas com o nome "SunSize".

Exemplo conclusivo:
[DrawDistanceChanger]
Enable = 1
MinDrawDistanceOnTheGround = 2000.0
Factor1 = 16.0
Factor2 = 3.0
StaticSunSize = 20.0

É uma função realmente interessante, pois assim você pode voar vendo boa parte do mapa (até mesmo o mapa inteiro), mas enquanto você está no chão a visão do mapa continua pequena, assim não tendo perda de FPS.



[AdaptiveDrawDistance]
Você tem perda de FPS quando usa o Project2DFX? Então você tem que ler isso.

Enable
Ativar a adaptação da distância de visão dependente do FPS do seu jogo. Isso vem desativado mas é ótimo ativá-lo.
Só funciona caso o [DrawDistanceChanger] também esteja ativado!!!

MinFPSValue
Irá diminuir a distância de visão caso o FPS esteja abaixo disso.

MaxFPSValue
Irá aumentar a distância de visão caso o FPS esteja acima disso.

MaxPossibleDrawDistance
Aumento máximo da distância no FPS alto.

Exemplo conclusivo:
[AdaptiveDrawDistance]
Enable = 1
MinFPSValue = 30
MaxFPSValue = 45
MaxPossibleDrawDistance = 4000.0


Assim o jogo terá mais chances de permanecer entre 30 e 45 FPS, e caso acima de 45 FPS, a distância de visão pode chegar a 4000.0.



[IDETweaker]
É a principal parte das configurações das distâncias de visão dos objetos.
Sabendo que 1.0 = 1 metro e que o o mapa do jogo de ponta a ponta tem 6 KMs (ou seja, 6000.0), fica fácil você configurar. Mas você também pode usar multiplicações ao invés da distância estática para tudo, basta você usar algum número abaixo de 10.0 que ele será usado como multiplicador, por exemplo usar 2.0 na distância de visão dos LODs fará com que cada LOD fique o dobro mais visivelmente longe.

TimedObjectsDrawDistance
Distância de visão para objetos controlados por tempo. Ou seja, as janelas acesas dos prédios etc são objetos controlados por tempo, só a noite eles (as janelas) aparecem, e é aqui que você controla a distância de visão deles.

NeonsDrawDistance
Distância de visão dos objetos de luzes que simulam neon e outros tipos de luzes.

LODObjectsDrawDistance
Distância de visão dos LODs. É basicamente a distância de visão do mapa (LODs são os modelos de baixa definição que aparecem longe para assim deixar o jogo mais leve, ou seja, diminuindo a qualidade do mapa quando o objeto está longe).
Se você aumentar para 6000.0 você poderá estar num canto do mapa e conseguirá ver o outro canto, assim como 3000.0 você poderá estar no centro do mapa e conseguirá ver também o mapa inteiro.
Lembre-se também do [DrawDistanceChanger] citado acima!!!

GenericObjectsDrawDistance
Distância de visão de objetos genéricos, ou seja, os objetos pequenos, não casas etc. Eles não precisam de distância de visão tão grande pelo fato de não serem tão grandes (mas acredito que postes entram pra lista destes objetos).

AllNormalObjectsDrawDistance
Esta é a distância de visão dos objetos de alta qualidade (não LOD), ou seja, por que ainda há pessoas usando mods como LOD Mod e LODless?? É só aumentar esta distância de visão para ter o mesmo efeito, mas agora sem bugs e muitíssimo mais leve! Os mods de LOD agora ficaram obsoletos.
Nos meus testes não aumentou a distância de todo o mapa, mas sim de vários objetos, vegetações e principalmente casas, há prints abaixo.
Você pode por exemplo deixar 2.0 (para usar multiplicador, assim ficando 2x mais distante) que o mapa ficará muitíssimo mais bonito e quase sem perda de FPS.
Se a distância aumentou somente um pouco, é porque você precisa do LoadAllBinaryIPLs.

VegetationDrawDistance
Distância de visão da vegetação (árvores etc, não inclui vegetações pequenas, ainda não conseguiram aumentar a distância delas).
Se a distância aumentou somente um pouco, é porque você precisa do LoadAllBinaryIPLs. Sem ele também possivelmente você verá conjuntos de árvores aparecendo e sumindo pelo mapa, onde o correto são árvores aparecendo uma por uma.

LoadAllBinaryIPLs
É uma das chaves para tudo acima ser possível.
Os IPLs binários são os arquivos .ipl dentro do gta3.img onde guarda os principais objetos do mapa, fazer com que todos sejam carregados fazer este mod realmente funcionar.
O problema é que, esta função no .ini parece não funcionar corretamente, pelo menos aqui (Reyks também relatou isso), inclusive, faz também os carros aleatórios estacionados (como perto das praias de LS) não aparecerem! Mas quando eu desativei isso e usei o binaryipl.cs (download abaixo) tudo funcionou corretamente! Portanto, se com você foi igual, desative isso e use o .cs.
Por outro lado, isso pode fazer causar bugs loucos depois de um tempo jogando. Não tenho imagens mais, mas é basicamente postes grudados nas mãos dos pedestres e motoristas, além de uns triângulos amarelos espalhados pelo chão, se você tiver isso, desative isso e não use o .cs. Também pode tentar desativar o [SearchLights], avise se solucionou ou não.

PreloadLODs
Faz os LODs serem carregados antes, já logo quando inicia o jogo, melhora no carregamento do mapa mas pode fazer o jogo demorar um pouquinho mais para carregar, mas é recomendado sempre estar ativado mesmo.

Exemplo conclusivo:
[IDETweaker]
TimedObjectsDrawDistance = 0.0
NeonsDrawDistance = 2000.0
LODObjectsDrawDistance = 1300.0
GenericObjectsDrawDistance = 500.0
AllNormalObjectsDrawDistance = 3.0 //ou seja, 3X mais
VegetationDrawDistance = 1000.0
LoadAllBinaryIPLs = 0 //usei o binaryipl.cs
PreloadLODs = 1

(lembrando novamente que foi preciso também configurar o [DrawDistanceChanger])

As configurações mostradas foram feitas rapidamente, acredito que possa melhorar (mas já está ótimo!).

Download do binaryipl.cs
(como explicado acima em "LoadAllBinaryIPLs")



Notas finais
  • Você precisa de um HDD rápido ou um SSD, afinal, o que carrega o mapa (assim como outros modelos, carros etc) é o disco, quanto mais rápido ele é, mais rápido carregará, e você pode aumentar a velocidade do seu fazendo desfragmentação (ver Google). SSDs são extremamente rápidos, se você usar um não terá tais problemas.
  • O grande aumento da distância de visão faz carregar mais objetos, assim causando bugs de stream (artefatos piscando sobre o mapa).
  • É necessário aumentar o limite de Stream Memory (que também pode causar o bug citado acima). Você pode usar Mix Sets configurando o "StreamMemoryMB" deixando no mínimo 512, mas pode ser necessário no mínimo 1024 caso mods de texturas ou queira ver o mapa de ponta a ponta. Ou você pode usar o próprio .ini do Open Limit Adjuster que vem junto ao Project2DFX (limit_adjuster_gta3vcsa.ini), nele, basta configurar o "MemoryAvailable".
  • Ler sobre o "LoadAllBinaryIPLs" acima é importante, não pule leitura.
  • O Junior_Djjr relatou que já teve crash ao mudar o AllNormalObjectsDrawDistance e olhar para um lado do mapa, por algum motivo nunca mais aconteceu, caso te aconteça alguma coisa assim, use o CrashInfo e diminua ou não mude este valor.
Anterior Proxima Página inicial