mirror of
https://github.com/4sval/FModel.git
synced 2026-06-21 07:20:05 -05:00
final fantasy emissive intensity
This commit is contained in:
parent
cdc987b984
commit
a2ae5da47f
|
|
@ -1 +1 @@
|
|||
Subproject commit 00663461bc32e1c0bac12448e2f5c65c78c57dd0
|
||||
Subproject commit 3b341d780a08f1bf38b0246750d476d4b948b286
|
||||
|
|
@ -112,7 +112,7 @@ public class Material : IDisposable
|
|||
if (Parameters.TryGetScalar(out var roughness, "Rough", "Roughness", "Ro Multiplier", "RO_mul", "Roughness_Mult"))
|
||||
Roughness = roughness;
|
||||
|
||||
if (Parameters.TryGetScalar(out var emissiveMultScalar, "emissive mult", "Emissive_Mult"))
|
||||
if (Parameters.TryGetScalar(out var emissiveMultScalar, "emissive mult", "Emissive_Mult", "EmissiveIntensity"))
|
||||
EmissiveMult = emissiveMultScalar;
|
||||
else if (Parameters.TryGetLinearColor(out var emissiveMultColor, "Emissive Multiplier", "EmissiveMultiplier"))
|
||||
EmissiveMult = emissiveMultColor.R;
|
||||
|
|
|
|||
|
|
@ -267,25 +267,6 @@ public class Renderer : IDisposable
|
|||
{
|
||||
for (int j = 0; j < textureData.Length; j++)
|
||||
{
|
||||
var diffuse_key = j switch
|
||||
{
|
||||
0 => "Diffuse",
|
||||
> 0 => $"Diffuse_Texture_{j + 1}",
|
||||
_ => CMaterialParams2.FallbackDiffuse
|
||||
};
|
||||
var normal_key = j switch
|
||||
{
|
||||
0 => "Normals",
|
||||
> 0 => $"Normals_Texture_{j + 1}",
|
||||
_ => CMaterialParams2.FallbackNormals
|
||||
};
|
||||
var specularmasks_key = j switch
|
||||
{
|
||||
0 => "SpecularMasks",
|
||||
> 0 => $"SpecularMasks_{j + 1}",
|
||||
_ => CMaterialParams2.FallbackNormals
|
||||
};
|
||||
|
||||
if (textureData[j]?.Load() is not { } textureDataIdx)
|
||||
continue;
|
||||
|
||||
|
|
@ -293,15 +274,24 @@ public class Renderer : IDisposable
|
|||
overrideMaterial.TryLoad(out var oMaterial) && oMaterial is UMaterialInterface oUnrealMaterial)
|
||||
material.SwapMaterial(oUnrealMaterial);
|
||||
|
||||
if (textureDataIdx.TryGetValue(out FPackageIndex diffuse, "Diffuse") &&
|
||||
diffuse.Load() is UTexture2D diffuseTexture)
|
||||
material.Parameters.Textures[diffuse_key] = diffuseTexture;
|
||||
if (textureDataIdx.TryGetValue(out FPackageIndex normal, "Normal") &&
|
||||
normal.Load() is UTexture2D normalTexture)
|
||||
material.Parameters.Textures[normal_key] = normalTexture;
|
||||
if (textureDataIdx.TryGetValue(out FPackageIndex specular, "Specular") &&
|
||||
specular.Load() is UTexture2D specularTexture)
|
||||
material.Parameters.Textures[specularmasks_key] = specularTexture;
|
||||
WorldTextureData(material, textureDataIdx, "Diffuse", j switch
|
||||
{
|
||||
0 => "Diffuse",
|
||||
> 0 => $"Diffuse_Texture_{j + 1}",
|
||||
_ => CMaterialParams2.FallbackDiffuse
|
||||
});
|
||||
WorldTextureData(material, textureDataIdx, "Normal", j switch
|
||||
{
|
||||
0 => "Normals",
|
||||
> 0 => $"Normals_Texture_{j + 1}",
|
||||
_ => CMaterialParams2.FallbackNormals
|
||||
});
|
||||
WorldTextureData(material, textureDataIdx, "Specular", j switch
|
||||
{
|
||||
0 => "SpecularMasks",
|
||||
> 0 => $"SpecularMasks_{j + 1}",
|
||||
_ => CMaterialParams2.FallbackNormals
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -331,6 +321,12 @@ public class Renderer : IDisposable
|
|||
}
|
||||
}
|
||||
|
||||
private void WorldTextureData(Material material, UObject textureData, string name, string key)
|
||||
{
|
||||
if (textureData.TryGetValue(out FPackageIndex package, name) && package.Load() is UTexture2D texture)
|
||||
material.Parameters.Textures[key] = texture;
|
||||
}
|
||||
|
||||
private void AdditionalWorlds(UObject actor, Matrix4x4 relation, CancellationToken cancellationToken)
|
||||
{
|
||||
if (!actor.TryGetValue(out FSoftObjectPath[] additionalWorlds, "AdditionalWorlds") ||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user