mirror of
https://github.com/maxartz15/VertexAnimation.git
synced 2024-11-14 00:05:35 +01:00
max
3c14c98cf9
Removed LitGUI debug logs. Updated VA_ModelBaker material creation and setting update. Added mesh finalize function to optimize and upload the mesh data.
58 lines
1.2 KiB
C#
58 lines
1.2 KiB
C#
using UnityEngine;
|
|
|
|
namespace TAO.VertexAnimation
|
|
{
|
|
public static class AnimationMaterial
|
|
{
|
|
public static Material Create(string name, Shader shader)
|
|
{
|
|
Material material = new Material(shader)
|
|
{
|
|
name = name,
|
|
enableInstancing = true
|
|
};
|
|
|
|
return material;
|
|
}
|
|
|
|
public static Material Create(string name, Shader shader, Texture2DArray positionMap, bool useNormalA, bool useInterpolation, int maxFrames)
|
|
{
|
|
Material material = Create(name, shader);
|
|
|
|
material.Update(name, shader, positionMap, useNormalA, useInterpolation, maxFrames);
|
|
|
|
return material;
|
|
}
|
|
|
|
public static void Update(this Material material, string name, Shader shader, Texture2DArray positionMap, bool useNormalA, bool useInterpolation, int maxFrames)
|
|
{
|
|
material.name = name;
|
|
|
|
if (material.shader != shader)
|
|
{
|
|
material.shader = shader;
|
|
}
|
|
|
|
material.SetTexture("_PositionMap", positionMap);
|
|
material.SetInt("_MaxFrames", maxFrames);
|
|
|
|
if (useNormalA)
|
|
{
|
|
material.EnableKeyword("USE_NORMALA_ON");
|
|
}
|
|
else
|
|
{
|
|
material.DisableKeyword("USE_NORMALA_ON");
|
|
}
|
|
|
|
if (useInterpolation)
|
|
{
|
|
material.EnableKeyword("USE_INTERPOLATION_ON");
|
|
}
|
|
else
|
|
{
|
|
material.DisableKeyword("USE_INTERPOLATION_ON");
|
|
}
|
|
}
|
|
}
|
|
} |