Browse Source

Use emissive property on default material to simulate fullbright pixels, instead of adding a second unlit material

console
Nico de Poel 5 years ago
parent
commit
45bfa16950
  1. 18
      Assets/Scripts/Modules/RenderModule.cs

18
Assets/Scripts/Modules/RenderModule.cs

@ -80,26 +80,21 @@ public partial class RenderModule
material.mainTexture = textures[texNum];
}
Material fbMaterial = null;
if (fbTextures != null && fbTextures[0] != null && fbTextures[0][0] != null)
{
var fbTexNum = fbTextures[0][0].texNum;
if (fbTexNum > 0 && textures.ContainsKey(fbTexNum))
{
fbMaterial = new Material(Shader.Find("Universal Render Pipeline/Unlit"));
fbMaterial.mainTexture = textures[fbTexNum];
fbMaterial.SetFloat("_Surface", 1); // Transparent
fbMaterial.SetFloat("_Blend", 2); // Additive
material.EnableKeyword("_EMISSION");
material.SetTexture("_EmissionMap", textures[fbTexNum]);
material.SetColor("_EmissionColor", Color.white);
}
}
if (header.numPoses > 1)
{
var mr = go.AddComponent<SkinnedMeshRenderer>();
if (fbMaterial != null)
mr.materials = new[] { material, fbMaterial };
else
mr.material = material;
mr.material = material;
mr.sharedMesh = mesh;
mr.shadowCastingMode = ShadowCastingMode.Off;
@ -115,10 +110,7 @@ public partial class RenderModule
var mf = go.AddComponent<MeshFilter>();
mf.sharedMesh = mesh;
var mr = go.AddComponent<MeshRenderer>();
if (fbMaterial != null)
mr.materials = new[] { material, fbMaterial };
else
mr.material = material;
mr.material = material;
mr.shadowCastingMode = ShadowCastingMode.Off;
mr.receiveShadows = false;

Loading…
Cancel
Save