Files
AssetStudio/AssetStudio/Classes/SkinnedMeshRenderer.cs
VaDiM 35b24990c6 Allocation-safe asset reading
Try to not pre-allocate memory during asset reading
2025-07-24 04:06:33 +03:00

39 lines
1.1 KiB
C#

using System.Collections.Generic;
namespace AssetStudio
{
public sealed class SkinnedMeshRenderer : Renderer
{
public PPtr<Mesh> m_Mesh;
public List<PPtr<Transform>> m_Bones;
public float[] m_BlendShapeWeights;
public SkinnedMeshRenderer(ObjectReader reader) : base(reader)
{
int m_Quality = reader.ReadInt32();
var m_UpdateWhenOffscreen = reader.ReadBoolean();
var m_SkinNormals = reader.ReadBoolean(); //3.1.0 and below
reader.AlignStream();
if (version < (2, 6)) //2.6 down
{
var m_DisableAnimationWhenOffscreen = new PPtr<Animation>(reader);
}
m_Mesh = new PPtr<Mesh>(reader);
var numBones = reader.ReadInt32();
m_Bones = new List<PPtr<Transform>>();
for (var b = 0; b < numBones; b++)
{
m_Bones.Add(new PPtr<Transform>(reader));
}
if (version >= (4, 3)) //4.3 and up
{
m_BlendShapeWeights = reader.ReadSingleArray();
}
}
}
}