AGRADECIMIENTO:
Antes de nada quiero dar gracias a
@ElAloch, porque sin el nunca pude haber descubierto lo que descubrí y voy a explanarlo en este tema por si alguien se interesa o me ofrece ayuda, comencemos:
HISTORIA:
Hace unos cuantos días me propuse una tarea bastante sencilla (en mi opinión) hacer que el agua de la trasformación planetaria no se revertiera a un yermo desértico. Al principio iba mal encaminado pues pensaba que tendría que ver con terraforming tuning (Lógico al fin y al cabo pero no era el caso).
Pero gracias a ElAloch pude descubrir que era idéntico al 100%, por lo que me dije de algún sitio debe venir digo yo: Encontré el script: TerrainLegacyScript True que se encontraba en todos los script sobre terreno y planeta del juego, al ponerlo en false funcionó momentáneamente e incluso cabe destacar que me ocurrió varias veces, pero de repente dejó de funcionar, sí alguien sabe el porque que me lo diga.
Así que tras esa victoria que se convirtió en fracaso seguí buscando y buscando y al fin en un mar de códigos de Spore, se me ocurrió buscar Surface (Superficie), en vez de insistir con: Terrain, planet, water, terraforming and toolspace (pensé que podrían ser las herramientas de terraformación incluso). Al final de todos los intentos casi a punto de rendirme, encuentro el código que buscaba, este se encontraba en:
materials_shader_fragments~ ---> 0x00000003.smt.unpacked ----> 079(TerrainSetup).vertex_fragment
En este archivo de arriba pone lo siguiente:
- Captura triste del código :
EXPLICACION:
Ese código es lo que provoca el bug horrible de que el agua desaparezca, traduciré el texto en verde (notas del programador)
para que sepáis exactamente lo que dice:
- Traducción:
Actualmente tanto la tierra como el agua se establecen en la altura VB, que es máxima (altura del agua, altura de la tierra)
esto es para evitar los problemas cambiantes de la costa y poder mirar debajo de la orilla del agua, debido a que el agua se mueve hacia afuera.
Esto puede cambiar porque tiene sus propios problemas, es decir, que la profundidad del agua no está disponible en el sombreador de vértices y el mapa de refracción no es correcto.
Sin embargo, hacer esta sujeción en el sombreador causa problemas de z-fight debido a que las faldas se sujetan y se arrastran por el borde del agua, porque solo se sujeta la altura final transformada, no las alturas de origen y destino.
FINAL O INICIO?
En resumidas cuentas esta es la solución cutre para ese bug, el cual yo nunca recuerdo haber presenciado y tal vez fuera prácticamente imperceptible. El problema gente viene con lo que voy a decir a continuación, los códigos originales fueron totalmente aniquilados e incluso hay notas que dicen de añadir o corregirlos en futuros parches que nunca llegaron, por lo que sin los códigos originales es imposible corregirlo al menos que pruebe a lo loco (cosa que me niego a hacer).
Dejaré el código entero quitando las notas por si alguno lo quiere ojear y me dice que ese no es el sitio correcto para buscar arreglar lo del agua, en ese caso que me diga el porque y si estoy de acuerdo o tiene sentido seguiré buscando el fallo. En caso de que todos estén de acuerdo que ese es el código y quieran ayudar para modificarlo, bienvenido sea.
Pero este proyecto actualmente está muerto, no por no encontrar el fallo (Estoy al 99% que ese código es el fallo) sino porque no sabemos los valores originales, así pues gracias por leerse este tochaco y os dejo el código:
- Código:
vertexFragment TerrainSetup
input color position
declareCode
extern uniform struct
{
float4 vSunDir;
float4 waterColor;
float4 innerParms;
float4 vCamPos;
float4 sphereParms;
float4 camParms;
float4 illumParms;
float4 fogParms;
float4 nightLightTint;
float4 nightLightColor;
float4 duskLightColor;
float4 dayLightColor;
float4 nightShadowColor;
float4 duskShadowColor;
float4 dayShadowColor;
float4 duskDawnStartEnd;
float4x4 viewTransform;
} terrainState;
extern uniform struct
{
float4x4 worldViewProjection;
float4 QuadFaceUVXform;
float4 QuadMorphValue;
float4 QuadFaceElemMap;
float4 QuadFaceSignMap;
float4 QuadFaceXForm[3];
} terrainTransform;
endCode
code
const float c0 = 255.0f * 2.0f / 65536.0f;
const float c1 = 256.0f * c0;
float parentHeight = dot( In.position.ar, float2( c1, c0 ) ) - 1;
float height = dot( In.position.gb, float2( c1, c0 ) ) - 1;
height = parentHeight + (height - parentHeight) * terrainTransform.QuadMorphValue.x;
float height1 = dot( In.color.gb, float2( c1, c0 ) ) - 1;
float seabedHeight = height1 * terrainState.sphereParms.y + terrainState.sphereParms.x;
float landHeight = height * terrainState.sphereParms.y + terrainState.sphereParms.x;
float waterHeight = terrainState.innerParms.w + terrainState.sphereParms.x;
float2 uv = saturate( terrainTransform.QuadFaceUVXform.xy + In.texcoord0.xy * terrainTransform.QuadFaceUVXform.z);
float4 normal4 = float4( uv.xy, 1, 1 );
float3 normal = float3(
dot( normal4, terrainTransform.QuadFaceXForm[0] ),
dot( normal4, terrainTransform.QuadFaceXForm[1] ),
dot( normal4, terrainTransform.QuadFaceXForm[2] ) );
normal = normalize( normal );
float4 landPosition = float4(normal.xyz * landHeight, 1);
float4 waterPosition = float4(normal.xyz * waterHeight, 1)
float4 seabedPosition = float4(normal.xyz * seabedHeight, 1);
endCode
end
Ayer a las 17:58 por Quincho96
» Los experimentos del Dr. Breincrox, parte 2
Ayer a las 17:57 por Quincho96
» Rise of Cults 2 Bot (Beta abierta)
Dom 03 Nov 2024, 00:24 por XleandroX
» ¿Que música están escuchando?
Jue 31 Oct 2024, 09:59 por FlairDreamer
» Extensión de Chrome: Sporepedia Downloader [1.2]
Jue 31 Oct 2024, 09:57 por FlairDreamer
» Cambios de Nick
Dom 27 Oct 2024, 14:55 por FlairDreamer
» Se solicita financiación
Dom 27 Oct 2024, 05:45 por Noni Beld
» antorchas de Minecraft
Miér 23 Oct 2024, 22:03 por Quincho96
» Criaturas de la noche
Vie 18 Oct 2024, 10:25 por Quincho96
» Criaturas de Tremors
Vie 18 Oct 2024, 10:17 por Quincho96
» Quad-Techtrak [O7] [T]
Vie 18 Oct 2024, 10:13 por Quincho96
» Dino Piraña
Miér 16 Oct 2024, 20:19 por Mozokas
» HVM-35 - Tanque Genesis INF [Sidimey vs. Coldfusion] [1]
Miér 16 Oct 2024, 00:41 por Quincho96
» botes de exploracion marina
Lun 14 Oct 2024, 22:36 por FlairDreamer
» [Proyecto] Genetic Aberration
Lun 14 Oct 2024, 22:31 por FlairDreamer
» El Santuario de Flair Dreamer [♫]
Lun 14 Oct 2024, 22:30 por FlairDreamer
» comparaciones entre blues
Dom 13 Oct 2024, 15:52 por thescientist9393
» Las partes robóticas en mi spore no funcionan bien
Dom 13 Oct 2024, 12:00 por FlairDreamer
» poner una aventura galactica de otra persona en spore pirata.
Dom 13 Oct 2024, 11:57 por FlairDreamer
» Que son los Niveles estos que estan en mi perfil?
Dom 13 Oct 2024, 11:56 por FlairDreamer
» Problema con los pies de DI y otros mods
Dom 13 Oct 2024, 11:55 por FlairDreamer
» mi criatura facha
Jue 10 Oct 2024, 22:29 por El Destructor de Especies
» como estan muchachos (mi version)
Jue 10 Oct 2024, 22:24 por El Destructor de Especies